Jump to content

Object stopt niet met attachen na uitstappen


Recommended Posts

Geplaatst:

Hallo, ik heb nu zo gemaakt dat als je in een Marquis stapt, een piratenschip je attacht. (Met AttachObjectToPlayer) Zodat het net lijkt of je met een piratenschip vaart. Maar nu wil ik dat als je uitstapt, het piratenschip stopt met attachen en stil blijft liggen op de plek waar je uitstapt. (De Marquis moet destroyed worden en jij moet op het schip spawnen) Maar ik krijg dit met geen mogelijkheid voor elkaar. Ik heb veel manieren geprobeert, maar kom er gewoon niet uit. Het probleem is dat het piratenschip je blijft attachen nadat je uitstapt. Weet iemand hoe ik het voor elkaar krijg dat het schip stopt met attachen na het uitstappen? :?

Alvast bedankt. :koffie:

Geplaatst:

Volgensmij is er geen ene mogelijkheid om het attachen te stoppen, wat ik wel weet is dat als je dood gaat dan stop het attachen wel.

Geplaatst:
Volgensmij is er geen ene mogelijkheid om het attachen te stoppen, wat ik wel weet is dat als je dood gaat dan stop het attachen wel.

Met DestroyObject stopt ie met attachen, maar dan is ie ook gelijk helemaal weg. Weet verder niemand hoe ik dit voor elkaar krijg?

Geplaatst:
StopObject(NaamObject);

?

Werkt niet, het schip verdwijnt compleet na uitstappen. :(

StopPlayerObject(playerid, objectid);

Is weer iets anders dan D-V-D-K noemde, probeer dat eens.

Geplaatst:
StopObject(NaamObject);

?

Werkt niet, het schip verdwijnt compleet na uitstappen. :(

StopPlayerObject(playerid, objectid);

Is weer iets anders dan D-V-D-K noemde, probeer dat eens.

Weet jij serieus wat dat betekend?

StopPlayerObject en CreatePlayerObject en overal waar het woord ''player'' in zit geld alleen voor een player, dus als een voorwerp voor iedereen stoppen niet werkt, dan werkt het voorwerp stoppen voor 1 player ook niet.

Geplaatst:
Misschien moet je het destroyen en weer gelijk create doen op de positie waar hij ligt. ?

Dat is een mogelijkheid, maar hoe krijg ik de coördinaten dan goed?

Geplaatst: (bewerkt)

Misschien als een speler uitstapt GetPlayerPos gebruiken en dan CreateObject met de positie van de speler. Daarna doe je SetPlayerPos, weer dat coordinaat van GetPlayerPos, maar nu doe je bijv: Z +3 .

(3 = het aantal omhoog om op het dek te komen)

Edit: En daar achteraan doe je die marquis vernietigen. Misschien kan je in plaats van GetPlayerPos wel GetVehiclePos gebruiken(dat bestaat toch ook).

Bewerkt: door jorD1
Geplaatst:
Misschien als een speler uitstapt GetPlayerPos gebruiken en dan CreateObject met de positie van de speler. Daarna doe je SetPlayerPos, weer dat coordinaat van GetPlayerPos, maar nu doe je bijv: Z +3 .

(3 = het aantal omhoog om op het dek te komen)

Edit: En daar achteraan doe je die marquis vernietigen. Misschien kan je in plaats van GetPlayerPos wel GetVehiclePos gebruiken(dat bestaat toch ook).

Hoe doe ik dat +3 dan?

Geplaatst: (bewerkt)

Het zag er zo overtuigend uit, maar nu crasht de boel als ik wil uitstappen. :cry:

public OnFilterScriptInit()
{
shiphull = CreateObject(8493,-5807,-5680,15.5,0,0,300);
shipsail = CreateObject(9159,-5807,-5680,15.5,0,0,300);
shiprope = CreateObject(8981,-5807.56,-5691.2,-15.1,0,0,300);
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/entership", cmdtext, true, 10) == 0)
{
	testship = CreateVehicle(484,-5807,-5695,0,300,0,0,0);
	LinkVehicleToInterior(testship,1);
	PutPlayerInVehicle(playerid,testship,0);
	return 1;
}
return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
	if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 484)
	{
		AttachObjectToPlayer(shiphull,playerid,0,15,15.5,0,0,0);
		AttachObjectToPlayer(shipsail,playerid,0,15,15.5,0,0,0);
		AttachObjectToPlayer(shiprope,playerid,-0.56,8.8,15.1,0,0,0);
	}
}
return 1;
}

public OnPlayerExitVehicle(playerid,vehicleid)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 484)
	{
	new Float:X,Float:Y,Float:Z,Float:rX,Float:rY,Float:rZ; // Floats

	GetPlayerPos(playerid,X,Y,Z);	  // Kijkt naar positie player
	GetPlayerFacingAngle(playerid,rZ); // Kijkt naar rotatie player
	DestroyObject(shiphull);
	DestroyObject(shipsail); // Destroyed objecten
	DestroyObject(shiprope);
	RemovePlayerFromVehicle(playerid);
	DestroyVehicle(testship);
	CreateObject(shiphull,X,(Y+15),(Z+15.5),rX,rY,rZ);
	CreateObject(shipsail,X,(Y+15),(Z+15.5),rX,rY,rZ); // Create ze weer
	CreateObject(shiprope,(X+-0.56),(Y+8.8),(Z+15.1),rX,rY,rZ);
	SetPlayerPos(playerid,X,Y,(Z+3));
	SetPlayerFacingAngle(playerid,rZ);
}
return 1;
}

Bewerkt: door Basssss
Geplaatst:

Eén ding weet ik je alvast wel te vertellen: Die boot werkt maar voor 1 speler. Als iemand in een Marquis stapt, wordt die boot (shiphull, etc) geattached aan die speler.

Als nu iemand anders OOK in een Marquis stapt, worden diezelfde objecten bij de andere speler geplaatst.

new shiphull[MAX_PLAYERS];
new shipsale[MAX_PLAYERS];
new shiprope[MAX_PLAYERS];

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
	if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 484)
	{
		shiphull[playerid] = CreateObject(8493,-5807,-5680,15.5,0,0,300);
		shipsail[playerid] = CreateObject(9159,-5807,-5680,15.5,0,0,300);
		shiprope[playerid] = CreateObject(8981,-5807.56,-5691.2,-15.1,0,0,300);
		AttachObjectToPlayer(shiphull[playerid],playerid,0,15,15.5,0,0,0);
		AttachObjectToPlayer(shipsail[playerid],playerid,0,15,15.5,0,0,0);
		AttachObjectToPlayer(shiprope[playerid],playerid,-0.56,8.8,15.1,0,0,0);
	}
}
return 1;
}

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