Jump to content

Need help fixing cmd


Recommended Posts

Geplaatst: (bewerkt)

Nou omdat ik zo een kneus ben heb ik alweer wat errors die ik niet weet te fixe :D

Script:

579. dcmd_goto(playerid, params[])
580. {
581. 	new id = strval(params)
582.	else if(!strlen(params)) return SendClientMessage(playerid, 0xFF0000AA, "/Goto [playerid]");
583.	else if(id == playerid) return SendClientMessage(playerid, 0xFF0000AA, "You cannot goto yourself...");
584.	else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000AA, "Player is not connected");
585.	else
586.	{
587.		new Float:X, Float:Y, Float:Z, Pname[24];
588.		GetPlayerPos(id, X, Y, Z);
589.		GetPlayerName(id, Pname, 24);
590.		SetPlayerPos(playerid, X, Y, Z);
591.		new String[56];
592.		format(String, sizeof(String), "You have teleported to %s(%d)", Pname, id);
593.		SendClientMessage(playerid, 0xFF0000AA, String);
594. 	}
595. 	return 1;
596. }

Errors:

C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(579) : warning 217: loose indentation
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(579) : error 017: undefined symbol "dcmd_goto"
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(581) : error 017: undefined symbol "params"
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : error 001: expected token: ";", but found "else"
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : error 029: invalid expression, assumed zero
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : warning 215: expression has no effect
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : error 001: expected token: ";", but found "if"
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(582) : fatal error 107: too many error messages on one line

Alvast bedankt voor het fixen van mijn erros :D

Bewerkt: door MATHIJS
Geplaatst:

Plaats dit boven aan je script, onder de includes:

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

Omdat jij een beginnende scripter bent, die deze command heeft gekopiëerd van een andere script en wat in elkaar hebt geflantst, krijg je deze problemen.

Je had de else niet gesloten maar wel geopend. En jah, deze script slaat eigenlijk nergens op.

Ik heb het even helemaal veranderd:

dcmd_goto(playerid, params[])
{
	new id = strval(params);

if(!strlen(params)) {
SendClientMessage(playerid, 0xFF0000AA, "/Goto [playerid]");
return 1;
}

if(id == playerid) { 
SendClientMessage(playerid, 0xFF0000AA, "You cannot goto yourself...");
return 1;
}
if(!IsPlayerConnected(id)) { 
SendClientMessage(playerid, 0xFF0000AA, "Player is not connected");
return 1;
       	}
	new Float:X, Float:Y, Float:Z, Pname[24];
	GetPlayerPos(id, X, Y, Z);
	GetPlayerName(id, Pname, 24);
	SetPlayerPos(playerid, X, Y, Z);
	new String[56];
	format(String, sizeof(String), "You have teleported to %s(%d)", Pname, id);
	SendClientMessage(playerid, 0xFF0000AA, String);
	        }
           }
     }
	return 1;
}

Ik weet niet zeker of ik de 'braces' goed heb geteld.

Geplaatst: (bewerkt)

Uhm ik heb 't niet getest buiten mijn script maar dit komt uit mijn script:

