Jump to content

/goto ID


Recommended Posts

Geplaatst:

Ik heb dit al script voor teleporteren naar anderen in het spel:

if(strcmp(cmd, "/goto",true) == 0)

{

new Float:x, Float:y, Float:z;

tmp = strtok(cmdtext, idx);

new giveplayerid = strval(tmp);

new giveplayername[30];

new playername[30];

new string1[256];

new string2[256];

GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));

GetPlayerName(playerid, playername, sizeof(playername));

if(!strlen(tmp))

{

SendClientMessage(playerid,COLOR_RED,"USAGE: /goto <id>");

}

if(!IsPlayerConnected(giveplayerid)){

SendClientMessage(playerid,COLOR_RED,"Warning: That player is not connected!!");

}

else if(IsPlayerConnected(giveplayerid)) {

GetPlayerPos(giveplayerid, Float:x, Float:y, Float:z);

SetPlayerPos(playerid, Float:x, Float:y, (Float:z + 3));

format(string1, sizeof(string1), "*** Je bent geteleporteerd naar %s (id: %d)!", giveplayername, giveplayerid);

format(string2, sizeof(string2), "*** %s (id: %d) is naar jou geteleporteerd!", playername, playerid);

SendClientMessage(playerid, COLOR_GREEN, string1);

SendClientMessage(giveplayerid, COLOR_YELLOW, string2);

}

return 1;

}

Als ID 0 (1e speler in server) wilt teleporteren met bijv. /goto 1 dan teleporteert hij de heletijd naar zijn eigen ook met /goto 4 bijv.

Wat zit er fout?

Geplaatst:

Probeer mijne goto eens bij mij doet ie het

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)) || PlayerInfo[playerid][pAdmin] >= 1)

