Jump to content

/lock en /unlock


Recommended Posts

Geplaatst:

Ik wil graag een command ''/lock'' en ''/unlock'' hebben,

Maar ik wil ook graag hebben dat als je de auto uitgaat, dat de deuren automatich open gaan

(Dat voorkomt dat iemand alle auto's kan locken en dat niemand er meer in kan)

Geplaatst:

Als je een beetje op de sa-mp forum aan het kijken was kom je op deze antwoord uit

/lock

if (strcmp(cmdtext, "/lock", true)==0)
{
	if(IsPlayerInAnyVehicle(playerid))
	{
		State=GetPlayerState(playerid);
		if(State!=PLAYER_STATE_DRIVER)
		{
			SendClientMessage(playerid,COLOR_GREY,"You can only lock the doors as the driver.");
			return 1;
		}
		new i;
		for(i=0;i<MAX_PLAYERS;i++)
		{
			if(i != playerid)
			{
				SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
			}
		}
		SendClientMessage(playerid, COLOR_GREY, "Vehicle locked!");
		GetPlayerPos(playerid,X,Y,Z);
		PlayerPlaySound(playerid,1056,X,Y,Z);
	}
	else
	{
		SendClientMessage(playerid, COLOR_GREY, "You're not in a vehicle!");
	}
return 1;
}

/unlock

if (strcmp(cmdtext, "/unlock", true)==0)
{
	if(IsPlayerInAnyVehicle(playerid))
	{
		State=GetPlayerState(playerid);
		if(State!=PLAYER_STATE_DRIVER)
		{
			SendClientMessage(playerid,COLOR_GREY,"You can only unlock the doors as the driver.");
			return 1;
		}
		new i;
		for(i=0;i<MAX_PLAYERS;i++)
		{
			SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
		}
		SendClientMessage(playerid, COLOR_GREY, "Vehicle unlocked!");
		GetPlayerPos(playerid,X,Y,Z);
		PlayerPlaySound(playerid,1057,X,Y,Z);
	}
	else
	{
		SendClientMessage(playerid, COLOR_GREY, "You're not in a vehicle!");
	}
return 1;
}

Alstublieft!

Geplaatst:

Ik heb hem er ook ingezet alleen nu heb ik error's

Server\gamemodes\ProGearMode.pwn(400) : error 017: undefined symbol "State"
Server\gamemodes\ProGearMode.pwn(401) : error 017: undefined symbol "State"
Server\gamemodes\ProGearMode.pwn(415) : error 017: undefined symbol "X"
Server\gamemodes\ProGearMode.pwn(416) : error 017: undefined symbol "X"
Server\gamemodes\ProGearMode.pwn(422) : warning 217: loose indentation
Server\gamemodes\ProGearMode.pwn(428) : error 017: undefined symbol "State"
Server\gamemodes\ProGearMode.pwn(429) : error 017: undefined symbol "State"
Server\gamemodes\ProGearMode.pwn(440) : error 017: undefined symbol "X"
Server\gamemodes\ProGearMode.pwn(441) : error 017: undefined symbol "X"
Server\gamemodes\ProGearMode.pwn(447) : warning 217: loose indentation

Geplaatst:

Verander

State=GetPlayerState(playerid);

naar

new State=GetPlayerState(playerid);

en zet bij die commando's ook nog:

new Float:X, Float:Y, Float:Z;

Geplaatst: (bewerkt)

En omdat loose indentation niet wordt behandeld zal ik die wel even uitleggen. Loose betekent 'verkeerd', en de 'indentation' is de uitlijning (vandaar de naam van de inspring-BBCode (indent)). Jouw uitlijning klopt dus niet. In de regels 422 en 447 om precies te zijn. Ik zal je even uitleggen hoe de uitlijning van Pawno werkt omdat je hier op het forum zeer briljant uitgelijnde codes krijgt :puh:

Na een accolade-open ( { ) spring je één tab in. Na een accolade-sluiten ( } ) spring je één tab terug. Een tab staat gelijk aan vier spaties (die ik liever niet aanbeveel, bij het plakken op het forum zie je soms geen verschil). Een tab maak je door op de Tab-toets te drukken, die zit boven de Caps-lock. Ik doe het even voor:

if (waarde == 1) {
Kick(playerid);
}
else
{
SendClientMessage(playerid, 0xFF0000, "Deze speler wordt niet gekickt omdat waarde niet 1 is.");
return 1;
}

Hier zie je dus dat alles tussen accolades één tab inspringt. Ik hoop dat je nu snapt waarom je de loose indentation-error krijgt, en dat je hem dan ook niet vaker zult krijgen. Veel succes :)

Edit: Even de code van 4 spaties verwijderd, blijk wat geleerd te hebben. 4 spaties worden automatisch omgezet naar één tab. 5 spaties daarentegen niet :Y

Bewerkt: door VWO-er
Geplaatst:
Of je zet onder includes gewoon: #pragma tabsize 0

Nee, dat kan je beter niet doen:

- Script wordt onduidelijker (moeilijker leesbaar)

- Bij een goed uitgelijnd script is het makkelijker om errors op te sporen.

- #pragma tabsize 0 laat pawno alleen de uitlijning negeren, het lost het niet op.

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