//Alap sscanf dolgok//Készítette:Szasza#include #include #include new mp,name1[MAX_PLAYER_NAME],name2[MAX_PLAYER_NAME];#if defined FILTERSCRIPT public OnFilterScriptInit(){print(\"\\n--------------------------------------\");print(\" Alap sscanf parancsok betöltve. By:Szasza\");print(\"--------------------------------------\\n\");return 1;}public OnFilterScriptExit(){ print(\"\\n--------------------------------------\");print(\" Alap sscanf parancsok kiiktatva. By:Szasza\");print(\"--------------------------------------\\n\");return 1;}#else#endif//adminnal akárkinek lehet skint állítaniCMD:setskin(playerid,params[]){ new skinid,string[128],string2[128]; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreif(sscanf(params,\"id\",mp,skinid)) return SendClientMessage(playerid,-1,\"Használat: /setskin \");{if(skinid <= 299 && skinid >= 0){ GetPlayerName(playerid,name1,sizeof(name1)); GetPlayerName(mp,name2,sizeof(name2)); format(string,sizeof(string),\"Admin:%s beállította a skined(SkinID:%d)\",name1,skinid); format(string2,sizeof(string2),\"Beállítottad %s skinét(SkinID:%d)\",name2,skinid); SendClientMessage(mp,-1,string); SendClientMessage(playerid,-1,string2); SetPlayerSkin(mp,skinid);}else SendClientMessage(playerid,-1,\"A SkinID-nek 0 és 299 között kell lennie!\");}return 1;}//magadnak betudod állítani a skinedCMD:myskin(playerid,params[]){ new skinid,string[128]; if(sscanf(params,\"i\",skinid)) return SendClientMessage(playerid,-1,\"Használat: /myskin \"); {if(skinid <= 299 && skinid >= 0){ format(string,sizeof(string),\"Beállítottad a skined(SkinID:%d)\",skinid); SendClientMessage(playerid,-1,string); SetPlayerSkin(playerid,skinid);}else SendClientMessage(playerid,-1,\"A SkinID-nek 0 és 299 között kell lennie!\"); } return 1;}//adminnal akárkinek átlehet állítani a pontjait(teljesen felülírja a pontjait)CMD:setscore(playerid,params[]){ new score,string[128],string2[128]; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreif(sscanf(params,\"id\",mp,score)) return SendClientMessage(playerid,-1,\"Használat: /setscore \");{ GetPlayerName(playerid,name1,sizeof(name1)); GetPlayerName(mp,name2,sizeof(name2));format(string,sizeof(string),\"Admin:%s beállította a pontjaidat(Pontok:%d)\",name1,score); format(string2,sizeof(string2),\"Beállítottad %s pontjait.(Pontok:%d)\",name2,score); SendClientMessage(mp,-1,string); SendClientMessage(playerid,-1,string2); SetPlayerScore(mp,score);}return 1;}//adminnal pontot lehet adni akárkinek (hozzáadja a meglévõ pontjához)CMD:givescore(playerid,params[]){ new score,string[128],string2[128]; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreif(sscanf(params,\"id\",mp,score)) return SendClientMessage(playerid,-1,\"Használat: /givescore \");{ GetPlayerName(playerid,name1,sizeof(name1)); GetPlayerName(mp,name2,sizeof(name2));format(string,sizeof(string),\"Admin:%s pontot adott (+pontod:%d,összes pontod: %d)\",name1,score,GetPlayerScore(mp)+score); format(string2,sizeof(string2),\"Pontot adtál %s -nak/nek.(+pont:%d,összes pontja: %d)\",name2,score,GetPlayerScore(mp)+score); SendClientMessage(mp,-1,string); SendClientMessage(playerid,-1,string2); SetPlayerScore(mp,score+GetPlayerScore(playerid));}return 1;}//adminnal akárkinek átlehet állítani a pénzét(teljesen felülírja a pénzét)CMD:setmoney(playerid,params[]){ new money,string[128],string2[128]; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreif(sscanf(params,\"id\",mp,money)) return SendClientMessage(playerid,-1,\"Használat: /setmoney \");{ GetPlayerName(playerid,name1,sizeof(name1)); GetPlayerName(mp,name2,sizeof(name2));format(string,sizeof(string),\"Admin:%s beállította a pénzed(Pénzed:$%d)\",name1,money); format(string2,sizeof(string2),\"Beállítottad %s pénzét.(Pénze:$%d)\",name2,money); SendClientMessage(mp,-1,string); SendClientMessage(playerid,-1,string2); ResetPlayerMoney(mp); GivePlayerMoney(mp,money);}return 1;}//adminnal pénzt lehet adni akárkinek (hozzáadja a meglévõ pénzéhez)CMD:givemoney(playerid,params[]){ new money,string[128],string2[128]; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreif(sscanf(params,\"id\",mp,money)) return SendClientMessage(playerid,-1,\"Használat: /givemoney \");{ GetPlayerName(playerid,name1,sizeof(name1)); GetPlayerName(mp,name2,sizeof(name2));format(string,sizeof(string),\"Admin:%s pénzt adott(+pénz:$%d,Összes pénzed: $%d)\",name1,money,GetPlayerMoney(mp)+money); format(string2,sizeof(string2),\"Pénzt adtál %s -nak/nek.(+pénz:$%d,Összes pénze: $%d)\",name2,money,GetPlayerMoney(mp)+money); SendClientMessage(mp,-1,string); SendClientMessage(playerid,-1,string2); GivePlayerMoney(mp,money);}return 1;}
\"i,d\"nemkell a vesszõ. [/quote]Így is mûködik de akkor javítom köszi h szoltál
new skinid,string[128],string2[128]; GetPlayerName(playerid,name1,sizeof(name1)); GetPlayerName(mp,name2,sizeof(name2)); if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkre if(sscanf(params,\"id\",mp,skinid)) return SendClientMessage(playerid,-1,\"Használat: /setskin \");
if(sscanf(params,\"id\",mp,money))
CMD:setskin2(playerid,params[]){newmp,skinid;if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreelse if(isnull(params) || sscanf(params, \"ud\", mp, skinid)) SendClientMessage(playerid, -1, \"Használat: /setskin \");else if(mp== INVALID_PLAYER_ID) SendClientMessage(playerid, -1, \"A játékos nincs csatlalkozva!\");else if(!(0 <= skinid <= 299)) SendClientMessage(playerid, -1, \"A SkinID-nek 0 és 299 között kell lennie!\");else {SetPlayerSkin(mp, skinid); // És mivel múlt idõben kerülnek a szövegek megjelenítésre akkor a kódban is legyen elõbb az egész skin változtatás new str[128];if(playerid != mp) // Ha a parancs használója saját magának állítja vele a skin-t akkor ne írja ki neki ezt az üzenetet.{ GetPlayerName(playerid, str, MAX_PLAYER_NAME); format(str, sizeof str, \"Admin:%s beállította a skined(SkinID:%d)\", str, skinid); SendClientMessage(mp, -1, str);}GetPlayerName(mp, str, MAX_PLAYER_NAME);format(str, sizeof str, \"Beállítottad %s skinét(SkinID:%d)\", str, skinid);SendClientMessage(playerid, -1, str);}return 1;}
CMD:setskin(playerid, params[]) { // maga a parancsif(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON admin!\"); // Ha nincs RCON admin módban az illetõnew mp, skinid, str[512], n1[MAX_PLAYER_NAME], n2[MAX_PLAYER_NAME]; // változókif(sscanf(params, \"ui\", mp, skinid)) return SendClientMessage(playerid, -1, \"Használat: /setskin [playerid/név] [skinID]\");if(!IsPlayerConnected(mp)) return SendClientMessage(playerid, -1, \"A játékos nem aktív!\");// ha a játékos nem tartózkodik a szerverenif(!(-1 < skinid < 301)) return SendClientMessage(playerid, -1, \"Hibás SkinID: 0 - 300\"); // ha hibás szmot ír be skinid-kéntif(mp == playerid) { // Ha magadnak állítod be a skinedSetPlayerSkin(playerid, skinid);//beállítja a megadott skin-tSendClientMessage(playerid, -1, \"Sikeresen beállítva a saját skined!\"); // elküldi az üzenetet - -1=fehérreturn 1;//megállítja a parancsot}GetPlayerName(playerid, n1, sizeof(n1)); // Admin neveGetPlayerName(mp, n2, sizeof(n2));//akin alkalmazod a skinmódosítást neve SetPlayerSkin(mp, skinid);//beállítja a megadott skin-tformat(str, sizeof(str), \"Adminisztrátor, %s beállította a karakteredet %i-ra/re.\", n1, n2, skinid);SendClientMessageToAll(-1, str); // elküldi mindenkinek az üzenetet ha nem magadnak állítottál skin-treturn 1;}
if(sscanf(params,\"id\",mp,skinid)) return SendClientMessage(playerid,-1,\"Használat: /setskin \");{ Ez már az oszt igen! [/quote]?hm? [/quote]Akkor ahogy látom nem veszed észre, de paraszt módon elmagyarázom: általában ifhez szoktunk kapcsoszárójelet rakni, és nem utasítás lezárása után...
if(sscanf(params,\"id\",mp,skinid)) return SendClientMessage(playerid,-1,\"Használat: /setskin \");{
Na tessék: CMD:setskin(playerid, params[]) { // maga a parancsif(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON admin!\"); // Ha nincs RCON admin módban az illetõnew mp, skinid, str[512], n1[MAX_PLAYER_NAME], n2[MAX_PLAYER_NAME]; // változókif(sscanf(params, \"ui\", mp, skinid)) return SendClientMessage(playerid, -1, \"Használat: /setskin [playerid/név] [skinID]\");if(!IsPlayerConnected(mp)) return SendClientMessage(playerid, -1, \"A játékos nem aktív!\");// ha a játékos nem tartózkodik a szerverenif(!(-1 < skinid < 301)) return SendClientMessage(playerid, -1, \"Hibás SkinID: 0 - 300\"); // ha hibás szmot ír be skinid-kéntif(mp == playerid) { // Ha magadnak állítod be a skinedSetPlayerSkin(playerid, skinid);//beállítja a megadott skin-tSendClientMessage(playerid, -1, \"Sikeresen beállítva a saját skined!\"); // elküldi az üzenetet - -1=fehérreturn 1;//megállítja a parancsot}GetPlayerName(playerid, n1, sizeof(n1)); // Admin neveGetPlayerName(mp, n2, sizeof(n2));//akin alkalmazod a skinmódosítást neve SetPlayerSkin(mp, skinid);//beállítja a megadott skin-tformat(str, sizeof(str), \"Adminisztrátor, %s beállította a karakteredet %i-ra/re.\", n1, n2, skinid);SendClientMessageToAll(-1, str); // elküldi mindenkinek az üzenetet ha nem magadnak állítottál skin-treturn 1;} [/quote] mitõl jobb ennél: CMD:setskin2(playerid,params[]){newmp,skinid;if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreelse if(isnull(params) || sscanf(params, \"ud\", mp, skinid)) SendClientMessage(playerid, -1, \"Használat: /setskin \");else if(mp== INVALID_PLAYER_ID) SendClientMessage(playerid, -1, \"A játékos nincs csatlalkozva!\");else if(!(0 <= skinid <= 299)) SendClientMessage(playerid, -1, \"A SkinID-nek 0 és 299 között kell lennie!\");else {SetPlayerSkin(mp, skinid); // És mivel múlt idõben kerülnek a szövegek megjelenítésre akkor a kódban is legyen elõbb az egész skin változtatás new str[128];if(playerid != mp) // Ha a parancs használója saját magának állítja vele a skin-t akkor ne írja ki neki ezt az üzenetet.{ GetPlayerName(playerid, str, MAX_PLAYER_NAME); format(str, sizeof str, \"Admin:%s beállította a skined(SkinID:%d)\", str, skinid); SendClientMessage(mp, -1, str);}GetPlayerName(mp, str, MAX_PLAYER_NAME);format(str, sizeof str, \"Beállítottad %s skinét(SkinID:%d)\", str, skinid);SendClientMessage(playerid, -1, str);}return 1;} [/quote]? Naplózva
CMD:setskin2(playerid,params[]){newmp,skinid;if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreelse if(isnull(params) || sscanf(params, \"ud\", mp, skinid)) SendClientMessage(playerid, -1, \"Használat: /setskin \");else if(mp== INVALID_PLAYER_ID) SendClientMessage(playerid, -1, \"A játékos nincs csatlalkozva!\");else if(!(0 <= skinid <= 299)) SendClientMessage(playerid, -1, \"A SkinID-nek 0 és 299 között kell lennie!\");else {SetPlayerSkin(mp, skinid); // És mivel múlt idõben kerülnek a szövegek megjelenítésre akkor a kódban is legyen elõbb az egész skin változtatás new str[128];if(playerid != mp) // Ha a parancs használója saját magának állítja vele a skin-t akkor ne írja ki neki ezt az üzenetet.{ GetPlayerName(playerid, str, MAX_PLAYER_NAME); format(str, sizeof str, \"Admin:%s beállította a skined(SkinID:%d)\", str, skinid); SendClientMessage(mp, -1, str);}GetPlayerName(mp, str, MAX_PLAYER_NAME);format(str, sizeof str, \"Beállítottad %s skinét(SkinID:%d)\", str, skinid);SendClientMessage(playerid, -1, str);}return 1;} [/quote]?
Hasonlóképp mint a format funkció használataként.Az i és d ugyanaz (integer ill decimal) rövidítése egész számot jelöl.Az f (float) nem egész szám más nyelven lebegõ pontos szám (3.45).Az s karakterláncokat jelöl. De mindenhez van leírás a sscanf topikban.http://forum.sa-mp.com/showpost.php?p=520110&postcount=1Az u egy különleges jelölés olyan szempontból hogy játékos név(name) illetve azonosító szám (playerid) beírásra is mûködik. [/quote]Köszi
@FlashEz:Na tessék: CMD:setskin(playerid, params[]) { // maga a parancsif(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON admin!\"); // Ha nincs RCON admin módban az illetõnew mp, skinid, str[512], n1[MAX_PLAYER_NAME], n2[MAX_PLAYER_NAME]; // változókif(sscanf(params, \"ui\", mp, skinid)) return SendClientMessage(playerid, -1, \"Használat: /setskin [playerid/név] [skinID]\");if(!IsPlayerConnected(mp)) return SendClientMessage(playerid, -1, \"A játékos nem aktív!\");// ha a játékos nem tartózkodik a szerverenif(!(-1 < skinid < 301)) return SendClientMessage(playerid, -1, \"Hibás SkinID: 0 - 300\"); // ha hibás szmot ír be skinid-kéntif(mp == playerid) { // Ha magadnak állítod be a skinedSetPlayerSkin(playerid, skinid);//beállítja a megadott skin-tSendClientMessage(playerid, -1, \"Sikeresen beállítva a saját skined!\"); // elküldi az üzenetet - -1=fehérreturn 1;//megállítja a parancsot}GetPlayerName(playerid, n1, sizeof(n1)); // Admin neveGetPlayerName(mp, n2, sizeof(n2));//akin alkalmazod a skinmódosítást neve SetPlayerSkin(mp, skinid);//beállítja a megadott skin-tformat(str, sizeof(str), \"Adminisztrátor, %s beállította a karakteredet %i-ra/re.\", n1, n2, skinid);SendClientMessageToAll(-1, str); // elküldi mindenkinek az üzenetet ha nem magadnak állítottál skin-treturn 1;} [/quote] mitõl jobb ennél: CMD:setskin2(playerid,params[]){newmp,skinid;if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreelse if(isnull(params) || sscanf(params, \"ud\", mp, skinid)) SendClientMessage(playerid, -1, \"Használat: /setskin \");else if(mp== INVALID_PLAYER_ID) SendClientMessage(playerid, -1, \"A játékos nincs csatlalkozva!\");else if(!(0 <= skinid <= 299)) SendClientMessage(playerid, -1, \"A SkinID-nek 0 és 299 között kell lennie!\");else {SetPlayerSkin(mp, skinid); // És mivel múlt idõben kerülnek a szövegek megjelenítésre akkor a kódban is legyen elõbb az egész skin változtatás new str[128];if(playerid != mp) // Ha a parancs használója saját magának állítja vele a skin-t akkor ne írja ki neki ezt az üzenetet.{ GetPlayerName(playerid, str, MAX_PLAYER_NAME); format(str, sizeof str, \"Admin:%s beállította a skined(SkinID:%d)\", str, skinid); SendClientMessage(mp, -1, str);}GetPlayerName(mp, str, MAX_PLAYER_NAME);format(str, sizeof str, \"Beállítottad %s skinét(SkinID:%d)\", str, skinid);SendClientMessage(playerid, -1, str);}return 1;} [/quote]? [/quote]Áttekinthetõbb szerintem, azért, amúgy semmivel sem jobb, ugyan azt tudja.. Naplózva Nyomtatás Oldalak: [1] 2 Fel « előző következő » GTA Közösség - A magyar GTA fórum » San Andreas Multiplayer (SA-MP) » SA-MP: Szerverfejlesztés » Alap sscanf dolgok
Na tessék: CMD:setskin(playerid, params[]) { // maga a parancsif(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON admin!\"); // Ha nincs RCON admin módban az illetõnew mp, skinid, str[512], n1[MAX_PLAYER_NAME], n2[MAX_PLAYER_NAME]; // változókif(sscanf(params, \"ui\", mp, skinid)) return SendClientMessage(playerid, -1, \"Használat: /setskin [playerid/név] [skinID]\");if(!IsPlayerConnected(mp)) return SendClientMessage(playerid, -1, \"A játékos nem aktív!\");// ha a játékos nem tartózkodik a szerverenif(!(-1 < skinid < 301)) return SendClientMessage(playerid, -1, \"Hibás SkinID: 0 - 300\"); // ha hibás szmot ír be skinid-kéntif(mp == playerid) { // Ha magadnak állítod be a skinedSetPlayerSkin(playerid, skinid);//beállítja a megadott skin-tSendClientMessage(playerid, -1, \"Sikeresen beállítva a saját skined!\"); // elküldi az üzenetet - -1=fehérreturn 1;//megállítja a parancsot}GetPlayerName(playerid, n1, sizeof(n1)); // Admin neveGetPlayerName(mp, n2, sizeof(n2));//akin alkalmazod a skinmódosítást neve SetPlayerSkin(mp, skinid);//beállítja a megadott skin-tformat(str, sizeof(str), \"Adminisztrátor, %s beállította a karakteredet %i-ra/re.\", n1, n2, skinid);SendClientMessageToAll(-1, str); // elküldi mindenkinek az üzenetet ha nem magadnak állítottál skin-treturn 1;} [/quote] mitõl jobb ennél: CMD:setskin2(playerid,params[]){newmp,skinid;if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreelse if(isnull(params) || sscanf(params, \"ud\", mp, skinid)) SendClientMessage(playerid, -1, \"Használat: /setskin \");else if(mp== INVALID_PLAYER_ID) SendClientMessage(playerid, -1, \"A játékos nincs csatlalkozva!\");else if(!(0 <= skinid <= 299)) SendClientMessage(playerid, -1, \"A SkinID-nek 0 és 299 között kell lennie!\");else {SetPlayerSkin(mp, skinid); // És mivel múlt idõben kerülnek a szövegek megjelenítésre akkor a kódban is legyen elõbb az egész skin változtatás new str[128];if(playerid != mp) // Ha a parancs használója saját magának állítja vele a skin-t akkor ne írja ki neki ezt az üzenetet.{ GetPlayerName(playerid, str, MAX_PLAYER_NAME); format(str, sizeof str, \"Admin:%s beállította a skined(SkinID:%d)\", str, skinid); SendClientMessage(mp, -1, str);}GetPlayerName(mp, str, MAX_PLAYER_NAME);format(str, sizeof str, \"Beállítottad %s skinét(SkinID:%d)\", str, skinid);SendClientMessage(playerid, -1, str);}return 1;} [/quote]? [/quote]Áttekinthetõbb szerintem, azért, amúgy semmivel sem jobb, ugyan azt tudja.. Naplózva
CMD:setskin2(playerid,params[]){newmp,skinid;if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, -1, \"Nem vagy bejelenetkezve az RCON adminba!\");//ezt átlehet írni a saját amdinrendszerünkreelse if(isnull(params) || sscanf(params, \"ud\", mp, skinid)) SendClientMessage(playerid, -1, \"Használat: /setskin \");else if(mp== INVALID_PLAYER_ID) SendClientMessage(playerid, -1, \"A játékos nincs csatlalkozva!\");else if(!(0 <= skinid <= 299)) SendClientMessage(playerid, -1, \"A SkinID-nek 0 és 299 között kell lennie!\");else {SetPlayerSkin(mp, skinid); // És mivel múlt idõben kerülnek a szövegek megjelenítésre akkor a kódban is legyen elõbb az egész skin változtatás new str[128];if(playerid != mp) // Ha a parancs használója saját magának állítja vele a skin-t akkor ne írja ki neki ezt az üzenetet.{ GetPlayerName(playerid, str, MAX_PLAYER_NAME); format(str, sizeof str, \"Admin:%s beállította a skined(SkinID:%d)\", str, skinid); SendClientMessage(mp, -1, str);}GetPlayerName(mp, str, MAX_PLAYER_NAME);format(str, sizeof str, \"Beállítottad %s skinét(SkinID:%d)\", str, skinid);SendClientMessage(playerid, -1, str);}return 1;} [/quote]? [/quote]Áttekinthetõbb szerintem, azért, amúgy semmivel sem jobb, ugyan azt tudja..