Skip to content
Bekijk in de app

Een betere weg om onze GTA community te volgen. Leer meer.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

Een volledig scherm app op het beginscherm inclusief notificaties, badges en meer.

Om deze app op je iPhone en iPad te installeren
  1. Druk op het icoon in Safari
  2. Scroll in het menu en druk op Zet op beginscherm.
  3. Druk op Voeg toe rechts bovenaan.
Om deze app op je Android toe te voegen
  1. Druk op het 3-punten menu (⋮) rechts bovenaan in de browser.
  2. Druk op Toevoegen aan beginscherm of Installeer app.
  3. Druk op Toevoegen om te bevestigen.

Teleporten naar een persoon, niet naar coördinaten

Geplaatst:

Hey ik heb dit:

			 if(strcmp(cmdtext, "/sftune", true) == 0)
		{new cartype = GetPlayerVehicleID(playerid);
					new State=GetPlayerState(playerid);
		{if(State!=PLAYER_STATE_DRIVER)
  			{SetPlayerPos(playerid,-2700.0000,212.0000,5.1250);}
			else if(IsPlayerInVehicle(playerid, cartype) == 1)
		{SetVehiclePos(cartype,-2700.0000,212.0000,5.1250);
		SetVehicleZAngle(cartype,270);}
		else
		{SetPlayerPos(playerid,-2700.0000,212.0000,5.1250);}
	 GameTextForPlayer(playerid,"~w~Wheel Arch Angels",2500,3);}
return 1;

}

Als je nu ingame /sftune typt dan teleport je naar de Wheel Arch angels. Maar ik wil niet dat je ergens naartoe teleport met coördinaten, maar naar íemand toe. Dus dat je bijvoorbeeld "/teleport 4" doet en dat je dan naar degene met id 4 toe teleport. Maar hoe script ik dat?

Featured Replies

Geplaatst:

strtok/dcmd gebruiken, staat op dit forum nog wel een tutorial over..

Geplaatst:
  • Auteur

Ik heb wel gezocht, maar snap er niks van. Kun je die coördinaten niet gewoon voor iets als "playerid" ofzo vervangen?

Geplaatst:

zoek je iets als dit?

K heb dit ff snel in elkaar geknutselt en niet gestest

als er fouten in zitten, dan zeg het maar ff

Ik hoop dat je er iets aan hebt :bier:

en wat flame ook zegt

strtok/dcmd gebruiken, staat op dit forum nog wel een tutorial over..

je kan beter een paar goede tuts doorlezen en ff hier --> http://forum.sa-mp.com/index.php goed rondkijken

(en leer de basis van pawn, dan snap je er veel meer van)

gegroet bram

bovenaan:

#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD6 0xF0F0F0FF
new Float:TelePos[MAX_PLAYERS][6];

Bovenaan bij OnPlayerCommandText:

(net onder public OnPlayerCommandText(playerid, cmdtext[]){ dus)

	new string[256];
new tmp[256];
new cmd[256];
new  idx;
cmd = strtok(cmdtext, idx);

ergens tussen je andere commands:

	if(strcmp(cmd, "/goto", true) == 0)
{
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp))
	{
		SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /goto [playerid/PartOfName]");
		return 1;
	}
		new Float:plocx,Float:plocy,Float:plocz;
		new plo;
	if(IsStringAName(tmp))
	{
		plo = GetPlayerID(tmp);
	}
	else
	{
		plo = strval(tmp);
	}
		if (IsPlayerConnected(plo))
		{
			if (IsPlayerAdmin(playerid))
			{

				GetPlayerPos(plo, plocx, plocy, plocz);

				if(plocz > 530.0) //the highest land point in sa = 526.8
				{
					SetPlayerInterior(playerid,1);
				}
				if (GetPlayerState(playerid) == 2)
				{
					new tmpcar = GetPlayerVehicleID(playerid);
					SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
					TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
				}
				else
				{
					SetPlayerPos(playerid,plocx,plocy+2, plocz);
				}
				SendClientMessage(playerid, COLOR_GRAD1, "   You have been teleported");
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   you are not authorized to use that command!");
			}
		}
		else
		{
			format(string, sizeof(string), "   %d is not an active player.", plo);
			SendClientMessage(playerid, COLOR_GRAD1, string);
		}
	return 1;
}

ergens onderaan:

public IsNumeric(const string[])
{
for (new i = 0, j = strlen(string); i < j; i++) {
	if (string[i] > '9' || string[i] < '0') {
		return 0;
	}
}

return 1;
}

public IsStringAName(string[])
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
	if(IsPlayerConnected(i) == 1)
	{
		new testname[MAX_PLAYER_NAME];
		GetPlayerName(i, testname, sizeof(testname));
		//printf("IsS:testname = %s : string = %s",testname,string);
		if(strcmp(testname, string, true, strlen(string)) == 0)
		{
			//printf("TRUE IsS:testname = %s : string = %s",testname,string);
			return 1;
		}
	}
}
return 0;
}

public GetPlayerID(string[])
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
	if(IsPlayerConnected(i) == 1)
	{
		new testname[MAX_PLAYER_NAME];
		GetPlayerName(i, testname, sizeof(testname));
		//printf("GetP:testname = %s : string = %s",testname,string);
		if(strcmp(testname, string, true, strlen(string)) == 0)
		{
			//printf("TRUE GetP:testname = %s : string = %s playerid %d",testname,string, i);
			return i;
		}
	}
}
return INVALID_PLAYER_ID;
}

strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
	index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
	result[index - offset] = string[index];
	index++;
}
result[index - offset] = EOS;
return result;
}

Bewerkt: door bramiesaus

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.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.

Account

Navigatie

Zoeken

Zoeken

Configureer push berichten

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.