if(gTeam[playerid] == TEAM_COP)
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xa61515FF, \"Hiba: Te nem vagy RCON admnisztrátor!\");
if(gTeam[playerid] != TEAM_COP) return SendClientMessage(playerid, 0xa61515FF, \"Hiba: Te nem vagy rendõr!\");
//KÉSZÍTÕ: STRICICA#define FILTERSCRIPT#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == \'\\0\') && (dcmd_%1(playerid, \"\"))) || (((%3)[(%2) + 1] == \' \') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1#include <a_samp>public OnPlayerCommandText(playerid, cmdtext[]){dcmd(bilincs, 7, cmdtext);dcmd(elenged, 7, cmdtext);dcmd(betesz, 6, cmdtext);dcmd(lecsuk, 6, cmdtext);dcmd(say, 3, cmdtext);dcmd(szolgalat, 9, cmdtext);dcmd(policehelp, 10, cmdtext);return 0;}dcmd_bilincs(playerid, params[]){new giveplayerid;if (sscanf(params, \"u\", giveplayerid)) SendClientMessage(playerid, 0xa61515FF, \"Használat: /bilincs [playerid]\");else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xa61515FF, \"Hiba: Nincs ilyen játékos!\");else{ if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xa61515FF, \"Hiba: Te nem vagy RCON admnisztrátor!\");new name[MAX_PLAYER_NAME],string[200];GetPlayerName(playerid, name, sizeof(name));format(string, sizeof string, \"%s megbilincselt egy civilt!\", name); SendClientMessageToAll(0xB3D5B2AA,string); TogglePlayerControllable(giveplayerid,0);}return 1;}dcmd_elenged(playerid, params[]){new giveplayerid;if (sscanf(params, \"u\", giveplayerid)) SendClientMessage(playerid, 0xa61515FF, \"Használat: /elenged [playerid]\");else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xa61515FF, \"Hiba: Nincs ilyen játékos!\");else{ if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xa61515FF, \"Hiba: Te nem vagy RCON admnisztrátor!\");new name[MAX_PLAYER_NAME],string[200];GetPlayerName(playerid, name, sizeof(name));format(string, sizeof string, \"%s elengedett egy civilt!\", name); SendClientMessageToAll(0xB3D5B2AA,string); TogglePlayerControllable(giveplayerid,1);}return 1;}dcmd_betesz(playerid, params[]){new giveplayerid;if (sscanf(params, \"u\", giveplayerid)) SendClientMessage(playerid, 0xa61515FF, \"Használat: /betesz [playerid]\");else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xa61515FF, \"Hiba: Nincs ilyen játékos!\");else{ if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xa61515FF, \"Hiba: Te nem vagy RCON admnisztrátor!\"); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xa61515FF,\"Hiba: Te nem vagy jármûben!\"); new vehicleid; vehicleid = GetPlayerVehicleID(playerid);new name[MAX_PLAYER_NAME],string[200];GetPlayerName(playerid, name, sizeof(name));format(string, sizeof string, \"%s betett egy civilt a jármûvébe!\", name); SendClientMessageToAll(0xB3D5B2AA,string); PutPlayerInVehicle(giveplayerid, vehicleid, 2);}return 1;}dcmd_lecsuk(playerid, params[]){new giveplayerid;if (sscanf(params, \"u\", giveplayerid)) SendClientMessage(playerid, 0xa61515FF, \"Használat: /lecsuk [playerid]\");else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xa61515FF, \"Hiba: Nincs ilyen játékos!\");else{ if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xa61515FF, \"Hiba: Te nem vagy RCON admnisztrátor!\");new name[MAX_PLAYER_NAME],string[200];GetPlayerName(playerid, name, sizeof(name));format(string, sizeof string, \"%s lecsukott egy civilt 1 percre!\", name); SendClientMessageToAll(0xB3D5B2AA,string); SetPlayerPos(playerid,264.6288,77.5742,1001.0391); SetPlayerInterior(giveplayerid, 6); SetTimerEx( \"jail\", 60000, false, \"i\", giveplayerid); TogglePlayerControllable(giveplayerid,0);}return 1;}dcmd_say(playerid,params[]) {#pragma unused paramsif(IsPlayerAdmin(playerid)) {new aname[MAX_PLAYER_NAME];GetPlayerName(playerid, aname, sizeof(aname));if(!strlen(params)) return SendClientMessage(playerid, 0xa61515FF, \"Használat: /say [szöveg]\");new string[128]; format(string, sizeof(string), \"%s rendõrtiszt: %s\", aname, params[0] );return SendClientMessageToAll(0xB3D5B2AA,string);} else return SendClientMessage(playerid,0xa61515FF,\"Hiba: Te nem vagy RCON admnisztrátor!\");}dcmd_szolgalat(playerid,params[]) {#pragma unused paramsif(IsPlayerAdmin(playerid)) {SetPlayerColor(playerid, 0xB3D5B200);SetPlayerSkin(playerid, 282);ResetPlayerWeapons(playerid);GivePlayerWeapon(playerid, 24, 99999);GivePlayerWeapon(playerid, 26, 99999);GivePlayerWeapon(playerid, 28, 99999);GivePlayerWeapon(playerid, 31, 99999);GivePlayerWeapon(playerid, 34, 99999);GivePlayerWeapon(playerid, 41, 99999);SetPlayerArmour(playerid, 100);new aname[MAX_PLAYER_NAME];GetPlayerName(playerid, aname, sizeof(aname));new string[128]; format(string, sizeof(string), \"%s rendõrtiszt szolgálatba lépett!\", aname);return SendClientMessageToAll(0xB3D5B2AA,string);} else return SendClientMessage(playerid,0xa61515FF,\"Hiba: Te nem vagy RCON admnisztrátor!\");}dcmd_policehelp(playerid,params[]) {#pragma unused paramsif(IsPlayerAdmin(playerid)){ SendClientMessage(playerid,0xB3D5B2AA,\"Parancsok:\"); SendClientMessage(playerid,0xB3D5B2AA,\"/bilincs [playerid] - Játékos megbilincselése\"); SendClientMessage(playerid,0xB3D5B2AA,\"/elenged [playerid] - Játékos elengedése (bilincsbõl)\"); SendClientMessage(playerid,0xB3D5B2AA,\"/betesz [playerid] - Játékos kocsiba tevése\"); SendClientMessage(playerid,0xB3D5B2AA,\"/lecsuk [playerid] - Játékos lecsukása 1 percre\"); SendClientMessage(playerid,0xB3D5B2AA,\"/say [szöveg] - Üzenet írása mindenkinek\"); SendClientMessage(playerid,0xB3D5B2AA,\"/szolgalat - Szolgálatba lépni\");} else return SendClientMessage(playerid,0xa61515FF,\"Hiba: Te nem vagy RCON admnisztrátor!\");}public jail(giveplayerid);public jail(giveplayerid) { new name[MAX_PLAYER_NAME],string[200];GetPlayerName(giveplayerid, name, sizeof(name));format(string, sizeof string, \"%s kiszabadult a börtönbõl!\", name); SendClientMessageToAll(0xB3D5B2AA,string); SetPlayerHealth(giveplayerid, 0); SetPlayerInterior(giveplayerid, 0); TogglePlayerControllable(giveplayerid,1);}public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ new vehicle = GetVehicleModel(vehicleid); if(vehicle == 425 || vehicle == 432 || vehicle == 427 || vehicle == 490|| vehicle == 497|| vehicle == 528|| vehicle == 596|| vehicle == 597|| vehicle == 597|| vehicle == 599|| vehicle == 601) { if(!IsPlayerAdmin(playerid)) { ClearAnimations(playerid); SendClientMessage(playerid,0xa61515FF,\"Hiba: Te nem vagy RCON adminisztrátor!\"); } else return 1; } return 0;}stock sscanf(string[], format[], {Float,_}:...){#if defined isnullif (isnull(string))#elseif (string[0] == 0 || (string[0] == 1 && string[1] == 0))#endif{ return format[0];}#pragma tabsize 4newformatPos = 0,stringPos = 0,paramPos = 2,paramCount = numargs(),delim = \' \';while (string[stringPos] && string[stringPos] <= \' \'){stringPos++;}while (paramPos < paramCount && string[stringPos]){switch (format[formatPos++]){ case \'\\0\': { return 0; } case \'i\', \'d\': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == \'-\') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if (\'0\' <= ch <= \'9\') { num = (num * 10) + (ch - \'0\'); } else { return -1; } } while ((ch = string[stringPos]) > \' \' && ch != delim); setarg(paramPos, 0, num * neg); } case \'h\', \'x\': { new num = 0, ch = string[stringPos]; do { stringPos++; switch (ch) { case \'x\', \'X\': { num = 0; continue; } case \'0\' .. \'9\': { num = (num << 4) | (ch - \'0\'); } case \'a\' .. \'f\': { num = (num << 4) | (ch - (\'a\' - 10)); } case \'A\' .. \'F\': { num = (num << 4) | (ch - (\'A\' - 10)); } default: { return -1; } } } while ((ch = string[stringPos]) > \' \' && ch != delim); setarg(paramPos, 0, num); } case \'c\': { setarg(paramPos, 0, string[stringPos++]); } case \'f\': { new changestr[16], changepos = 0, strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim) { changestr[changepos++] = string[strpos++]; } changestr[changepos] = \'\\0\'; setarg(paramPos,0,_:floatstr(changestr)); } case \'p\': { delim = format[formatPos++]; continue; } case \'\\\'\': { new end = formatPos - 1, ch; while ((ch = format[++end]) && ch != \'\\\'\') {} if (!ch) { return -1; } format[end] = \'\\0\'; if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = \'\\\'\'; stringPos = ch + (end - formatPos); formatPos = end + 1; } case \'u\': { new end = stringPos - 1, id = 0, bool:num = true, ch; while ((ch = string[++end]) && ch != delim) { if (num) { if (\'0\' <= ch <= \'9\') { id = (id * 10) + (ch - \'0\'); } else { num = false; } } } if (num && IsPlayerConnected(id)) { setarg(paramPos, 0, id); } else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif string[end] = \'\\0\'; num = false; new name[MAX_PLAYER_NAME]; id = end - stringPos; foreach (Player, playerid) { GetPlayerName(playerid, name, sizeof (name)); if (!strcmp(name, string[stringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } string[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringPos = end; } case \'s\', \'z\': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, \'\\0\'); } default: { continue; }}while (string[stringPos] && string[stringPos] != delim && string[stringPos] > \' \'){ stringPos++;}while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= \' \')){ stringPos++;}paramPos++;}do{if ((delim = format[formatPos++]) > \' \'){ if (delim == \'\\\'\') { while ((delim = format[formatPos++]) && delim != \'\\\'\') {} } else if (delim != \'z\') { return delim; }}}while (delim > \' \');return 0;}
} if(strcmp(cmd, \"/race3\", true) == 0) {if(IsPlayerInAnyVehicle(playerid)) {new Float:X;new Float:Y;new Float:Z;new VehicleID;GetPlayerPos(playerid, X, Y, Z);VehicleID = GetPlayerVehicleID(playerid);SetVehiclePos(VehicleID,1146.1569,2300.2820,19.7628);new pname[MAX_PLAYER_NAME];GetPlayerName(playerid, pname, MAX_PLAYER_NAME);format(string, sizeof(string), \"..::%s eltelézett a race-re (/race3)::..\", pname);SendClientMessageToAll(COLOR_GREEN, string);} else {new Float:X;new Float:Y;new Float:Z;GetPlayerPos(playerid, X, Y, Z);SetPlayerPos(playerid,1146.1569,2300.2820,19.7628);new pname[MAX_PLAYER_NAME];GetPlayerName(playerid, pname, MAX_PLAYER_NAME);format(string, sizeof(string), \"..::%s eltelézett a race-re (/race3)::..\", pname);SendClientMessageToAll(COLOR_GREEN, string);}return 1;}
nem elég, ha csak parancsként beírjuk az OnPlayerCommandText függ. alá, mivel a sscanf ott nem használható. :dead:
Háát, ha valakinek igen sok ideje van és vágja a strtok-ot akkor kezdheti is. Ugyanis nem elég, ha csak parancsként beírjuk az OnPlayerCommandText függ. alá, mivel a sscanf ott nem használható. :dead:Szerk.:Elég ha bemásolod az OnPlayerCommandText függ. alá a dcmd parancsokat, majd a parancsokat a mód olyan részére, ahol nem ütközik funkcióba.Ha gondolod megcsinálhatom neked, csak küld el a módot PÜ-be.