CMD:setlevel(playerid,params[]){ new playerid2,level; if(sscanf(params,\"id\",playerid2,level)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(playerid2 == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,\"Rossz játékos ID\"); if(level < 0 || level > 5)return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(PlayerInfo[playerid][Level] < 5) return SendClientMessage(playerid,-1,\"A parancs használatához legalább 5-ös színtu adminnak kell lenned.\"); PlayerInfo[playerid2][Level] = level; SendClientMessage(playerid,-1,\"Sikeresen átállítottad az admin szintjét!\"); SendClientMessage(playerid2,-1,\"Sikeresen át lett állítva az admin szinted!\"); return 1;}
CMD:setlevel(playerid,params[]){ new playerid2,level; if(sscanf(params,\"id\",playerid2,level)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(playerid2 == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,\"Rossz játékos ID\"); if(level < 0 || level > 5)return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"A parancs használatához Rcon adminnak kell lenned.\"); PlayerInfo[playerid2][Level] = level; SendClientMessage(playerid,-1,\"Sikeresen átállítottad az admin szintjét!\"); SendClientMessage(playerid2,-1,\"Sikeresen át lett állítva az admin szinted!\"); return 1;}
CMD:setlevel(playerid,params[]){ new playerid2,level; if(sscanf(params,\"id\",playerid2,level)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(playerid2 == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,\"Rossz játékos ID\"); if(level < 0 || level > 5)return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"A parancs használatához Rcon adminnak kell lenned.\"); PlayerInfo[playerid2][Level] = level; SendClientMessage(playerid,-1,\"Sikeresen átállítottad az admin szintjét!\"); SendClientMessage(playerid2,-1,\"Sikeresen át lett állítva az admin szinted!\"); return 1;} Azthiszem...
CMD:setlevel(playerid,params[]){ new playerid2,level; if(sscanf(params,\"id\",playerid2,level)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(playerid2 == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,\"Rossz játékos ID\"); if(level < 0 || level > 5)return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"A parancs használatához Rcon adminnak kell lenned.\"); PlayerInfo[playerid2][Level] = level; SendClientMessage(playerid,-1,\"Sikeresen átállítottad az admin szintjét!\"); SendClientMessage(playerid2,-1,\"Sikeresen át lett állítva az admin szinted!\"); return 1;} Azthiszem... [/quote]Nem megy.:/ Belépek rcon adminba és nem tudok vele admin rangot adni.
Mit ír?Szerintem működnie kellene. Várunk valakit, aki elmondja mi a hiba :hmmm:
#include <a_samp>#include <dini>#include <sscanf2>#include <zcmd>enum pdata //az adattároló neve{ Level,// A szint értéke Death,//A halálok száma MONEY,//A pénz értéke Score //A pont értéke}new PlayerInfo[MAX_PLAYERS][pdata];public OnFilterScriptInit(){ return 1;}public OnFilterScriptExit(){ return 1;}public OnPlayerConnect(playerid){ new string[128],name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),\"%s.ini\",name); if(dini_Exists(string)) { PlayerInfo[playerid][Level] = dini_Int(string,\"Level\"); PlayerInfo[playerid][Death] = dini_Int(string,\"Halalok\"); GivePlayerMoney(playerid,dini_Int(string,\"Penz\")); SetPlayerScore(playerid,dini_Int(string,\"Pont\")); } else { dini_Create(string); } return 1;}CMD:setlevel(playerid,params[]){ new playerid2,level; if(sscanf(params,\"id\",playerid2,level)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(playerid2 == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,\"Rossz játékos ID\"); if(level < 0 || level > 5)return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\"); if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"A parancs használatához Rcon adminnak kell lenned.\"); PlayerInfo[playerid2][Level] = level; SendClientMessage(playerid,-1,\"Sikeresen átállítottad az admin szintjét!\"); SendClientMessage(playerid2,-1,\"Sikeresen át lett állítva az admin szinted!\"); return 1;}public OnPlayerDisconnect(playerid, reason){ new string[128],name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); format(string,sizeof(string),\"˛\\adminrendszer\\%s.ini\",name); if(dini_Exists(string)) { dini_IntSet(string,\"Szint\",PlayerInfo[playerid][Level]); dini_IntSet(string,\"Halalok\",PlayerInfo[playerid][Death]); dini_IntSet(string,\"Penz\",GetPlayerMoney(playerid)); dini_IntSet(string,\"Pont\",GetPlayerScore(playerid)); } return 1;}public OnPlayerDeath(playerid, killerid, reason){ PlayerInfo[playerid][Death]++; //növeltük az értéket 1-el. return 1;}
Várunk valakit, aki elmondja mi a hiba :hmmm:
if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"A parancs használatához Rcon adminnak kell lenned.\");
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"A parancs használatához rCon adminnak kell lenned.\");
Várunk valakit, aki elmondja mi a hiba :hmmm: if(IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"A parancs használatához Rcon adminnak kell lenned.\"); Ez azt jelenti, hogyha valaki rCon adminisztrátorként be van jelentkezve, akkor visszatér azzal az üzenettel, amit írtatok.. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"A parancs használatához rCon adminnak kell lenned.\"); Ez már azt jelenti amit szerettetek volna ITT van egy nagyon egyszerű regisztrációs rendszer, de ha megfogadsz egy tanácsot, akkor inkább a MySQL -t kezded el tanulgatni és nem a DINI -t... [/quote]Köszönöm.. Megfogatom tanácsodat.
for (new i; i < MAX_PLAYERS; i++){ if (IsPlayerConnected(i)){ if (APlayerData[VIPLevel] > 1) { new VIPTEMPO, Days, Hours, Minutes, Seconds, Msg[128]; VIPTEMPO = APlayerData[playerid][TempoVIP] - gettime(); if (VIPTEMPO >= 86400) { Days = VIPTEMPO / 86400; VIPTEMPO = VIPTEMPO - (Days * 86400); } if (VIPTEMPO >= 3600) { Hours = VIPTEMPO / 3600; VIPTEMPO = VIPTEMPO - (Hours * 3600); } if (VIPTEMPO >= 60) { Minutes = VIPTEMPO / 60; VIPTEMPO = VIPTEMPO - (Minutes * 60); } Seconds = VIPTEMPO; format(Msg, 256, \"{48FFEC}nincs tagságod: %i Nap, %i Óra, %i Perc, %i Másodperc rangod:%s\", Days, Hours, Minutes, Seconds, VIPLevelName[APlayerData[VIPLevel]]); SendClientMessage(playerid, 0xFFFFFFFF, Msg); //APlayerData[playerid][VIPLevel] = 1; }}}
C:\\Users\\xNorbi\\Downloads\\proba.pwn(12) : error 075: input line too long (after substitutions)C:\\Users\\xNorbi\\Downloads\\proba.pwn(13) : error 037: invalid string (possibly non-terminated string)C:\\Users\\xNorbi\\Downloads\\proba.pwn(13) : error 017: undefined symbol \"FFA1A1\"C:\\Users\\xNorbi\\Downloads\\proba.pwn(13) : warning 217: loose indentationC:\\Users\\xNorbi\\Downloads\\proba.pwn(13) : warning 215: expression has no effectC:\\Users\\xNorbi\\Downloads\\proba.pwn(13) : error 001: expected token: \";\", but found \".\"C:\\Users\\xNorbi\\Downloads\\proba.pwn(13) : fatal error 107: too many error messages on one line
CMD:rules(playerid,params[]){ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_MSGBOX, \"Szabályzat\",\"\\{FFA1A1}1. {C3C3C3}Tilos DM, HK-zni. {FFA1A1}Büntetés: Warn, Kick, Jail \\n\\{FFA1A1}2. {C3C3C3}Tilos más közösséget, politikai pártot hírdetni. {FFA1A1}Büntetés: Mute, Warn \\n\\{FFA1A1}4. {C3C3C3}Tilos a GotoKill. {FFA1A1}Büntetés:Jail, Kick\\n\\{FFA1A1}5. {C3C3C3}Tilos a SA-MP kliensen kívűl mással csatlakozni a szerverre. {FFA1A1}Büntetés:Ban \\n\\{FFA1A1}6. {C3C3C3}Tilos más játékosokat rákényszeríteni a q quit vagy a kickme parancs beírására. {FFA1A1}Büntetés:Mute, Warn \\n\\{FFA1A1}7. {C3C3C3}Tilos csaló program használata. [Airbreak, és a többi.] {FFA1A1}Büntetés: Warn, Kick, Ban \\n\\{FFA1A1}8. {C3C3C3}Tilos bármilyen CLEO mod használata. (kivétel a pk) {FFA1A1}Büntetés:Jail \\n\\{FFA1A1}9. {C3C3C3}Tilos Flood-olni, Spam-elni akárhol. {FFA1A1}Büntetés: Mute \\n\\{FFA1A1}10. {C3C3C3}Tilos túlzottan trágárul társalogni. [Anyázás, stb] {FFA1A1}Büntetés: Mute, Warn, Kick \\n\\{FFA1A1}11. {C3C3C3}Tilos viccből írt reportokat, bugokat, ötleteket beküldeni. {FFA1A1}Büntetés: Kick, Warn \\n\\{FFA1A1}12. {C3C3C3}Tilos multiaccozni, 2in1 accozni. {FFA1A1}Büntetés:Ban \\n\\{FFA1A1}13. {C3C3C3}Tilos sértegetni más játékosokat, adminokat. {FFA1A1}Büntetés: Mute, Warn, Kick \\n\\{FFA1A1}14. {C3C3C3}Tilos veszekedést generálni, folytonos nyílvános chatben.[Ügy megoldásához használd a PM-t.] {FFA1A1}Büntetés:Mute \\n\\{FFA1A1}15. {C3C3C3}Tilos adminokat megtéveszteni. {FFA1A1}Kick, Ban\\n\\{FFA1A1}16. {C3C3C3}Tilos Almásy Kristóf nevét emlegetni, illetve viccelődni vele. {FFA1A1}Büntetés:Warn, Mute, Kick, Ban \\n\\{FFA1A1}Magyarázatok [Fogalom neve, Megfogalmazás] \\n\\{C3C3C3}DB,HK {FFA1A1}Amikor valaki járművet vezet, és megöl valakit. \\n\\{C3C3C3}GotoKill {FFA1A1}Amikor valaki azért teleportál valakihez hogy azonnal megölje, és meg is teszi. \\n\\{C3C3C3}Warn {FFA1A1}Figyelmeztetés \\n\\{C3C3C3}Mute {FFA1A1}Némítás \\n\\{C3C3C3}Jail {FFA1A1}Börtönözés \\n\\{C3C3C3}Kick {FFA1A1}Kirúgás a szerverről \\n\\{C3C3C3}Ban {FFA1A1}Kitiltás a szerverről. \\n\\{C3C3C3}Flood {FFA1A1}Nagytételű üzenet küldés, kevés idő alatt, darabokban. \\n\\{C3C3C3}Spam {FFA1A1}Egy üzenet kétszeri, vagy többszöri küldése. \\n\\{C3C3C3}Multiacc {FFA1A1}Több felhasználónévvel van regisztrálva ugyan az a személy. \\n\\{C3C3C3}2in1acc {FFA1A1}Több személy használ 1 regisztrált felhasználónevet. \\n\\{FFA1A1}>> A szakciók alól senkit sem menthet fel semmi, ha az illető szabályt szegett meg. << \\n\\\",\"Rendben\",\"Rendben\");return 1;}
new str[1024];strcat(str, \"szöveg\\n\");strcat(str, \"szöveg\\n\");//így tovább, az utolsóba nem kell a \\nstrcat(str, \"szöveg\");ShowPlayerDialog(playerid, dialog, DIALOG_STYLE_MSGBOX, \"Szabályzat\",str, \"Elfogad\", \"Mégse\");
XY[MAX_PLAYERS][4]; // Kb. így néz ki az új változóm..
De igen, ez baj, bár sokan nem tudják. A stack/heap az egy elõre megadott méretû tároló, és a fordító ad egy becsült értéket, hogy a moddal mennyi lesz a max használat. Nem árt 16k alatt maradni. Ne használj feleslegesen túl nagy változókat, és nem lesz gond vele [tapasztalat, WRP-n sem léptem túl soha, tehát nem lehetetlen..][/quote]