if(strcmp(cmd, "/goto", true) == 0)
{
    tmp = strtok(cmdtext, idx);
	if(!strlen(tmp))
	{
		SendClientMessage(playerid, COLOR_RED, "USAGE: /goto [playerid]");
		return 1;
	}
	giveplayerid = strval(tmp);
	new Float:x,Float:y,Float:z;
	GetPlayerPos(giveplayerid, x, y ,z);
	new giveplayerint = GetPlayerInterior(giveplayerid);
	new giveplayervir = GetPlayerVirtualWorld(giveplayerid);
	if ((IsPlayerAdmin(playerid)))
	{
		if (IsPlayerInAnyVehicle(playerid))
		{
		    new playervec = GetPlayerVehicleID(playerid);
			SetVehiclePos(playervec, x, y, z+3.5);
			LinkVehicleToInterior(playervec, giveplayerint);
			SetVehicleVirtualWorld(playervec, giveplayerint);
			SetPlayerInterior(playerid, giveplayerint);
			SetPlayerVirtualWorld(playerid, giveplayervir);
			SetVehicleZAngle(playervec, z);
			PutPlayerInVehicle(playerid, playervec, 0);
			format(string, sizeof(string), "You have teleported to %s",PlayerName[giveplayerid]);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "%s teleported to you.",PlayerName[playerid]);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
			if(IsPlayerInHouse[giveplayerid] != INVALID_HOUSE_ID && IsPlayerInHouse[playerid] == INVALID_HOUSE_ID){IsPlayerInHouse[playerid] = IsPlayerInHouse[giveplayerid];}
			else{IsPlayerInHouse[playerid] = INVALID_HOUSE_ID;}
		}
		else
		{
			SetPlayerInterior(playerid, giveplayerint);
			SetPlayerVirtualWorld(playerid, giveplayervir);
			SetPlayerPos(playerid, x, y, z+3.5);
			format(string, sizeof(string), "You have teleported to %s",PlayerName[giveplayerid]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "%s teleported to you.",PlayerName[playerid]);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
			if(IsPlayerInHouse[giveplayerid] != INVALID_HOUSE_ID && IsPlayerInHouse[playerid] == INVALID_HOUSE_ID){IsPlayerInHouse[playerid] = IsPlayerInHouse[giveplayerid];}
			else{IsPlayerInHouse[playerid] = INVALID_HOUSE_ID;}
		}
	}
	else
	{
		SendClientMessage(playerid, COLOR_RED, "You are not allowed to use this command.");
	}
	return 1;
}

Bewerkt: door powerkip96
Geplaatst: (bewerkt)

Krijg nu deze errors :|

Errors :

C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(632) : warning 217: loose indentation
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(632) : error 017: undefined symbol "dcmd_goto"
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(634) : error 017: undefined symbol "params"
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(636) : error 017: undefined symbol "params"
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(662) : warning 225: unreachable code
C:\Users\Mathijs\Desktop\[Name] Server\gamemodes\NewScript.pwn(662) : warning 217: loose indentation

Het script:

632. dcmd_goto(playerid, params[])
633. {
634.	new id = strval(params);
635.
636.	if(!strlen(params)) {
637.	SendClientMessage(playerid, 0xFF0000AA, "/Goto [playerid]");
638.	return 1;
639.	}
640.
641.	if(id == playerid) {
642.	SendClientMessage(playerid, 0xFF0000AA, "You cannot goto yourself...");
643.	return 1;
644.	}
645.	if(!IsPlayerConnected(id)) {
646.	SendClientMessage(playerid, 0xFF0000AA, "Player is not connected");
647.	return 1;
648.	}
649.	new Float:X, Float:Y, Float:Z, Pname[24];
650.	GetPlayerPos(id, X, Y, Z);
651.	GetPlayerName(id, Pname, 24);
652.	SetPlayerPos(playerid, X, Y, Z);
653.	new String[56];
654.	format(String, sizeof(String), "You have teleported to %s(%d)", Pname, id);
655.	SendClientMessage(playerid, 0xFF0000AA, String);
656.	return 1;
657. }

Bewerkt: door MATHIJS
Geplaatst:

Doet mij alleen maar vermoeden dat je ofwel; de dcmd define nog steeds niet hebt toegevoegd (zie eerder in dit topic), óf het commando bent vergeten "aan te melden" onder OnPlayerCommandText.

public OnPlayerCommandText(playerid, cmdtext[])
{
   dcmd(goto, 4, cmdtext);
   return 0;
}

Geplaatst:

Doet mij alleen maar vermoeden dat je ofwel; de dcmd define nog steeds niet hebt toegevoegd (zie eerder in dit topic), óf het commando bent vergeten "aan te melden" onder OnPlayerCommandText.

public OnPlayerCommandText(playerid, cmdtext[])
{
   dcmd(goto, 4, cmdtext);
   return 0;
}

Bedankt voor de hulp. :puh:

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

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

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