Gast Geplaatst: 27 april 2010 Rapport Geplaatst: 27 april 2010 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. Reageren
Shotyoudie Geplaatst: 27 april 2010 Rapport Geplaatst: 27 april 2010 Meestal heb je dan een '}' of '{' teveel of te weinig Reageren
Gast Geplaatst: 27 april 2010 Rapport Geplaatst: 27 april 2010 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. Reageren
Freaksken Geplaatst: 27 april 2010 Rapport Geplaatst: 27 april 2010 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. Reageren
Gast Geplaatst: 27 april 2010 Rapport Geplaatst: 27 april 2010 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. Reageren
Ymosky Geplaatst: 27 april 2010 Rapport Geplaatst: 27 april 2010 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 Reageren
Gast Geplaatst: 27 april 2010 Rapport Geplaatst: 27 april 2010 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. Reageren
Freaksken Geplaatst: 27 april 2010 Rapport Geplaatst: 27 april 2010 Idd, die } boven ProxDetector( staat er overbodig. Werkt het dan nog niet Post dan het 2e command toch maar eens. Reageren
Gast Geplaatst: 27 april 2010 Rapport Geplaatst: 27 april 2010 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; } Reageren
Freaksken Geplaatst: 28 april 2010 Rapport Geplaatst: 28 april 2010 Je hebt weer een } te veel, doe die } boven de laatste return 1; eens weg. Reageren
Big Boss Geplaatst: 28 april 2010 Rapport Geplaatst: 28 april 2010 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 '}'. Reageren
Freaksken Geplaatst: 28 april 2010 Rapport Geplaatst: 28 april 2010 Onderstaande code klopt tevens nog niet; Je hebt 5 keer een open accolade '{' en 6 keer een '}'. zeg ik toch Reageren
Gast Geplaatst: 28 april 2010 Rapport Geplaatst: 28 april 2010 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. Reageren
Freaksken Geplaatst: 28 april 2010 Rapport Geplaatst: 28 april 2010 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. 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.