Jump to content
View in the app

A better way to browse. Learn more.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

waarom werkt mijn /goto niet?

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

Featured Replies

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;
}

  • Author

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?

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;
}

Edited by Juwayri

Als je maar 1 parameter gebruikt, hoef je niet per se strtok te gebruiken hoor ;)

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 ;)

  • Author
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

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

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 :Y

Edited by jovu123

  • Author

klopt het dat op het moment dat ik alleen /goto, gebruik ( dus zonder id ),

dat de server crasht, dat gebeurt namelijk.

	if(!strlen(tmp)){
SendClientMessage(playerid, 0xD2691EAA, "USAGE: /goto (id)");
return 1;
}

Edited by jovu123

  • Author

dank je

Edited by steve6972

 	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;
}

  • Author

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??

  • Author
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??

De derde heb ik opgelost, met het commando af te sluiten, met return 0

  • 2 weeks later...

bij mij krijg ik 1 error.. weet niet wat ik fout doe

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;
	}
	return 0;
}

error is dit : D:\Games\SAMP-server\pawno\server.pwn(380) : warning 213: tag mismatch

regel 380 is deze: SetPlayerPos(playerid,X, Y, Z+2.5); // zet de spelers positie naar die van targetPlayer

iemand die het weet? ^_^

invix

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.