Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Üzenetek - balintx

Oldalak: [1]
1
SA-MP: Szerverfejlesztés / Saját kezdetleges fórum
« Dátum: 2014. október 16. - 23:15:15 »
[quote author=krisk date=1413107769\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50972\" data-ipsquote-contentclass=\"forums_Topic\">vagy .[/quote]
https://news.ycombinator.com/item?id=4177516

2
Általános / Újabb RP szerverek indítása.
« Dátum: 2013. január 20. - 11:35:04 »
Engedjétek meg, hogy megosszam veletek tapasztalataimat, hogy szerintem miért van kevés egyedi RP szerver (mert a hazai szervertulajdonosok félnek, hogy üresen marad szerverük, ezért megpróbálják ellehetleníteni a próbálkozásokat)
Szerintem a magyar SA-MP közösség részére nem éri meg RP szervert készíteni.
 
Idézetet írta: Csabesz date=1313154987\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10369\" data-ipsquote-contentclass=\"forums_Topic
[4.] Egyedi RP szerverek


Na ebbõl elég kevés van, én így hirtelen csak 2t tudnék mondani, ami elég kevésnek számít. Igaz ez a szám mit sem jelent, mert a 3. Pontba megcélzott szerverek is egyedi alapon futnak, attól eltekintve hogy mindegyik egy \'kezdetleges\' RP módból íródott.
Az újonnan írott módok és az egyedi kivitelezéseknek nagy jelentõsége van. Ha egy játékos új dolgot vél felfedezni az egyik szerveren ami még meg is teszik neki, akkor lehetséges hogy a másik karakterét otthagyva, csatlakozik egy új közösséghez.
Hónapok munkája, teljesen nulláról írt mod, teljesen egyedi helyszínek, ötletek, mappolás, napi 6-8 óra munka után nyitottuk meg szerverünket egy \"látogatásra\", hogy majd ha megnyílik a szerver, a potenciális játékosok lássák, mi hol van, hogy mûködik. A ~30 playerbõl, akik feljöttek, volt kb. 5-6 cheater, voltak akik reportban próbálták nyalással elintézni a bejutásukat az admin csapatba, voltak persze értelmes emberek is (talán kettõ).
Nem hagyott alább a lendületünk, a szerver már futott tesztüzemben, ugyan még félkész moddal, ám megjelentek a \"hazai nagy\" RP szerverek képviselõi, a szokásos \"lopott mod\", \"édes anyátok\", stb szövegekkel. Az egész projekt így végzõdött:



[11:29:29] [join] Szokolai_Istvan has joined the server (0:81.183.9.80)
[11:29:32] Incoming connection: 91.147.255.74:51598
[11:29:35] Registering Szokolai_Istvan with password sajtos (whirlpool: 18915B6306660160674C022C4A255E90BBEBEAF446AEF701D8DDDAFC8E3C062525D0B39EA3E7BBCC2A2D75148A80BE5716F52ECE5A72A8C5D5EB46D02F777020)
[11:29:35] Query is INSERT INTO users (nev, jelszo, kor) VALUES (\'Szokolai_Istvan\', \'18915B6306660160674C022C4A255E90BBEBEAF446AEF701D8DDDAFC8E3C062525D0B39EA3E7BBCC2A2D75148A80BE5716F52ECE5A72A8C5D5EB46D02F777020\', 20)
[11:29:49] RCON (In-Game): Player #0 (Szokolai_Istvan) has logged in.
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: hostname [COPY] Littletown RPG -Tulaj Szokolai- 1.2 MOD
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: gamemodetext szarmod
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: mapname Littletown RPG Szokolai MODS
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: reloadlog
[11:29:49]
[11:29:49] ----------
[11:29:49] Reloaded log file: \"server_log.txt\".
[11:29:49] ----------
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: gravity 100
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: weather 1470
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: rcon_password szarfos
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: say császtok buzik by Szokolai ! Ennyit rólatok ti büdös copy-is faszok...
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: say Hogy kinek is köszönhetitek a feltörlést? Köcsög tulajotoknak aki saját szerójának árt,kezdhedsz maragyarázkodni köcsö
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: Tudom a FTP Web et is fasszapók ennyit tulajotokról köszönjétek Bernandonak...
[11:29:49] RCON (In-Game): Player [szokolai_Istvan] sent command: Gyertek Littletown RPG Eredeti MOD!  91.82.84.203:2223
[11:30:09] Incoming connection: 193.91.86.124:59077
[11:30:10] [join] Szilvasi_Danika has joined the server (1:193.91.86.124)
[11:30:14] Registering Szilvasi_Danika with password Buzik (whirlpool: BC4BF283BDAA8F6E353009FB5A097EDDFEF18E3C1B346A57EC991D7F8F3745682B495BC1FFDF19E25DE142D9EF6FE4B69FD4683D130A5896670E31FCE4359747)
[11:30:14] Query is INSERT INTO users (nev, jelszo, kor) VALUES (\'Szilvasi_Danika\', \'BC4BF283BDAA8F6E353009FB5A097EDDFEF18E3C1B346A57EC991D7F8F3745682B495BC1FFDF19E25DE142D9EF6FE4B69FD4683D130A5896670E31FCE4359747\', 20)
[11:30:39] [part] Szilvasi_Danika has left the server (1:1)
[11:31:28] [part] Szokolai_Istvan has left the server (0:1)
[11:32:19] Incoming connection: 81.183.9.80:23877
[11:32:19] [join] Szokolai_Istvan has joined the server (0:81.183.9.80)
[11:32:38] RCON (In-Game): Player #0 (Szokolai_Istvan) <******> failed login.
[11:33:42] [part] Szokolai_Istvan has left the server (0:1)
[11:35:20] Incoming connection: 81.183.9.80:23896
[11:35:20] [join] Szokolai_Istvan has joined the server (0:81.183.9.80)
[11:36:16] Incoming connection: 91.147.255.74:65005
[11:36:17] [part] Szokolai_Istvan has left the server (0:1)
[11:36:40] Incoming connection: 81.183.9.80:23897
[11:36:40] [join] Szokolai_Istvan has joined the server (0:81.183.9.80)
[11:36:41] Incoming connection: 193.91.86.124:59078
[11:36:41] [join] Carlos_Tom has joined the server (2:193.91.86.124)
[11:36:51] Registering Carlos_Tom with password Buzik (whirlpool: BC4BF283BDAA8F6E353009FB5A097EDDFEF18E3C1B346A57EC991D7F8F3745682B495BC1FFDF19E25DE142D9EF6FE4B69FD4683D130A5896670E31FCE4359747)
[11:36:51] Query is INSERT INTO users (nev, jelszo, kor) VALUES (\'Carlos_Tom\', \'BC4BF283BDAA8F6E353009FB5A097EDDFEF18E3C1B346A57EC991D7F8F3745682B495BC1FFDF19E25DE142D9EF6FE4B69FD4683D130A5896670E31FCE4359747\', 20)
[11:36:52] RCON (In-Game): Player #0 (Szokolai_Istvan) <*****> failed login.
[11:37:00] [part] Szokolai_Istvan has left the server (0:1)
[11:37:01] RCON (In-Game): Player #1 (Scott_Cosgrove) has logged in.
[11:37:05] RCON (In-Game): Player #2 (Carlos_Tom) has logged in.
[11:37:13] Incoming connection: 81.183.89.159:58127
[11:37:13] [join] Szilvasi_Danika has joined the server (0:81.183.89.159)
[11:37:20] RCON (In-Game): Player [scott_Cosgrove] sent command: say Szasztok buzik!!!!!!!!!! Szokolaié a hatalom!
[11:37:30] Incoming connection: 81.183.9.80:23898
[11:37:30] [join] Szokolai_Istvan has joined the server (3:81.183.9.80)
[11:37:31] [part] Szilvasi_Danika has left the server (0:2)
[11:37:47] RCON (In-Game): Player #3 (Szokolai_Istvan) has logged in.
[11:37:48] RCON (In-Game): Player [scott_Cosgrove] sent command: echo SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:48] SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:49] RCON (In-Game): Player [scott_Cosgrove] sent command: echo SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:49] SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:50] RCON (In-Game): Player [scott_Cosgrove] sent command: echo SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:50] SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:50] RCON (In-Game): Player [scott_Cosgrove] sent command: echo SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:50] SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:50] RCON (In-Game): Player [scott_Cosgrove] sent command: echo SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:50] SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:51] RCON (In-Game): Player [scott_Cosgrove] sent command: echo SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:51] SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:51] RCON (In-Game): Player [scott_Cosgrove] sent command: echo SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:51] SZAROK VAGYTOK!! SZOKOLAIÉ A HATALOM
[11:37:55] Incoming connection: 91.147.217.40:57690
[11:37:55] [join] Mac_Taylor has joined the server (0:*******)
[11:38:05] RCON (In-Game): Player [szokolai_Istvan] sent command: admin
[11:38:11] RCON (In-Game): Player [szokolai_Istvan] sent command: admin szokolai 1
[11:38:17] [part] Mac_Taylor has left the server (0:1)
[11:38:21] RCON (In-Game): Player [szokolai_Istvan] sent command: reloadlogs
[11:38:47] RCON (In-Game): Player [scott_Cosgrove] sent command: reloadlog
[11:38:47]
[11:38:47] ----------
[11:38:47] Reloaded log file: \"server_log.txt\".
[11:38:47] ----------
[11:39:02] [part] Scott_Cosgrove has left the server (1:1)
[11:39:08] RCON (In-Game): Player [Carlos_Tom] sent command: reloadlog
[11:39:08]
[11:39:08] ----------
[11:39:08] Reloaded log file: \"server_log.txt\".
[11:39:08] ----------
[11:39:13] RCON (In-Game): Player [Carlos_Tom] sent command: reloadlog
[11:39:13]
[11:39:13] ----------
[11:39:13] Reloaded log file: \"server_log.txt\".
[11:39:13] ----------
[11:39:16] [part] Carlos_Tom has left the server (2:1)
[11:39:35] [part] Szokolai_Istvan has left the server (3:1)
[11:40:01] Incoming connection: 193.91.86.124:59079
[11:40:01] [join] Carlos_Tom has joined the server (0:193.91.86.124)
[11:40:02] Incoming connection: 81.183.9.80:23901
[11:40:02] [join] Szokolai_Istvan has joined the server (1:81.183.9.80)
[11:40:03] [part] Carlos_Tom has left the server (0:2)
[11:40:07] [part] Szokolai_Istvan has left the server (1:2)
[11:40:35] Incoming connection: 81.183.9.80:23902
[11:40:35] [join] Szokolai_Istvan has joined the server (0:81.183.9.80)
[11:41:00] Incoming connection: 193.91.86.124:59081
[11:41:00] [join] Carlos_Tom has joined the server (1:193.91.86.124)
[11:41:02] [part] Szokolai_Istvan has left the server (0:1)
[11:41:15] RCON (In-Game): Player #1 (Carlos_Tom) has logged in.
[11:41:23] Incoming connection: 81.183.9.80:23908
[11:41:23] [join] Szokolai_Istvan has joined the server (0:81.183.9.80)
[11:41:25] RCON (In-Game): Player [Carlos_Tom] sent command: passworld 
[11:41:31] RCON (In-Game): Player [Carlos_Tom] sent command: pasworld 
[11:41:32] RCON (In-Game): Player [Carlos_Tom] sent command: pasworld 
[11:41:43] RCON (In-Game): Player [Carlos_Tom] sent command: gmx
[11:41:55] ****: 216 jarmu betoltve
[11:41:55] ****: 216 jarmu lespawnolva
[11:41:55]
----------------------------------
[11:41:55]  **** RolePlay mod V1
[11:41:55] ----------------------------------
[11:41:55] Number of vehicle models: 41
[11:42:05] [part] Szokolai_Istvan has left the server (0:0)
[11:42:18] Incoming connection: 81.183.9.80:23909
[11:42:18] [join] Szokolai_Istvan has joined the server (0:81.183.9.80)
[11:42:30] RCON (In-Game): Player #0 (Szokolai_Istvan) has logged in.
[11:42:38] RCON (In-Game): Player [Carlos_Tom] sent command: login szarfos
[11:42:58] RCON (In-Game): Player [Carlos_Tom] sent command: passworld 
[11:43:04] RCON (In-Game): Player [szokolai_Istvan] sent command: admin
[11:43:11] RCON (In-Game): Player [szokolai_Istvan] sent command: admin
[11:43:19] RCON (In-Game): Player [szokolai_Istvan] sent command: admins
[11:43:24] RCON (In-Game): Player [szokolai_Istvan] sent command: admin szokolai 1
[11:43:33] RCON (In-Game): Player [szokolai_Istvan] sent command: reloadlogs
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: hostname [COPY] Littletown RPG -Tulaj Szokolai- 1.2 MOD
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: gamemodetext szarmod
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: mapname Littletown RPG Szokolai MODS
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: reloadlog
[11:43:36]
[11:43:36] ----------
[11:43:36] Reloaded log file: \"server_log.txt\".
[11:43:36] ----------
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: gravity 100
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: weather 1470
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: rcon_password szarfos
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: say császtok buzik by Szokolai ! Ennyit rólatok ti büdös copy-is faszok...
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: say Hogy kinek is köszönhíetitek a feltörlést? Köcsög tulajotoknak aki saját szerójának árt,kezdhedsz maragyarázkodni köcs
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: Tudom a FTP Web et is fasszapók ennyit tulajotokról köszönjétek Bernandonak...
[11:43:36] RCON (In-Game): Player [szokolai_Istvan] sent command: Gyertek Littletown RPG Eredeti MOD!  91.82.84.203:2223
[11:43:59] RCON (In-Game): Player [Carlos_Tom] sent command: makeadmin
[11:44:08] RCON (In-Game): Player [szokolai_Istvan] sent command: ban Ber
[11:44:08] Szokolai_Istvan <#0 - 81.183.9.80> has been banned.

 
 
