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.
Üdv készítettem számotokra egy MD5 hash plugint! Használata igen egyszerû. Készítõ: DrAkE Verzió: 1.0.0.0 Program: Microsoft Visual Studio 2010 Professional Figyelem! Ha a plugin nem menne akkor .NET Framework 4.0 letöltése kötelezõ! Használata: [pawn]native MD5_Hash(tarolo[ ], const szoveg[ ], hossz = sizeof(tarolo));[/pawn]
new teszt[HASH_LENGHT]; MD5_Hash(teszt, \"szoveg\");
Üdvözöllek titeket. Ma egy egyszerû, ám nagyszerû függvényt akarok nektek bemutatni. Ha nincs kedvetek áttérni parancs feldolgozó függvénykönyvtárakra, és szeretnél maradni a régi és könnyû parancsoknál akkor ezt neked találták ki! A neve GetCommandParams. Ennek a segítségével könnyen feldarabolhatod az OnPlayerCommandTextben meghívott parancsokat. Használata igen egyszerû:
Amint láthatjátok a parancsot nem a cmdtextben keressük, hanem az ún. \"funcname\" változóban. Ha a bevitt parancsnak van paraméterei akkor azt könnyen fellehet darabolni. A paramétereket a \"par\" nevû változóban tárolja! Nézzünk egy példát:
// This is a comment // uncomment the line below if you want to write a filterscript //#define FILTERSCRIPT
#if defined FILTERSCRIPT
#else main() { print(\"\\n----------------------------------\"); print(\" Blank Gamemode by your name here\"); print(\"----------------------------------\\n\"); } #endif
public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnVehicleMod(playerid, vehicleid, componentid) { return 1; } public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { return 1; } public OnVehicleRespray(playerid, vehicleid, color1, color2) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { return 1; } public OnPlayerStreamIn(playerid, forplayerid) { return 1; } public OnPlayerStreamOut(playerid, forplayerid) { return 1; } public OnVehicleStreamIn(vehicleid, forplayerid) { return 1; } public OnVehicleStreamOut(vehicleid, forplayerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; }
Mibõl gondolod hogy gyors? Nem látom az eredményeket, de az biztos hogy egyszerû. Feleslegesnek találom a függvénykönyvtár ellenõrzését, és az \'endinput\' irányelvet. Elég lenne ha a_samp.inc függvénykönyvtár alá helyezzük a drcmd-t. Másrészt ha használni szeretném az OnPlayerCommandText eljárást akkor ALS is kéne.
Hát nem tudom hogy vagy vele. De endinput azért kell hogy ne hívják meg kétszer vagy esetleg többször a függvényt. Illetve az OnPlayerCommandText a DRCMD használata mellet továbbra is ugyanúgy szuperál (http://wiki.sa-mp.com/wiki/Keywords:Directives#.23endinput ha esetleg nem tudnád az endinput jelentését) Illetve itt a gyorsasága:
Szóközt nem hiszem hogy elfogad. Mivel a szóköz utáni szöveget már paraméternek veszi. De sscanf-al szépen fellehet bontani, ahogy azt mutattam a leírásban. U.I.: Megjelent az 1.1!
Leírás Nos szerintem mindenki ismeri a parancs feldolgozókat. Céljuk minél gyorsabban és a legegyszerûbb módon kezelni a scripterek/játékosok számára a parancsokat. Mivel ez a parancs feldolgozó nem használ összehasonlító elemzéseket, hanem egybõl meghívja a funkciót, ezáltal gyors. Használata igen egyszerû, és könnyedén darabolhatjuk fel a paramétereket! Használat Nézzünk elõször is egy könyebb példát:
Szinonimái Ha leakarod cserélni a mostani parancs feldolgozód (például ZCMD), akkor lehetõséged van ezt könnyen megtenni. Csak fogod kiveszed a ZCMD-t és helyette berakod a DRCMD-t. A DRCMD ugyanis tartalmazza a ZCMD-ben található makrókat, így szinte még csak cserélgetned se kell a dolgokat! Szinonimái: