steve6972 Geplaatst: 1 juli 2008 Rapport Geplaatst: 1 juli 2008 Hoi, Wat is er mis met mijn /goto commando if(!strcmp(cmdtext, "/goto", true, 5)) { new targetPlayer = strval(cmdtext[ 6 ]); // cmdtext[ 6 ] > alles wat na "/goto " wordt getypt > daar de waarde van pakken (strval) = targetID new Float: PlayerPosition[ 3 ]; // float om spelers positie in op te slaan if(!IsPlayerConnected(targetPlayer)) return 1; // speelt targetPlayer uberhaubt wel? { GetPlayerPos(targetPlayer, PlayerPosition[ 0 ], PlayerPosition[ 1 ], PlayerPosition[ 2 ]); // krijg de positie van targetPlayer SetPlayerPos(playerid, PlayerPosition[ 0 ], PlayerPosition[ 1 ], PlayerPosition[ 2 ]); // zet de spelers positie naar die van targetPlayer } return 1; } Hij doet het namelijk niet. gr Steve Reageren
Ophion Geplaatst: 1 juli 2008 Rapport Geplaatst: 1 juli 2008 Hmm probeer dit eens: if(!strcmp(cmdtext, "/goto", true, 5)) { new targetPlayer = strval(cmdtext[ 6 ]); // cmdtext[ 6 ] > alles wat na "/goto " wordt getypt > daar de waarde van pakken (strval) = targetID new Float:X, FLoat:Y, Float:Z; if(IsPlayerConnected(targetPlayer)) { GetPlayerPos(targetPlayer, Float:X, FLoat:Y, Float:Z); // krijg de positie van targetPlayer SetPlayerPos(playerid,Float:X, FLoat:Y, Float:Z); // zet de spelers positie naar die van targetPlayer } return 1; } Reageren
steve6972 Geplaatst: 1 juli 2008 Auteur Rapport Geplaatst: 1 juli 2008 Bedankt, maar ik weet al waar het aan lag. Om te testen heb ik gebruikt, het woord /ga Maar in de regel: if(!strcmp(cmdtext, "/ga", true, 5)), staat een nr 5. Op het moment dat ik test met if(!strcmp(cmdtext, "/goto", true, 5)), doet hij het wel. Alleen wil ik niet precies, op de zelfde plek uitkomen, kan ik ook bv 2 autolengte`s, verderop komen? Reageren
Juwayri Geplaatst: 1 juli 2008 Rapport Geplaatst: 1 juli 2008 (bewerkt) Ik krijg error bij je code jovu. Volgens mij zijn jullie strtok vergeten Hier de mijne: Dit boven aan je script: #define COLOR_WHITE 0xFFFFFFAA #define COLOR_GREEN 0x00FF00AA Dit bij OnPlayerCommandTekst-CallBack if(strcmp(cmd,"/goto",true) == 0) { new tmp[256], targetplayer; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"SERVER: /goto [id]"); targetplayer = strval(tmp); if(!IsPlayerConnected(targetplayer)) return SendClientMessage(playerid,COLOR_WHITE,"SERVER: Invalid ID."); new Float:X, Float:Y, Float:Z; GetPlayerPos(targetplayer,X,Y,Z); if(IsPlayerInAnyVehicle(playerid)) { SetVehiclePos(GetPlayerVehicleID(playerid),X+2,Y,Z); SendClientMessage(playerid,COLOR_YELLOW,"You have been teleported"); } else { SetPlayerPos(playerid,X,Y,Z+2.5); SendClientMessage(playerid,COLOR_YELLOW,"You have been teleported"); } return 1; } Bewerkt: 1 juli 2008 door Juwayri Reageren
Sandra Geplaatst: 1 juli 2008 Rapport Geplaatst: 1 juli 2008 Als je maar 1 parameter gebruikt, hoef je niet per se strtok te gebruiken hoor Reageren
Juwayri Geplaatst: 1 juli 2008 Rapport Geplaatst: 1 juli 2008 Bedankt, maar ik weet al waar het aan lag.Om te testen heb ik gebruikt, het woord /ga Maar in de regel: if(!strcmp(cmdtext, "/ga", true, 5)), staat een nr 5. Op het moment dat ik test met if(!strcmp(cmdtext, "/goto", true, 5)), doet hij het wel. Alleen wil ik niet precies, op de zelfde plek uitkomen, kan ik ook bv 2 autolengte`s, verderop komen? Dat staat er bij mij al in Reageren
steve6972 Geplaatst: 1 juli 2008 Auteur Rapport Geplaatst: 1 juli 2008 Bedankt, maar ik weet al waar het aan lag.Om te testen heb ik gebruikt, het woord /ga Maar in de regel: if(!strcmp(cmdtext, "/ga", true, 5)), staat een nr 5. Op het moment dat ik test met if(!strcmp(cmdtext, "/goto", true, 5)), doet hij het wel. Alleen wil ik niet precies, op de zelfde plek uitkomen, kan ik ook bv 2 autolengte`s, verderop komen? Dat staat er bij mij al in Wat bedoel je,.. die 2 autolengte`s, of die /goto Reageren
Juwayri Geplaatst: 1 juli 2008 Rapport Geplaatst: 1 juli 2008 Bedankt, maar ik weet al waar het aan lag.Om te testen heb ik gebruikt, het woord /ga Maar in de regel: if(!strcmp(cmdtext, "/ga", true, 5)), staat een nr 5. Op het moment dat ik test met if(!strcmp(cmdtext, "/goto", true, 5)), doet hij het wel. Alleen wil ik niet precies, op de zelfde plek uitkomen, kan ik ook bv 2 autolengte`s, verderop komen? Dat staat er bij mij al in Wat bedoel je,.. die 2 autolengte`s, of die /goto beide Reageren
Ophion Geplaatst: 1 juli 2008 Rapport Geplaatst: 1 juli 2008 (bewerkt) Als je zijn script eventjes doorleest, kun je het antwoord al snel vinden. if(IsPlayerInAnyVehicle(playerid)) { SetVehiclePos(GetPlayerVehicleID(playerid),X+2,Y,Z); SendClientMessage(playerid,COLOR_YELLOW,"You have been teleported"); } Bij de X komt er 2 bij op. EDIT: Jaja, Juwayri is snel tegenwoordig Bewerkt: 1 juli 2008 door jovu123 Reageren
steve6972 Geplaatst: 1 juli 2008 Auteur Rapport Geplaatst: 1 juli 2008 klopt het dat op het moment dat ik alleen /goto, gebruik ( dus zonder id ), dat de server crasht, dat gebeurt namelijk. Reageren
Ophion Geplaatst: 1 juli 2008 Rapport Geplaatst: 1 juli 2008 (bewerkt) if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /goto (id)"); return 1; } Bewerkt: 1 juli 2008 door jovu123 Reageren
steve6972 Geplaatst: 1 juli 2008 Auteur Rapport Geplaatst: 1 juli 2008 (bewerkt) dank je Bewerkt: 1 juli 2008 door steve6972 Reageren
Ophion Geplaatst: 1 juli 2008 Rapport Geplaatst: 1 juli 2008 if(!strcmp(cmdtext, "/goto", true, 5)) { if(!strlen(tmp)){ SendClientMessage(playerid, 0xD2691EAA, "USAGE: /goto (id)"); return 1; } new targetPlayer = strval(cmdtext[ 6 ]); // cmdtext[ 6 ] > alles wat na "/goto " wordt getypt > daar de waarde van pakken (strval) = targetID new Float:X, FLoat:Y, Float:Z; // float om spelers positie in op te slaan if(!IsPlayerConnected(targetPlayer)) return 1; // speelt targetPlayer uberhaubt wel? { GetPlayerPos(targetPlayer, X, X, X); // krijg de positie van targetPlayer SetPlayerPos(playerid,X, Y, Z+2.5); // zet de spelers positie naar die van targetPlayer } return 1; } Reageren
steve6972 Geplaatst: 5 juli 2008 Auteur Rapport Geplaatst: 5 juli 2008 C:\PROGRA~1\ROCKST~1\GTASAN~1\TESTSE~1\ORIGIN~1\samp\FILTER~1\PROJEC~1.PWN(40) : warning 213: tag mismatch C:\PROGRA~1\ROCKST~1\GTASAN~1\TESTSE~1\ORIGIN~1\samp\FILTER~1\PROJEC~1.PWN(41) : warning 213: tag mismatch C:\PROGRA~1\ROCKST~1\GTASAN~1\TESTSE~1\ORIGIN~1\samp\FILTER~1\PROJEC~1.PWN(50) : warning 209: function "OnPlayerCommandText" should return a value Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 3 Warnings. public OnPlayerCommandText(playerid, cmdtext[]) if(!strcmp(cmdtext, "/goto", true, 5)) { new targetPlayer = strval(cmdtext[ 6 ]); // cmdtext[ 6 ] > alles wat na "/goto " wordt getypt > daar de waarde van pakken (strval) = targetID new Float:X, FLoat:Y, Float:Z; // float om spelers positie in op te slaan if(!IsPlayerConnected(targetPlayer)) return 1; // speelt targetPlayer uberhaubt wel? { GetPlayerPos(targetPlayer, X, Y, Z); // krijg de positie van targetPlayer SetPlayerPos(playerid,X, Y, Z+2.5); // zet de spelers positie naar die van targetPlayer } return 1; } Dit krijg ik te zien, wat gaat er nu fout?? Reageren
steve6972 Geplaatst: 5 juli 2008 Auteur Rapport Geplaatst: 5 juli 2008 C:\PROGRA~1\ROCKST~1\GTASAN~1\TESTSE~1\ORIGIN~1\samp\FILTER~1\PROJEC~1.PWN(40) : warning 213: tag mismatchC:\PROGRA~1\ROCKST~1\GTASAN~1\TESTSE~1\ORIGIN~1\samp\FILTER~1\PROJEC~1.PWN(41) : warning 213: tag mismatch C:\PROGRA~1\ROCKST~1\GTASAN~1\TESTSE~1\ORIGIN~1\samp\FILTER~1\PROJEC~1.PWN(50) : warning 209: function "OnPlayerCommandText" should return a value Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 3 Warnings. public OnPlayerCommandText(playerid, cmdtext[]) if(!strcmp(cmdtext, "/goto", true, 5)) { new targetPlayer = strval(cmdtext[ 6 ]); // cmdtext[ 6 ] > alles wat na "/goto " wordt getypt > daar de waarde van pakken (strval) = targetID new Float:X, FLoat:Y, Float:Z; // float om spelers positie in op te slaan if(!IsPlayerConnected(targetPlayer)) return 1; // speelt targetPlayer uberhaubt wel? { GetPlayerPos(targetPlayer, X, Y, Z); // krijg de positie van targetPlayer SetPlayerPos(playerid,X, Y, Z+2.5); // zet de spelers positie naar die van targetPlayer } return 1; } Dit krijg ik te zien, wat gaat er nu fout?? De derde heb ik opgelost, met het commando af te sluiten, met return 0 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.