Jump to content

Checkpoints


Recommended Posts

Geplaatst:

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.

Geplaatst:

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:
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:
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: (bewerkt)

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:
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: (bewerkt)

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:

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: (bewerkt)

Verander dan

if(IsPlayerInVehicle(playerid, 520))

naar:

if(IsPlayerInAnyVehicle(playerid))

Gebruik dan ook nog:

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

Bewerkt: door =>Sandra<=
Geplaatst:

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 ?

Geplaatst: (bewerkt)
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...

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