{

if(Spectate[playerid] != 255)

{

Spectate[playerid] = 256;

}

GetPlayerPos(plo, plocx, plocy, plocz);

if(PlayerInfo[plo][pInt] > 0)

{

SetPlayerInterior(playerid,PlayerInfo[plo][pInt]);

PlayerInfo[playerid][pInt] = PlayerInfo[plo][pInt];

PlayerInfo[playerid][pLocal] = PlayerInfo[plo][pLocal];

}

if(PlayerInfo[playerid][pInt] == 0)

{

SetPlayerInterior(playerid,0);

}

if(plocz > 530.0 && PlayerInfo[plo][pInt] == 0) //the highest land point in sa = 526.8

{

SetPlayerInterior(playerid,1);

PlayerInfo[playerid][pInt] = 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;

Geplaatst:

Krijg 26 errors

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(61) : error 017: undefined symbol "strtok"

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(61) : error 033: array must be indexed (variable "cmd")

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(62) : error 017: undefined symbol "strtok"

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(62) : error 033: array must be indexed (variable "tmp")

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(75) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(86) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(105) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(117) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(133) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(155) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(179) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(189) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(199) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(212) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(223) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(234) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(238) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(253) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(255) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(264) : error 017: undefined symbol "strtok"

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(264) : error 033: array must be indexed (variable "tmp")

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(267) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(271) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(276) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(281) : error 079: inconsistent return types (array & non-array)

C:\DOCUME~1\ADMINI~1\BUREAU~1\Server\FILTER~1\command.pwn(285) : error 079: inconsistent return types (array & non-array)

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

26 Errors.

  • 2 weken later...
Geplaatst:

ZONDE OM NIEUW ONDERWERP EROVER TEMAKEN>

Ik heb goto nodig met /yesgoto en /nogoto misschien kan iemand die vinden of zelf maken?

Goto is voor iedereen command liefst zo: /goto ID

Geplaatst:

als je ff uitlegt wat je met /nogoto en /yesgoto wilt hebben..

	if(!strcmp(cmdtext, "/goto", true, 5)) // wordt er "/goto" ingevoerd?
{
	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?
	if(IsPlayerAdmin(playerid)) // is de speler die het cmd heeft ingevoerd admin?
	{
		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;
}

dit is een voorbeeld van een /goto command zonder strtok te gebruiken, heb het alleen niet getest, dus het kan mss niet werken..

Geplaatst:
als je ff uitlegt wat je met /nogoto en /yesgoto wilt hebben..

>>een hele mooie code<<

dit is een voorbeeld van een /goto command zonder strtok te gebruiken, heb het alleen niet getest, dus het kan mss niet werken..

Heb het snel even getest, en werkt perfect! :klap:

Geplaatst:

met /nogoto zet je goto naar jouw uit dus dan kunnen ze niet naar /goto doen en met /yesgoto zet je het weer aan.

Geplaatst: (bewerkt)

Zet bovenaan je script:

new AllowGoto[MAX_PLAYERS];

Zet bij public OnPlayerConnect:

AllowGoto[playerid] = 1; // Standaard mogen admins wél naar spelers teleporten

en bij het commando-gedeelte:

if(!strcmp(cmdtext, "/goto", true, 5))
{
new targetPlayer = strval(cmdtext[ 6 ]); 
new Float: PlayerPosition[ 3 ]; 
if(!IsPlayerConnected(targetPlayer)) return 1; 
if(IsPlayerAdmin(playerid)) 
if(AllowGoto[targetPlayer] == 0) 
{ 
SendClientMessage(playerid, COLOR_RED, "The player doesn't want you to teleport to him/her"); 
return 1; 
}
{
GetPlayerPos(targetPlayer, PlayerPosition[ 0 ], PlayerPosition[ 1 ], PlayerPosition[ 2 ]); 		
SetPlayerPos(playerid, PlayerPosition[ 0 ], PlayerPosition[ 1 ], (PlayerPosition[ 2 ]+10));		
}
return 1;
}

if (strcmp("/yesgoto", cmdtext, true) == 0)
{
AllowGoto[playerid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "Now everybody can teleport to you");
return 1;
}

if (strcmp("/nogoto", cmdtext, true) == 0)
{
AllowGoto[playerid] = 0;
SendClientMessage(playerid, COLOR_GREEN, "Now nobody can teleport to you");
return 1;
}

Credits voor /goto commando voor Flame^

Ik heb hem getest, en het werkt prima. :dans:

Bewerkt: door Sandra18[NL]
Geplaatst:

Geen errors het doet het alleen server crasht na een halve minuut. :7

Geplaatst:
Geen errors het doet het alleen server crasht na een halve minuut. :7

Heeft niks met dit commando te maken.

Je zal zelf wel zonder script-ervaring hebben lopen 'knoeien' aan een script.

Geplaatst:

Lama

Dont cry omdat je server niet liep met 1 a 2 mensen op 1 dag :cab:

Geplaatst: (bewerkt)
Lama

Dont cry omdat je server niet liep met 1 a 2 mensen op 1 dag :cab:

Daarom jank ik niet hoor, kon ik verwachten omdat mijn server maar een half uur per dag online was ;)

Maargoed, was meer bezig met leren scripten dat sa-mp zelf spelen.

Tip: zou jij ook eens moeten doen ;)

Ook had ik besloten om beginnende scripters op weg te helpen.

Op dat gebied heb ik meer succes gelukkig ;)

Grtz

Bewerkt: door Sandra18[NL]
Geplaatst:
Dont cry omdat je server niet liep met 1 a 2 mensen op 1 dag :cab:

Om eerlijk te zijn zie ook alleen jou met nog iemand anders spelen op je server en voorde rest niemand anders.

Geplaatst: (bewerkt)

Goh probeer je hier nu ook al ruzie te krijgen las vegas? (aka Dust)

nogoto en yesgoto was een goed idee van mij he?, heb geen spijt van je ban :puh:

Groeten namens alle spelers uit de Simbad De Zeeman server,

Bewerkt: door Simbad
Geplaatst: (bewerkt)
Goh probeer je hier nu ook al ruzie te krijgen las vegas? (aka Dust)

nogoto en yesgoto was een goed idee van mij he?, heb geen spijt van je ban :puh:

Groeten namens alle spelers uit de Simbad De Zeeman server,

zijn er ook 3 jij chris en snakkerd _O_ Ban johan nou is lukt je toch niet _O_

Dont cry omdat je server niet liep met 1 a 2 mensen op 1 dag :cab:

Om eerlijk te zijn zie ook alleen jou met nog iemand anders spelen op je server en voorde rest niemand anders.

HIj staat ook bijna niet aan geen zin om zelf tehosten w8 tot ik hem kan hosten maja paypal is nietzo snel :koffie:

Zo goed?

Yesgoto en Nogoto werkt niet eens

Bewerkt: door Las Vegas
Gast
Dit onderwerp is gesloten.
  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...