Jump to content
Geplaatst:
comment_895319

Hallo,

Ik wil graag hebben dat als ik in een bepaald voertuig stap, dat er dan ''iets'' gebeurt (dit heb ik al af)

Maar hoe maak ik dan dat je naar een checkpoint moet, en als je daar bent dat er dan ook weer ''iets'' gebeurt?

een soort van:

OnPlayerStateChange

ifcarid ''123''

setplayercheckpoint bla bla bla

---Dit heb ik al af

Maar dan wil ik dus hebben dat als je in die auto stapt dat je dan moet typen ''/voorbeeld'' en dat alleen degene die dat typt dat je dan naar een Ocheckpoint moet, en als je daar bent dat er dan ''iets'' gebeurt.

Featured Replies

Geplaatst:
comment_895382

Ik zal je een klein voorbeeltje geven, de rest moet je zelf doen, want dit is natuurlijk naar eigen smaak ;)

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == 2)   //Bestuurder
{
	if(IsPlayerInVehicle(playerid, MissieVoertuig))
	{
		SendClientMessage(playerid, 0x00FF00AA, "Typ /commando om missie te beginnen");
	}
}
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/commando", true)==0)
{
	if(GetPlayerState(playerid) == 2)
	{
		if(IsPlayerInVehicle(playerid, MissieVoertuig))
		{
			SetPlayerCheckpoint(playerid, x, y, z, size);
			SendClientMessage(playerid, 0x00FF00AA, "Breng deze auto naar de checkpoint");
			return 1;
		}
	}
}
return 0; 
}

public OnPlayerEnterCheckpoint(playerid)
{
if(IsPlayerInVehicle(playerid, MissieVoertuig))
{
	if(GetPlayerState(playerid) == 2)
	{
		DisablePlayerCheckpoint(playerid);
		GivePlayerMoney(playerid, 50000);
		GameTextForPlayer(playerid, "Gefeliciteerd!", 5000, 3);
	}
}
return 1;
}

Nou, dat was een voorbeeld voor een missie :bier:

Succes ermee ;)

Geplaatst:
comment_895432
Ik zal je een klein voorbeeltje geven, de rest moet je zelf doen, want dit is natuurlijk naar eigen smaak ;)

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == 2)   //Bestuurder
{
	if(IsPlayerInVehicle(playerid, MissieVoertuig))
	{
		SendClientMessage(playerid, 0x00FF00AA, "Typ /commando om missie te beginnen");
	}
}
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/commando", true)==0)
{
	if(GetPlayerState(playerid) == 2)
	{
		if(IsPlayerInVehicle(playerid, MissieVoertuig))
		{
			SetPlayerCheckpoint(playerid, x, y, z, size);
			SendClientMessage(playerid, 0x00FF00AA, "Breng deze auto naar de checkpoint");
			return 1;
		}
	}
}
return 0; 
}

public OnPlayerEnterCheckpoint(playerid)
{
if(IsPlayerInVehicle(playerid, MissieVoertuig))
{
	if(GetPlayerState(playerid) == 2)
	{
		DisablePlayerCheckpoint(playerid);
		GivePlayerMoney(playerid, 50000);
		GameTextForPlayer(playerid, "Gefeliciteerd!", 5000, 3);
	}
}
return 1;
}

Nou, dat was een voorbeeld voor een missie :bier:

Succes ermee ;)

na playerid, MissieVoertuig, zegt ie undefined symbol moet ik daar iets anders inzetn?

Geplaatst:
comment_895434
na playerid, MissieVoertuig, zegt ie undefined symbol moet ik daar iets anders inzetn?

Ja, het id van het voertuig dat jij wilt gebruiken.

P.s. Het topic word erg on-overzichtelijk als je die hele code van mij gaat quoten... :{

Geplaatst:
  • Auteur
comment_895725

Heel erg bedankt Sandra!

Maar als ik stap in de hydra

if(IsPlayerInVehicle(playerid, 520))

dan komt er geen text, en als ik dan toch /commando doe gebeurt er ook niks.

Bewerkt: door WackoX

Geplaatst:
comment_895773
Heel erg bedankt Sandra!

Maar als ik stap in de hydra

if(IsPlayerInVehicle(playerid, 520))

dan komt er geen text, en als ik dan toch /commando doe gebeurt er ook niks.

Ik heb precies het zelfde probleem

Geplaatst:
comment_895778

Kan kloppen, het is namelijk niet het modelid (dat jullie gebruiken) maar het vehicleid. Dat doe je door

id = AddStaticVehicle(modelid, xcoord, ycoord, zcoord, rotatie, kleur1, kleur2);

te doen. Zet id, of jouw id dan in de code van Sandra. Zo moet het wel werken.

Bewerkt: door VWO-er

Geplaatst:
  • Auteur
comment_895784

Oke, maar ik wil dus hebben dat dat bij alle voertuigen die id (in mijn geval) 520 hebben, en niet dat ik een ''id = AddStaticVehicle'' moet aanmaken.. iemand idee?

Geplaatst:
comment_895787

Verander dan

if(IsPlayerInVehicle(playerid, 520))

naar:

if(IsPlayerInAnyVehicle(playerid))

Gebruik dan ook nog:

if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 520) 
{

Bewerkt: door =>Sandra<=

Geplaatst:
comment_896988
Ik heb nog een paar vragen:

* Hoe maak je dat als het missie-voertuig ontploft, kapot gaat, of als je er uit gaat, dat dan de missie ''gestopt'' word ?

Daar is een Callback voor:

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

of

public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}

Bewerkt: door =>Sandra<=

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.