XxM4st3rxX 3 Odesláno: 7. Září, 2012 Share Odesláno: 7. Září, 2012 čaute, už dlhšiu dobu špekulujem nad týmto kódom ktorý nefunguje tak ako má.. problem je v tom že keď zadám ID (nar. 1,2,3) ktoré na serveri nieje tak sa to zachová tak ako keby som zadal svoje ID (0) myslim si že niečo nieje v poriadku s tým if(IsPlayerConnected.... neviem kam to umiestniť... ps. všetko funguje tak ako má len toto nejde CMD:setadmin(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] >=6) { if(sscanf(params,"ui",PID,levels)) return SendClientMessage(playerid,0xFF9900AA, "pouzitie: /setadmin [iD] [Level 1-6]"); if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, COLOR_GREY, "Hrac neni pripojeny!"); if(levels > 6) return SendClientMessage(playerid,0xFF0000FF,"Levely: 1-6!"); //if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, COLOR_GREY, "Hrac neni pripojeny!"); //if(!IsPlayerConnected(PID)) return SendClientMessage(playerid,RED,"Hrac neni pripojeny!"); if(PlayerInfo[playerid][pAdmin] == levels) return SendClientMessage(playerid,0xFF0000FF, "ERROR: That person has already this admin level!");//Detect if the guy is already the level you setted GetPlayerName(playerid,Nam, MAX_PLAYER_NAME); GetPlayerName(PID,pname,MAX_PLAYER_NAME); if(levels == 0) { format(sprava, sizeof(sprava),"%s ti dal adminlevel %d",Nam,levels); SendClientMessage(PID,0xFF9900AA,sprava); format(sprava, sizeof(sprava),"nastavil si %s adminlevel na %d!",pname,levels); SendClientMessage(playerid,0xFF9900AA,sprava); PlayerInfo[playerid][pAdmin] = levels; return 1; } format(sprava, sizeof(sprava),"%s ti dal adminlevel %d",Nam,levels); SendClientMessage(PID,0xFF9900AA,sprava); format(sprava, sizeof(sprava),"nastavil si %s adminlevel na %d!",pname,levels); SendClientMessage(playerid,0xFF9900AA,sprava); PlayerInfo[playerid][pAdmin] = levels; } else { if(PlayerInfo[playerid][pAdmin] >=1) return SendClientMessage(playerid,0xFF9900AA,"Nemas level 6!"); else { SendClientMessage(playerid,0xFF9900AA,"Nemas opravneni"); } } return 1; } díki Link to comment Share on other sites More sharing options...
0 Jáá 26 Odesláno: 7. Září, 2012 Share Odesláno: 7. Září, 2012 CMD - používaš je to blbé daj si normál dcmd a uvidíš možno to budeš mat lepšie.. a máš define ? sprava ? format(sprava, sizeof(sprava),"%s ti dal adminlevel %d",Nam,levels); SendClientMessage(PID,0xFF9900AA,sprava); format(sprava, sizeof(sprava),"nastavil si %s adminlevel na %d!",pname,levels); SendClientMessage(playerid,0xFF9900AA,sprava); PlayerInfo[playerid][pAdmin] = levels; return 1; Link to comment Share on other sites More sharing options...
0 XxM4st3rxX 3 Odesláno: 7. Září, 2012 Author Share Odesláno: 7. Září, 2012 CMD - používaš je to blbé daj si normál dcmd a uvidíš možno to budeš mat lepšie.. a máš define ? sprava ? format(sprava, sizeof(sprava),"%s ti dal adminlevel %d",Nam,levels); SendClientMessage(PID,0xFF9900AA,sprava); format(sprava, sizeof(sprava),"nastavil si %s adminlevel na %d!",pname,levels); SendClientMessage(playerid,0xFF9900AA,sprava); PlayerInfo[playerid][pAdmin] = levels; return 1; v CMD problém neni (používam zcmd) define mám úplne horee #define COL_GREEN "{00FF22}" #define COL_LIGHTBLUE "{00CED1}" new sprava[128],levels,Nam[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],PID; .. Link to comment Share on other sites More sharing options...
0 Jáá 26 Odesláno: 7. Září, 2012 Share Odesláno: 7. Září, 2012 Tak v tom to nebude... Link to comment Share on other sites More sharing options...
0 XxM4st3rxX 3 Odesláno: 7. Září, 2012 Author Share Odesláno: 7. Září, 2012 Tak v tom to nebude... veď píšem že je to asi tým isplayerconnected... ono ten isplayerconnected v podstate nefunguje a neviem prečo Link to comment Share on other sites More sharing options...
0 Fr0st 23 Odesláno: 7. Září, 2012 Share Odesláno: 7. Září, 2012 načo ta je 3x IsPlayerConnected ? Link to comment Share on other sites More sharing options...
0 Fr0st 23 Odesláno: 7. Září, 2012 Share Odesláno: 7. Září, 2012 OMG PlayerInfo[playerid][pAdmin] = levels; TU DAJ TAKTO PlayerInfo[PID][pAdmin] = levels; ... :D Link to comment Share on other sites More sharing options...
0 XxM4st3rxX 3 Odesláno: 7. Září, 2012 Author Share Odesláno: 7. Září, 2012 OMG PlayerInfo[playerid][pAdmin] = levels; TU DAJ TAKTO PlayerInfo[PID][pAdmin] = levels; ... :D to sice funguje ale ten if(IsPlayerConnected(PID)) return ... nefunguje... keď zadám napr. /setadmin 55 5 tak mi to dá admin level 5 aj ked nemám id 55 ale 0 :S Link to comment Share on other sites More sharing options...
0 Fr0st 23 Odesláno: 7. Září, 2012 Share Odesláno: 7. Září, 2012 d príkazu si daj new PID = strval(params); ... Link to comment Share on other sites More sharing options...
0 kell94_cz 7 Odesláno: 7. Září, 2012 Share Odesláno: 7. Září, 2012 Hrozně zmatenej kód v tom se těško vyznám jednoduše. V tom kódu se pomalu nejde ani vyznat. dcmd_setlvl(playerid, params[]) { new string[128],hrac,level; if(AdminLevel[playerid] < 5) return SendClientMessage(playerid,C_WHITE,"{FF0000}Nemáš dostatečný admin level!"); if(sscanf(params,"ii",hrac,level)) return SendClientMessage(playerid,C_WHITE,"{FF0000}Použití: /setlvl [iD] [LEVEL]"); if(!IsPlayerConnected(hrac)) return SendClientMessage(playerid,C_WHITE,"{FF0000}Hráč není připojen!"); if(level < 0 || level > 5) return SendClientMessage(playerid,C_WHITE,"{FF0000}Rozmezí Levelu [0 - 5]!"); format(string,sizeof(string),"{FF0000}Administrátor %s nastavil hráči %s Admin-Level: %d",PlayerName(playerid),PlayerName(hrac),level); SendClientMessageToAll(C_WHITE,string); AdminLevel[hrac] = level; return true; } Příkaz, proměnné atd... si uprav podle sebe to snad zvládneš. Link to comment Share on other sites More sharing options...
0 XxM4st3rxX 3 Odesláno: 7. Září, 2012 Author Share Odesláno: 7. Září, 2012 d príkazu si daj new PID = strval(params); ... lol, to nepotrebujem ptž používam sscanf.... CMD:setadmin(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] >=6) { if(sscanf(params,"ri",PID,levels)) return SendClientMessage(playerid,0xFF9900AA, "pouzitie: /setadmin [iD] [Level 1-6]"); if(levels > 6) return SendClientMessage(playerid,0xFF0000FF,"Levely: 1-6!"); if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, COLOR_GREY, "Hrac neni pripojeny!"); if(PlayerInfo[PID][pAdmin] == levels) return SendClientMessage(playerid,0xFF0000FF, "ERROR: That person has already this admin level!");//Detect if the guy is already the level you setted GetPlayerName(playerid,Nam, MAX_PLAYER_NAME); GetPlayerName(PID,pname,MAX_PLAYER_NAME); if(levels == 0) { format(sprava, sizeof(sprava),"%s ti dal adminlevel %d",Nam,levels); SendClientMessage(PID,0xFF9900AA,sprava); format(sprava, sizeof(sprava),"nastavil si %s adminlevel na %d!",pname,levels); SendClientMessage(playerid,0xFF9900AA,sprava); PlayerInfo[PID][pAdmin] = levels; return 1; } format(sprava, sizeof(sprava),"%s ti dal adminlevel %d",Nam,levels); SendClientMessage(PID,0xFF9900AA,sprava); format(sprava, sizeof(sprava),"nastavil si %s adminlevel na %d!",pname,levels); SendClientMessage(playerid,0xFF9900AA,sprava); PlayerInfo[PID][pAdmin] = levels; } else { if(PlayerInfo[PID][pAdmin] >=1) return SendClientMessage(playerid,0xFF9900AA,"Nemas level 6!"); else { SendClientMessage(playerid,0xFF9900AA,"Nemas opravneni"); } } return 1; } problém robí furt ten isplayerconnected Hrozně zmatenej kód v tom se těško vyznám jednoduše. V tom kódu se pomalu nejde ani vyznat. dcmd_setlvl(playerid, params[]) { new string[128],hrac,level; if(AdminLevel[playerid] < 5) return SendClientMessage(playerid,C_WHITE,"{FF0000}Nemáš dostatečný admin level!"); if(sscanf(params,"ii",hrac,level)) return SendClientMessage(playerid,C_WHITE,"{FF0000}Použití: /setlvl [iD] [LEVEL]"); if(!IsPlayerConnected(hrac)) return SendClientMessage(playerid,C_WHITE,"{FF0000}Hráč není připojen!"); if(level < 0 || level > 5) return SendClientMessage(playerid,C_WHITE,"{FF0000}Rozmezí Levelu [0 - 5]!"); format(string,sizeof(string),"{FF0000}Administrátor %s nastavil hráči %s Admin-Level: %d",PlayerName(playerid),PlayerName(hrac),level); SendClientMessageToAll(C_WHITE,string); AdminLevel[hrac] = level; return true; } Příkaz, proměnné atd... si uprav podle sebe to snad zvládneš. okej skúsim Link to comment Share on other sites More sharing options...
0 Fr0st 23 Odesláno: 7. Září, 2012 Share Odesláno: 7. Září, 2012 Jak by ti to nešlo tak ja by som ti dal svoj cez chrfind lebo do sscanf sa nerozumiem Link to comment Share on other sites More sharing options...
0 XxM4st3rxX 3 Odesláno: 7. Září, 2012 Author Share Odesláno: 7. Září, 2012 ach jaj errory (346) : error 035: argument type mismatch (argument 2) (347) : error 035: argument type mismatch (argument 2) (348) : error 035: argument type mismatch (argument 2) (349) : error 035: argument type mismatch (argument 2) (351) : error 035: argument type mismatch (argument 1) ps.v tom kóde nieje žiadna chyba a aj tak hlási chybu :wtf: kód CMD:setadmin(playerid, params[]) { new string[128],hrac,level; if(PlayerInfo[playerid][pAdmin] < 6) return SendClientMessage(playerid,C_WHITE,"{FF0000}Nemáš dostatečný admin level!"); //346 if(sscanf(params,"ii",hrac,level)) return SendClientMessage(playerid,C_WHITE,"{FF0000}Použití: /setadmin [iD] [LEVEL]"); //347 if(!IsPlayerConnected(hrac)) return SendClientMessage(playerid,C_WHITE,"{FF0000}Hráč není připojen!"); //348 if(level < 0 || level > 6) return SendClientMessage(playerid,C_WHITE,"{FF0000}Rozmezí Levelu [0 - 6]!"); //349 format(string,sizeof(string),"{FF0000}Administrátor %s nastavil hráči %s Admin-Level: %d",PlayerName(playerid),PlayerName(hrac),level); SendClientMessageToAll(C_WHITE,string); //351 PlayerInfo[hrac][pAdmin] = level; return 1; } Link to comment Share on other sites More sharing options...
0 TheRohlikar 21 Odesláno: 7. Září, 2012 Share Odesláno: 7. Září, 2012 Já to mám takto.. dcmd_setlvl(playerid,params[]) { new id = strval(params[0]); new lvl = strval(params[1]); new str[128]; if(AdminLevel[playerid] < 4) return SCM(playerid,Bila,"{FF0000}[ ADMINISTRATION ]{FFFFFF}Nejste přihlášen za RCON !"); if(!params[0] || !params[1]) return SCM(playerid,Bila,"{FF0000}[ ADMINISTRATION ]{FFFFFF}Použití /setlvl [ ID ] [ A-LEVEL ]!"); if(!IsPlayerConnected(id)) return SCM(playerid,Bila, "{FF0000}[ ADMINISTRATION ]{FFFFFF}Tento Hráč není Připojený"); if(IsPlayerNPC(id)) return SCM(playerid,Bila,"{FF0000}[ ADMINISTRATION ]{FFFFFF}Tento hráč je NPC BOT ! Nelze nastavit Admin Level !"); if(lvl < 0 || lvl > 4) return SCM(playerid,Bila,"{FF0000}[ ADMINISTRATION ]{FFFFFF}Rozmezí A- Levelu [ 0 - 4 ] !"); format(str,sizeof(str),"{FF0000}[ ADMINISTRATION ]Hlavní Administrátor %s(%d) nastavil Hráči %s(%d) Admin - Level %d!",PlayerName(playerid),playerid,PlayerName(id),id,lvl); SCMTA(Bila,str); AdminLevel[id] = lvl; printf(str); return 1; } Link to comment Share on other sites More sharing options...
0 XxM4st3rxX 3 Odesláno: 8. Září, 2012 Author Share Odesláno: 8. Září, 2012 Okej, môžte to locknúť Link to comment Share on other sites More sharing options...
Dotaz
XxM4st3rxX 3
čaute, už dlhšiu dobu špekulujem nad týmto kódom ktorý nefunguje tak ako má..
problem je v tom že keď zadám ID (nar. 1,2,3) ktoré na serveri nieje tak sa to zachová tak ako keby som zadal svoje ID (0)
myslim si že niečo nieje v poriadku s tým if(IsPlayerConnected.... neviem kam to umiestniť...
ps. všetko funguje tak ako má len toto nejde
díki
Link to comment
Share on other sites
14 odpovědí na tuto otázku
Recommended Posts