Gast Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 (bewerkt) Ik had een /freeze command gemaakt die alleen op jezelf werkte. Nu had ik giverplayerid toegevoegd, maar dat werkte niet. Nu gebruik ik Sandra's /freeze command alleen dan werkt hij nog niet. Dit is de code: 223 if(strcmp(cmd, "/freeze", true)==0) 224 { 225 if(adminlevel[playerid] >= 1) { 226 new giveplayerid; 227 tmp = strtok(cmdtext, idx); 228 if(!strlen(tmp)) 229 { 230 SendClientMessage(playerid, COLOR_WHITE, "USAGE: /freeze <playerid>"); 231 return 1; 232 } 233 giveplayerid = strval(tmp); 234 if(!IsPlayerConnected(giveplayerid)) 235 { 236 SendClientMessage(playerid, COLOR_WHITE, "Player is not connected"); 237 return 1; 238 } 239 TogglePlayerControllable(giveplayerid, 0); 240 Frozen[giveplayerid] = 1; 241 SendClientMessage(playerid, COLOR_YELLOW, "Player has been frozen"); 242 SendClientMessage(giveplayerid, COLOR_YELLOW, "You are frozen."); 243 return 1; 244 } Error: merp.TMP(226): warning 219: local variable "giveplayerid" shadows a variable at a preceding level merp.TMP(247): warning 217: loose identation merp.TMP(318:error 029:invalid expression, assumed zero merp.TMP(318:error 004:function "OnPlayerDisconnect" is not impltented merp,TMP(337): error 030: compound statement not closed at the end of file (started at line 225) Als ik new giveplayerid verwijder zegt hij: merp.TMP(247: warning 217: loose identation merp.TMP(318): error 029: invalid expresson, assumed zerp merp.TMP(318): error 004: function "OnPlayerDisconnect" is not implemented merp.TMP(337): error 030: compound statement not closed at the end of file (started at line 225) Als ik if(adminlevel[playerid] >= 1) { verwijder dan zegt hij dit: Compiled successfull Maar ik heb die adminlevel check nodig.. Bewerkt: 12 april 2010 door Gast Reageren
GTAguillaume Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 (bewerkt) merp.TMP(226): warning 219: local variable "giveplayerid" shadows a variable at a preceding level De variabele giveplayerid is al gebruikt (bij een hogere blok of als globale variabele). Als ik if(adminlevel[playerid] >= 1) { verwijder dan zegt hij dit: Toon eens de declaratie van adminlevel. Bewerkt: 12 april 2010 door GTAguillaume Reageren
Shotyoudie Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 merp.TMP(226): warning 219: local variable "giveplayerid" shadows a variable at a preceding level De variabele giveplayerid is al gebruikt (bij een hogere blok of als globale variabele). Als ik if(adminlevel[playerid] >= 1) { verwijder dan zegt hij dit: Toon eens de declaratie van adminlevel. Hij heeft ook else of return vergeten dit is wat je hebt: if(adminlevel[playerid] >= 1) { zo moet het zijn: if(adminlevel[playerid] >= 1) { // als degene boven admin level 1 is } else } // als die dat niet is { Reageren
GTAguillaume Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 Een else (met return) is niet noodzakelijk. Maar ik zag net dat je ook nog een '}' vergeten bent, tenzij je een '}' te weinig gekopieerd hebt naar hier. Reageren
Gast Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 Een else (met return) is niet noodzakelijk. Maar ik zag net dat je ook nog een '}' vergeten bent, tenzij je een '}' te weinig gekopieerd hebt naar hier. Als ik dat doe, dan zegt hij dat PAWN Compiler library niet meer werkt. Reageren
Wanted Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 223 if(strcmp(cmd, "/freeze", true)==0) 224 { 225 if(adminlevel[playerid] >= 1) { //<------------------- 226 new giveplayerid; 227 tmp = strtok(cmdtext, idx); 228 if(!strlen(tmp)) 229 { 230 SendClientMessage(playerid, COLOR_WHITE, "USAGE: /freeze <playerid>"); 231 return 1; 232 } 233 giveplayerid = strval(tmp); 234 if(!IsPlayerConnected(giveplayerid)) 235 { 236 SendClientMessage(playerid, COLOR_WHITE, "Player is not connected"); 237 return 1; 238 } 239 TogglePlayerControllable(giveplayerid, 0); 240 Frozen[giveplayerid] = 1; 241 SendClientMessage(playerid, COLOR_YELLOW, "Player has been frozen"); 242 SendClientMessage(giveplayerid, COLOR_YELLOW, "You are frozen."); 243 return 1; 244 } De bracket, aangegeven met de pijl, wordt nooit gesloten. Reageren
Gast Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 (bewerkt) 223 if(strcmp(cmd, "/freeze", true)==0) 224 { 225 if(adminlevel[playerid] >= 1) { //<------------------- 226 new giveplayerid; 227 tmp = strtok(cmdtext, idx); 228 if(!strlen(tmp)) 229 { 230 SendClientMessage(playerid, COLOR_WHITE, "USAGE: /freeze <playerid>"); 231 return 1; 232 } 233 giveplayerid = strval(tmp); 234 if(!IsPlayerConnected(giveplayerid)) 235 { 236 SendClientMessage(playerid, COLOR_WHITE, "Player is not connected"); 237 return 1; 238 } 239 TogglePlayerControllable(giveplayerid, 0); 240 Frozen[giveplayerid] = 1; 241 SendClientMessage(playerid, COLOR_YELLOW, "Player has been frozen"); 242 SendClientMessage(giveplayerid, COLOR_YELLOW, "You are frozen."); 243 return 1; 244 } De bracket, aangegeven met de pijl, wordt nooit gesloten. met deze code heb ik anders geen problemen: if(strcmp(cmd, "/adminhelp", true) == 0) { if(adminlevel[playerid] >= 1) { SendClientMessage(playerid, COLOR_WHITE, "==========================="); SendClientMessage(playerid, COLOR_WHITE, " mehRP ADMIN COMMAND LIST"); SendClientMessage(playerid, COLOR_WHITE, "==========================="); SendClientMessage(playerid, COLOR_WHITE, "PLAYER:: /freeze /unfreeze /ban /kick /tempban /money"); SendClientMessage(playerid, COLOR_WHITE, "VEHICLE:: /spawnvehicle"); SendClientMessage(playerid, COLOR_WHITE, "ADMIN:: /adminduty on /adminduty off"); } Ik had een /* */ gedaan bij mijn commands, en toen kreeg ik: merp.TMP(318): error 029: invalid expresson, assumed zerp merp.TMP(318): error 004: function "OnPlayerDisconnect" is not implemented merp.TMP(337): error 030: compound statement not closed at the end of file (started at line ...) Hij geeft dan bij (started at line ...) verschillende lines waar die admin check staat, maar voor die freeze command had ik geen problemen. En als ik die freeze command verwijderd, heb ik het nog steeds alleen dan doet ie dit: merp.TMP(318): error 029: invalid expresson, assumed zerp merp.TMP(318): error 004: function "OnPlayerDisconnect" is not implemented merp.TMP(337): error 030: compound statement not closed at the end of file (started at line 87) 87 new cmd[256],tmp[256], tmp2[256]; Bewerkt: 12 april 2010 door Gast Reageren
GTAguillaume Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 (bewerkt) De bracket, aangegeven met de pijl, wordt nooit gesloten. Dat bedoelde ik. Als ik dat doe, dan zegt hij dat PAWN Compiler library niet meer werkt. Heb je dit al opgelost?: merp.TMP(226): warning 219: local variable "giveplayerid" shadows a variable at a preceding level De variabele giveplayerid is al gebruikt (bij een hogere blok of als globale variabele). Als ik if(adminlevel[playerid] >= 1) { verwijder dan zegt hij dit: Toon eens de declaratie van adminlevel. Bewerkt: 12 april 2010 door GTAguillaume Reageren
Gast Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 (bewerkt) De bracket, aangegeven met de pijl, wordt nooit gesloten. Dat bedoelde ik. Als ik dat doe, dan zegt hij dat PAWN Compiler library niet meer werkt. Heb je dit al opgelost?: merp.TMP(226): warning 219: local variable "giveplayerid" shadows a variable at a preceding level De variabele giveplayerid is al gebruikt (bij een hogere blok of als globale variabele). Ik heb het opgelost door die giveplayerid te verwijderen. Wat bedoel je toon eens de decleratie van adminlevel? Decleratie heeft normaal iets met geld te maken. Bewerkt: 12 april 2010 door Gast Reageren
geso Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 De bracket, aangegeven met de pijl, wordt nooit gesloten. Dat bedoelde ik. Als ik dat doe, dan zegt hij dat PAWN Compiler library niet meer werkt. Heb je dit al opgelost?: merp.TMP(226): warning 219: local variable "giveplayerid" shadows a variable at a preceding level De variabele giveplayerid is al gebruikt (bij een hogere blok of als globale variabele). Ik heb het opgelost door die giveplayerid te verwijderen. Wat bedoel je toon eens de decleratie van adminlevel? Decleratie heeft normaal iets met geld te maken. hij bedoelt waar je de adminlevel hebt gedefinieerd denk ik. Reageren
Gast Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 De bracket, aangegeven met de pijl, wordt nooit gesloten. Dat bedoelde ik. Als ik dat doe, dan zegt hij dat PAWN Compiler library niet meer werkt. Heb je dit al opgelost?: merp.TMP(226): warning 219: local variable "giveplayerid" shadows a variable at a preceding level De variabele giveplayerid is al gebruikt (bij een hogere blok of als globale variabele). Ik heb het opgelost door die giveplayerid te verwijderen. Wat bedoel je toon eens de decleratie van adminlevel? Decleratie heeft normaal iets met geld te maken. hij bedoelt waar je de adminlevel hebt gedefinieerd denk ik. new adminlevel[MAX_PLAYERS]; /register dini_IntSet(udb_encode(playername), "adminlevel", 0); /login adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel"); Reageren
geso Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 De bracket, aangegeven met de pijl, wordt nooit gesloten. Dat bedoelde ik. Als ik dat doe, dan zegt hij dat PAWN Compiler library niet meer werkt. Heb je dit al opgelost?: merp.TMP(226): warning 219: local variable "giveplayerid" shadows a variable at a preceding level De variabele giveplayerid is al gebruikt (bij een hogere blok of als globale variabele). Ik heb het opgelost door die giveplayerid te verwijderen. Wat bedoel je toon eens de decleratie van adminlevel? Decleratie heeft normaal iets met geld te maken. hij bedoelt waar je de adminlevel hebt gedefinieerd denk ik. new adminlevel[MAX_PLAYERS]; /register dini_IntSet(udb_encode(playername), "adminlevel", 0); /login adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel"); Jep, dat Reageren
GTAguillaume Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 Toon eens je nieuwe code, want normaal zou het nu moeten werken?! Reageren
Gast Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 Toon eens je nieuwe code, want normaal zou het nu moeten werken?! Zo te zien ligt het niet aan de admin check, ik heb dat gefixed. Ik had if(logged[playerid] == 1) { if(adminlevel[playerid] >= 1) { Veranderd naar if(logged[playerid] == 1) if(adminlevel[playerid] >= 1) { Nu zegt hij het bij lijn 87: new cmd[256], tmp[256], tmp2[256]; Reageren
GTAguillaume Geplaatst: 12 april 2010 Rapport Geplaatst: 12 april 2010 (bewerkt) Dus het is nu volledig gefixt? Bewerkt: 12 april 2010 door GTAguillaume Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.