Ilyeneknek szervert csinálni? Erre nem éri meg heteket áldozni az életedbõl. Aki normális RP-t akar az játsszon külföldi szerveren. A többieknek meg jók ezek a \"jó kis\" magyar szerverek, gerinces tulajokkal, stb.
Disclaimer:
a fenti dolgokat csupán tanulságként osztottam meg. Ha szabályzatba ütköznek, vagy egyéb okokból nem elfogadható a hozzászólásom, megkérnék egy moderátort hogy PM-ben értesítsen róla.

4
Segítségkérés / logontime = jailtime? MIVAAAAAAAAAAAN?
« Dátum: 2013. január 19. - 22:34:45 »
Zsolesszka, hát.. sok álmatlan éjszakától mentettél meg engem.
Összekevertem kicsit az enum-ot a structtal, és azt hittem default valuet adok meg neki:D
Hát nagyon köszi :D

5
Segítségkérés / logontime = jailtime? MIVAAAAAAAAAAAN?
« Dátum: 2013. január 19. - 20:05:46 »
Idézetet írta: Casamiro date=1358622085\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"32687\" data-ipsquote-contentclass=\"forums_Topic


            iPlayer[jailtime] = a;
            printf(\"opl jailtime: %d\", iPlayer[jailtime]);

Így gondolod?
 
Nem! a logontime-t írja át, mint látszik is, 0-ra. Holott a jailtime-t kéne neki átírnia.

6
Segítségkérés / logontime = jailtime? MIVAAAAAAAAAAAN?
« Dátum: 2013. január 19. - 19:47:43 »
Üdv!
Valakinek van ötlete ehhez? Engem már szétvet az ideg.
Ha értéket adok a pInfo[playerid][jailtime]-nak, azt a pInfo[playerid][logontime] kapja meg.
 

            strcpy(temp, sprintf(\"%s/jailtime\", PName[playerid]));
            printf(\"%s\", temp);
            new a = djInt(userdb, temp);
            printf(\"opl logontime: %d\", iPlayer[logontime]);
            printf(\"jailtime: %d\", a);
            iPlayer[jailtime] = a;
            printf(\"opl logontime: %d\", iPlayer[logontime]);

 
    eredmeny:
 
    bundaskenyer/jailtime
    opl logontime: 1358620879
    jailtime: 0
    opl logontime: 0

 
Deklarálások:
 
#define iPlayer pInfo[playerid]
enum PLAYER_ENUM {
jailtime = 0,
level = 0,
job = 0,
money = 0,
repulesiengedely = 0,
buntetes = 0,
mute = 0,
logontime = 0,
locked_veh,
lock_type,
IP[16]
};
new pInfo[MAX_PLAYERS][PLAYER_ENUM];

7
Hivatalos fórumról áthozott szkriptek / ZCMD_fixed (0.3.1)
« Dátum: 2013. január 19. - 00:34:54 »
Idézetet írta: hegdavid95 date=1358551716\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"32537\" data-ipsquote-contentclass=\"forums_Topic
strins kb 2x olyan gyors de mindegy.
A format-nál elképzelhetõ, de ahogy most átalakítottam így már nem lenne gyorsabb. Ugyanis így direktbe beírja a szöveget az arraybe, míg a másik megoldással ezután még meg kell hívni az strins-t, ami átmásolgatja a cellákat...
Még egy tipp esetleg
while (cmdtext[pos] == \' \') pos++;
helyett lehetne használni
pos = strfind(...) ot is szerintem, mivel ha jól értelmezem akkor ez megkeresi az elsõ szóközt. és az strfind pedig visszatér a legelsõ találat pozíciójával a szövegben 0 hogy ha a legelsõ karakter az 1 hogy ha a 2. és így tovább.
Ha pedig nem talál sehol ilyet, akkor -1 el tér vissza.
 
[/quote]Ennek pedig azért nincs értelme, mert a pos már úgyis tartalmazza azt a karaktert, ami a szóköz ascii értékénél nem nagyobb. Tehát nagy valószínûséggel egy szóköz vagy NULL karakter van benne. strfind pedig az elejétõl vizsgálná meg az egész stringet, ami lássuk be megint nem valami gyors megoldás.. arról nem beszélve hogy a stringet még át kell küldeni a native-nak, ami szintén idõ.

8
Hivatalos fórumról áthozott szkriptek / ZCMD_fixed (0.3.1)
« Dátum: 2013. január 19. - 00:30:52 »
Idézetet írta: ɐʞzssǝlosz date=1358551191\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"32537\" data-ipsquote-contentclass=\"forums_Topic
Azért fura hogy, pont ilyen eljárással publikáltam korábban egy zcmd módosítást. Na mindegy.
http://sampforum.hu/index.php?topic=32138.0
Edit:
Azért szép munka, lehet nem is láttad és pont ugyanazt találtad ki.
 
Ezt még tavaly írtam, aztán abbahagytam a samp-ot, most visszatértem egy projekt miatt és gondoltam megosztom a többiekkel.
Rákerestem fórumon a zcmd -re, includeok között is néztem de semmit nem találtam. Ezért raktam fel.
Egyébként ha megnézed, azért más elven mûködik a kettõ, én például nem vagyok benne biztos hogy a tolower az ékezetes betûket is átalakítja [vagyis hogy ascii-ban nagyobb az értékük mint 32 (space)].
Fogalmam sem volt, hogy valaki már hasonlót megírt :)

9
Hivatalos fórumról áthozott szkriptek / ZCMD_fixed (0.3.1)
« Dátum: 2013. január 19. - 00:24:45 »
Idõközben megszületett a javítás, eredeti postban frissítettem a linket. Tesztelve. mostmár nem kell format -ot használnunk (-1 native hívás, valószínûleg ->profit)
 
        funcname[MAX_FUNC_NAME] = \"cmd_\";
      while (cmdtext[++pos] > \' \')
{
switch (cmdtext[pos])
{
   case \'á\',\'Á\': funcname[pos+3] = \'a\';
   case \'é\',\'É\': funcname[pos+3] = \'e\';
   case \'í\',\'Í\': funcname[pos+3] = \'i\';
   case \'ó\',\'ö\',\'õ\',\'Ó\',\'Ö\',\'Õ\': funcname[pos+3] = \'o\';
   case \'ú\',\'ü\',\'û\',\'Ú\',\'Ü\',\'Û\': funcname[pos+3] = \'u\';
   default: funcname[pos+3] = tolower(cmdtext[pos]);
}
}

10
Hivatalos fórumról áthozott szkriptek / ZCMD_fixed (0.3.1)
« Dátum: 2013. január 19. - 00:14:10 »
Az eredeti változatban ugyanez a sor szerepel, így nem változtattam. Majd megnézem hogy lehet gyorsítani rajta. Bár szerintem nem érdemes

11
Hivatalos fórumról áthozott szkriptek / ZCMD_fixed (0.3.1)
« Dátum: 2013. január 16. - 20:36:55 »
Idézetet írta: DrAkE date=1358364550\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"32537\" data-ipsquote-contentclass=\"forums_Topic
Nem kellene azért kiszedni a FILTERSCRIPT makrót, ugyanis így még a filterscriptben is lesz OnGameModeInit eljárás, ami szinte szükségtelen, ezen felül több minden kerül beágyazásra (nem mint ha sokat fordítana).
 
Filterscriptben hiába van OnGameModeInit és OnGameModeExit, sosem hívódik meg. Ugyanígy gamemode-ban az OnFilterScriptInit és az OnFilterScriptExit sem.
Ha figyelembe vesszük, hogy úgysem hívódik meg, az a pár bájt nem sokat zavar az amx fájlban viszont elég sok kellemetlen perctõl szabadulunk meg ezzel. (Személy szerint értelmetlennek tartom a FILTERSCRIPT makró használatát mindenhol)

12
Hivatalos fórumról áthozott szkriptek / ZCMD_fixed (0.3.1)
« Dátum: 2013. január 16. - 18:17:02 »
Hát hova? Ez egy include.

13
Hivatalos fórumról áthozott szkriptek / ZCMD_fixed (0.3.1)
« Dátum: 2013. január 16. - 18:12:28 »
(A fordítás eredetije megtalálható a http://forum.sa-mp.com/showthread.php?t=91354 oldalon. A módosításokat a fordítás végén közlöm)
Leírás
Ez egy kis include, ami az OnPlayerCommandText() callback-et használja a játékosok parancsainak feldolgozására. Minden parancsnak van egy külön funkciója, mint a dcmd-ben, de a zcmd követlenül hívja meg a CallLocalFunction() segítségével. Ez a módszer sokkal gyorsabb, mintha egymás után hasonlítanád össze a szövegeket a beírt paranccsal minden egyes scriptedben lévõ parancsnál (különösen ha egy nem létezõ parancsot ír be a játékos, az összeset végignézi) valamint a fölénye a régi változattal szemben egyenesen arányos a parancsok számával. Készítettem egy sebesség tesztet amikor még csak gondolkoztam ezen a dolgon, az eredményei megtalálhatóak itt.
Használat
Egy parancs létrehozásához csupán egy public funkciót kell létrehoznod egy speciális elõredefiniált makró segítségével, így:
 

COMMAND:parancsom(playerid, params[]) // vagy CMD:parancsom(playerid, params[])
{
  // Csinalj valamit
  return 1;
}

 
vagy (régi mód):
 

command(parancsom, playerid, params[]) // or cmd(parancsom, playerid, params[])
{
  // Csinalj valamit
  return 1;
}

 
Itt a params[] egy string ami a paramétereket tartalmazza, a playerid az ID-je a játékosnak, aki ezt a parancsot beírta.
Ez minden! Nagyon egyszerû, ugye?
 
  Fontos: A 0.3-as verzió óta az OnPlayerCommandText nem használható többé (a ZCMD_NO_CALLBACK opció is el lett távolítva), de van helyette 2 új callback:
 
 OnPlayerCommandReceived(playerid, cmdtext[])

 
Ez akkor hívódik meg, mikor a játékos beír egy parancsot. Ha itt return 0 -val térünk vissza, a parancs nem kerül feldolgozásra.
 
 OnPlayerCommandPerformed(playerid, cmdtext[], success)

 
Ez pedig a parancs lefutása után hívódik meg, ha itt return 0 -val térünk vissza, a játékos a szokásos \"SERVER: Unknown command\" üzenetet fogja megkapni. A \"success\" paraméter az az érték, amivel a parancs funkciója visszatér (ha nincs ilyen funkció, a success értéke 0).
Ezeket a callback-eket nem szükséges beleírni a scriptedbe, ha nem használod õket.
  Hogy csináljunk két különbözõ parancsot, amik ugyanazt teszik
Például, van egy /valami parancs:
 

COMMAND:valami(playerid, params[])
{
  // valami dolog itt
  return 1;
}

 
és szeretnél egy másikat is csinálni, pl. /masik ami azt csinálja, amit a /valami csinál. A legegyszerûbb módja ennek:
 

COMMAND:masik(playerid, params[])
{
  return cmd_valami(playerid, params);
}

 
  Megjegyzés #1: Ha a zcmd-t egy filterscriptben szeretnéd használni, include elé szúrd be ezt a define-t:(a javított kiadásban erre nincs szükség)
 
#define FILTERSCRIPT

 
  Megjegyzés #2: Ha meg szeretnéd vizsgálni, hogy a \"params\"(paraméterek) string üres-e, ne így tedd:
 

if (!strlen(params))
{
  // nincs parameter
}

 
vagy:
 

if (!params[0])

 
mivel a string hossza sosem nulla (errõl bõvebben: itt), egyszerûen használd a zcmd-be épített isnull() függvényt:
 

if (isnull(params))

 
Tulajdonképpen, ha az sscanf-et használod, nem kell elvégezned ezt az ellenõrzést, mivel abban van beépített \"isnull\" vizsgálat.
Itt egy példa, hogyan készíthetünk egy /givemoney parancsot zcmd és sscanf használatával:
 

COMMAND:givemoney(playerid, params[])
{
if (IsPlayerAdmin(playerid))
{
new
  kinek, // a jatekos, akinek a penzt szeretnenk adni
  mennyit;
// a jatekos ID-je es a mennyiseg kinyerese a parameterekbol:
if (!sscanf(params, \"ui\", kinek, mennyit))
{
  if (kinek != INVALID_PLAYER_ID)
  {
    new
      uzenet[40];
    GivePlayerMoney(kinek, mennyit);
    format(uzenet, sizeof(uzenet), \"Kaptál $%d-t az admintól!\", mennyit);
    SendClientMessage(kinek, 0x00FF00FF, uzenet);
  }
  else SendClientMessage(playerid, 0xFF0000FF, \"A játékos nem elérhetõ\");
}
else SendClientMessage(playerid, 0xFFFFFFFF, \"Használat: /givemoney <játékosnév/id> <mennyiség>\");
}
else SendClientMessage(playerid, 0xFF0000FF, \"Csak adminisztrátorok használhatják ezt a parancsot!\");
return 1;
}

 


Változtatások balintx által
A ZCMD_fixed két fõ változtatást foglal magában:
 
  • Mostantól nincs szükség a FILTERSCRIPT makró definiálására, ha filterscriptben kívánjuk használni a zcmd-t.
    Nem csak felesleges, de biztosan volt már, hogy elfelejtkeztünk róla és nem értettük miért nem mûködnek parancsaink.

  • ZCMD mostantól támogatja a magyar ékezetes parancsokat.
    Ennek mûködése:

  1. a játékos által beírt parancs ékezetes betûinek ékezet nélkülivé alakítása

  2. az ékezet nélkülivé alakított parancs funkciójának meghívása


Használatához nem kell átírni a már létezõ modokat, csupán újra kell fordítani a zcmd_fixed.inc -el.
Példa a használatra:
 

CMD:jatekosnev(playerid, params[])
{
    szUzenet[MAX_PLAYER_NAME + 12];
    strcat(szUzenet, \"* Neved: \");
    GetPlayerName(playerid, szUzenet[9], MAX_PLAYER_NAME);
    SendClientMessage(playerid, -1, szUzenet);
    return 1;
}

 

  • a fenti kód le fog futni a /jatekosnev, /játékosnév parancsokra is.

Letöltés
 
/**********************************
*                                *
*   @Author:      ZeeX           *
*   @Version:     0.3.1          *
*   @Released:    31/10/2009     *
*                                *
**********************************/
// Edited by KoczkaHUN
//
// Now it supports Hungarian language
// and you do not have to use the
// FILTERSCRIPT define before
// #include-ing zcmd.
//
// Created 17/05/2012
#if defined _zcmd_included
#endinput
#endif
#define _zcmd_included
#define MAX_FUNC_NAME (32)
#define COMMAND:%1(%2)          \\
   forward cmd_%1(%2); \\
   public cmd_%1(%2)
#define CMD:%1(%2) \\
   COMMAND:%1(%2)
#define command(%1,%2,%3) \\
   COMMAND:%1(%2, %3)
#define cmd(%1,%2,%3) \\
   COMMAND:%1(%2, %3)
#if !defined isnull
#define isnull(%1) \\
      ((!(%1[0])) || (((%1[0]) == \'\\1\') && (!(%1[1]))))
#endif
 
forward OnPlayerCommandReceived(playerid, cmdtext[]);
forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
 
static
bool:zcmd_g_HasOPCS = false,
bool:zcmd_g_HasOPCE = false;
 
public OnFilterScriptInit()
{
zcmd_g_HasOPCS = funcidx(\"OnPlayerCommandReceived\") != -1;
zcmd_g_HasOPCE = funcidx(\"OnPlayerCommandPerformed\") != -1;
    return CallLocalFunction(\"zcmd_OnFilterScriptInit\", \"\");
}
#if defined _ALS_OnFilterScriptInit
    #undef OnFilterScriptInit
#else
    #define _ALS_OnFilterScriptInit
#endif
#define OnFilterScriptInit zcmd_OnFilterScriptInit
forward zcmd_OnFilterScriptInit();
public OnGameModeInit()
{
zcmd_g_HasOPCS = funcidx(\"OnPlayerCommandReceived\") != -1;
zcmd_g_HasOPCE = funcidx(\"OnPlayerCommandPerformed\") != -1;
if (funcidx(\"zcmd_OnGameModeInit\") != -1)
{
return CallLocalFunction(\"zcmd_OnGameModeInit\", \"\");
}
return 1;
}
#if defined _ALS_OnGameModeInit
    #undef OnGameModeInit
#else
    #define _ALS_OnGameModeInit
#endif
#define OnGameModeInit zcmd_OnGameModeInit
forward zcmd_OnGameModeInit();
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (zcmd_g_HasOPCS && !CallLocalFunction(\"OnPlayerCommandReceived\", \"is\", playerid, cmdtext))
    {
        return 1;
    }
    new
        pos,
        funcname[MAX_FUNC_NAME] = \"cmd_\";
      while (cmdtext[++pos] > \' \')
{
switch (cmdtext[pos])
{
   case \'á\',\'Á\': funcname[pos+3] = \'a\';
   case \'é\',\'É\': funcname[pos+3] = \'e\';
   case \'í\',\'Í\': funcname[pos+3] = \'i\';
   case \'ó\',\'ö\',\'õ\',\'Ó\',\'Ö\',\'Õ\': funcname[pos+3] = \'o\';
   case \'ú\',\'ü\',\'û\',\'Ú\',\'Ü\',\'Û\': funcname[pos+3] = \'u\';
   default: funcname[pos+3] = tolower(cmdtext[pos]);
}
}
while (cmdtext[pos] == \' \') pos++;
if (!cmdtext[pos])
{
if (zcmd_g_HasOPCE)
{
   return CallLocalFunction(\"OnPlayerCommandPerformed\", \"isi\", playerid, cmdtext, CallLocalFunction(funcname, \"is\", playerid, \"\\1\"));
}
return CallLocalFunction(funcname, \"is\", playerid, \"\\1\");
}
if (zcmd_g_HasOPCE)
{
return CallLocalFunction(\"OnPlayerCommandPerformed\", \"isi\", playerid, cmdtext, CallLocalFunction(funcname, \"is\", playerid, cmdtext[pos]));
}
return CallLocalFunction(funcname, \"is\", playerid, cmdtext[pos]);
}
#if defined _ALS_OnPlayerCommandText
    #undef OnPlayerCommandText
#else
    #define _ALS_OnPlayerCommandText
#endif
#define OnPlayerCommandText zcmd_OnPlayerCommandText
forward zcmd_OnPlayerCommandText(playerid, cmdtext[]);

 

Legal
Az eredeti include Zeex tulajdona.
Az eredeti publikáció itt megtalálható: http://forum.sa-mp.com/showthread.php?t=91354
A módosítás az utolsó, 0.3.1-es zcmd változathoz készült.

14
Általános / [DISCUSSION] [EMR]Emergency v3 Remake
« Dátum: 2013. január 16. - 17:14:10 »
Idézetet írta: Gentleman date=1358284473\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"32510\" data-ipsquote-contentclass=\"forums_Topic
Én igazából ezt mindig ilyen gyenge RP és CnR átfedésnek tartottam.
 
Az is volt. De olyan hangulata volt a szervernek, amit azóta semmi nem tudott visszaadni.

Ha most ott tartunk hogy [EMR], akkor már [RBT], vagy [RTB]
Ezek mind jó szerverek voltak.
 
[/quote]Én egyedül az RPT-rõl hallottam, bár az számomra nem merítette ki a \"jó szerver\" kategóriát.
Mellesleg szerintem az EMR megint hiánypótló lenne, ha körbenézek a szerverlistában mindenütt freeroam vagy strict/non rp.. az átlagszínvonalról nem is beszélve.

15
Általános / [DISCUSSION] [EMR]Emergency v3 Remake
« Dátum: 2013. január 15. - 22:01:59 »
Üdv mindenkinek!
\"Vita\"-topikom elsõsorban azoknak szól majd, akik emlékeznek még a több mint 2 éve bezárt EMR (Emergency) szerverére.
Leginkább azoknak, akik adminok voltak ott, vagy gyakran feljáró civilek.
Az akkori modot Hambi készítette, az Õ döntése volt a szerver bezárása és az is, hogy elforduljon a játékosoktól. Így a szerver és sokak számára a SAMP is feledésbe merült.
Idõvel többekben visszatértek a régi emlékek, és a vágy egy esetleges újranyitásra. Gamemode hiányában azonban erre nem volt lehetõségünk, Hambi pedig sehol nem elérhetõ.
Elérkeztünk 2013 januárjához, amikor a gondolatok tettekké alakultak. Több régi EMR tag felvette egymással a kapcsolatot, és elkezdtük megcsinálni a mod remake-jét.
Ez nem egy olyan mod lesz, ami csak hasonlít az eredetire, esetleg más néven, hanem amennyire csak lehet szeretnénk pontosan visszaadni az eredeti EMR feelinget. Így a cél a legutolsó hivatalos (v3) mod újraírása.
Azonban az évek alatt mindenki rengeteget felejtett, és bár többünknek rendelkezésre áll tengernyi screenshot és emlék, vannak olyan dolgok amikre már mi sem emlékszünk.
A két fõ ok, amiért e topic létrejött:
- Minden információ, screenshot, videó kell, amibõl többet tudunk meg a mod mûködésérõl. Ha birtokában álltok ilyeneknek, ne habozzatok a megosztásával! Ha te már nem is akarsz többet az EMR-en játszani, nekünk sokat segítenél vele, gyorsabban elkészülhetne a mod.
- A szerverre leginkább a régi játékosokat várjuk. Akik régen EMR-esek voltak, és szeretnének csatlakozni az adminokhoz, természetesen várjuk õket, hisz a klánt is újra szeretnénk éleszteni. Ez a topic arra is jó, hogy felvegyük egymással a kapcsolatot, nosztalgiázzunk a régi dolgokon. Az új játékosokat természetesen ugyanúgy szeretettel fogadjuk.
Szeretnék megkérni mindenkit, hogy tekintsen el a régen szerzett sérelmeitõl, melyek az EMR-hez köthetõek. Rengeteg idõ telt el, sok mindenki változott, nem lenne jó ha a topic tele lenne anyázásokkal, hogy az adminok mekkora ilyen-olyanok voltak. Sok régi játékosunk, akik akkoriban szidalmazták a szervert, jelezte hogy jönnének, ha ismét lenne EMR. Ez sokat jelent.
Ha a topic kicsit beindul, itt lesz egy állapot, amin keresztül nyomon lehet követni a mod állását, valamint hamarosan kikerülnek azok az információk is, amelyekrõl nincsenek pontos adataink. Ti segíthettek!
2rGV82g2hFI
\"30tzi.jpg\"
\"fgAgN.png\"
\"YQPdI.png\"
\"clS2D.png\"
\"fJdVs.jpg\"
\"V4DAU.png\"
Hamarosan EMR! (ha ti is akarjátok)

Oldalak: [1]
SimplePortal 2.3.7 © 2008-2024, SimplePortal