Geplaatst: 27 april 201015 jaren comment_1639364 Nou, ik krijg de error 'PAWN Compiler Library is gestopt met werken' als ik een command die ik heb (/l) kopiëer en even wat aanpas. Dus als ik dan compile, geeft hij die error. Dus ik kopiëer de /l command, verander het in /s en doe verander de ProxDetector range, en zorg dat er komt te staan 'naam shouts:'. Als ik dat doe, krijg ik die error. Als ik hem verwijder, geeft hij geen error. Als ik die /s laat staan en verwijder de /l, doet ie het ook. Maar als ik ze samen heb = fail. Meer valt er niet over te zeggen denk ik.
Geplaatst: 27 april 201015 jaren comment_1639388 Meestal heb je dan een '}' of '{' teveel of te weinig
Geplaatst: 27 april 201015 jaren comment_1639394 Meestal heb je dan een '}' of '{' teveel of te weinig Beide klopt niet, als ik een } of { verwijder, werkt de script niet meer. Als ik een } { toevoeg, doet ie het nog niet. Ik heb er nu 4 toegevoegd ( } ) en het werkt nog niet, ik denk niet dat er zoveel moeten staan.
Geplaatst: 27 april 201015 jaren comment_1639409 Meestal heb je dan een '}' of '{' teveel of te weinig Beide klopt niet, als ik een } of { verwijder, werkt de script niet meer. Als ik een } { toevoeg, doet ie het nog niet. Ik heb er nu 4 toegevoegd ( } ) en het werkt nog niet, ik denk niet dat er zoveel moeten staan. Je moet niet gwn willekeurig oveeral een paar {} gaan neerzetten!!! Post de 2 commands eens.
Geplaatst: 27 april 201015 jaren comment_1639420 Meestal heb je dan een '}' of '{' teveel of te weinig Beide klopt niet, als ik een } of { verwijder, werkt de script niet meer. Als ik een } { toevoeg, doet ie het nog niet. Ik heb er nu 4 toegevoegd ( } ) en het werkt nog niet, ik denk niet dat er zoveel moeten staan. Je moet niet gwn willekeurig oveeral een paar {} gaan neerzetten!!! Post de 2 commands eens. if(strcmp(cmd,"/l",true)==0) // { if(IsPlayerConnected(playerid)) { if(logged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "You havent logged in yet !"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GREEN, "USAGE: /l <chat>"); return 1; } format(string, sizeof(string), "%s(%i) says: %s", sendername, playerid, result); } ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", string); } return 1; } En /s is gewoon copy+paste en wat ge-edit.
Geplaatst: 27 april 201015 jaren comment_1639443 De derde accolade (zo heten die "{ } { dingen") van onder staat er volgens mij teveel (net boven "ProxDetector"). Daarnaast is de functie 'IsPlayerConnected' niet afgesloten met een accolade, maar die functie is in dit geval totaal overbodig.. een speler die niet connected is kan ook geen commando typen Zo zou het volgens mij moeten werken (zelf niet getest, heb op dit moment geen Pawno op m'n pc staan): if(strcmp(cmd,"/l",true)==0) // { if(logged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "You havent logged in yet !"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GREEN, "USAGE: /l <chat>"); return 1; } format(string, sizeof(string), "%s(%i) says: %s", sendername, playerid, result); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", string); } return 1; } groetjes, Ymosky
Geplaatst: 27 april 201015 jaren comment_1639460 De derde accolade (zo heten die "{ } { dingen") van onder staat er volgens mij teveel (net boven "ProxDetector"). Daarnaast is de functie 'IsPlayerConnected' niet afgesloten met een accolade, maar die functie is in dit geval totaal overbodig.. een speler die niet connected is kan ook geen commando typen Zo zou het volgens mij moeten werken (zelf niet getest, heb op dit moment geen Pawno op m'n pc staan): if(strcmp(cmd,"/l",true)==0) // { if(logged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "You havent logged in yet !"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GREEN, "USAGE: /l <chat>"); return 1; } format(string, sizeof(string), "%s(%i) says: %s", sendername, playerid, result); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", string); } return 1; } groetjes, Ymosky Heeft niks uitgehaald. Voor de duidelijkheid: DE SCRIPT IS GOED Het probleem is als ik dezelfde command will hebben alleen dan andere naam (/s i.p.v /l) dan stopt ie met werken.
Geplaatst: 27 april 201015 jaren comment_1639525 Idd, die } boven ProxDetector( staat er overbodig. Werkt het dan nog niet Post dan het 2e command toch maar eens.
Geplaatst: 27 april 201015 jaren comment_1639531 Daar komt ie dan. if(strcmp(cmd,"/s",true)==0) // { if(logged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "You havent logged in yet !"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GREEN, "USAGE: /s <chat>"); return 1; } format(string, sizeof(string), "%s(%i) shouts: %s !!", sendername, playerid, result); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", string); } return 1; }
Geplaatst: 28 april 201015 jaren comment_1639632 Je hebt weer een } te veel, doe die } boven de laatste return 1; eens weg.
Geplaatst: 28 april 201015 jaren comment_1639642 Lijn je script gewoon van de eerste keer goed uit, dan heb je dat probleem niet. Je ziet dan meteen waar er een accolade te veel of te weinig is. Onderstaande code klopt tevens nog niet; Je hebt 5 keer een open accolade '{' en 6 keer een '}'.
Geplaatst: 28 april 201015 jaren comment_1639695 Onderstaande code klopt tevens nog niet; Je hebt 5 keer een open accolade '{' en 6 keer een '}'. zeg ik toch
Geplaatst: 28 april 201015 jaren comment_1639785 Oke, ik heb jullie advies opgevolgd. En hopelijk goed. Dit is wat ik nu heb: if(strcmp(cmd,"/l",true)==0) // { GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GREEN, "USAGE: /l <chat>"); return 1; } format(string, sizeof(string), "%s(%i) says: %s", sendername, playerid, result); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", string); return 1; } if(strcmp(cmd,"/s",true)==0) // { GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GREEN, "USAGE: /s <chat>"); return 1; } format(string, sizeof(string), "%s(%i) shouts: %s !!", sendername, playerid, result); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", string); } return 1; } En het werkt perfect.
Geplaatst: 28 april 201015 jaren comment_1640236 Oke, ik heb jullie advies opgevolgd. En hopelijk goed. Dit is wat ik nu heb: if(strcmp(cmd,"/l",true)==0) // { GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GREEN, "USAGE: /l <chat>"); return 1; } format(string, sizeof(string), "%s(%i) says: %s", sendername, playerid, result); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", string); return 1; } if(strcmp(cmd,"/s",true)==0) // { GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_GREEN, "USAGE: /s <chat>"); return 1; } format(string, sizeof(string), "%s(%i) shouts: %s !!", sendername, playerid, result); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); printf("%s", string); } return 1; } En het werkt perfect. Bij je 2e command is er nochtans nog altijd een } te veel.
Nou, ik krijg de error 'PAWN Compiler Library is gestopt met werken' als ik een command die ik heb (/l) kopiëer en even wat aanpas.
Dus als ik dan compile, geeft hij die error.
Dus ik kopiëer de /l command, verander het in /s en doe verander de ProxDetector range, en zorg dat er komt te staan 'naam shouts:'.
Als ik dat doe, krijg ik die error. Als ik hem verwijder, geeft hij geen error. Als ik die /s laat staan en verwijder de /l, doet ie het ook.
Maar als ik ze samen heb = fail.
Meer valt er niet over te zeggen denk ik.