Skip to content
View in the app

A better way to browse. Learn more.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

move object

heey mensen.

hek5 =CreateObject(975,639.209,-2392.466,30.540,0.0,0.0,0.0);

hek6 =CreateObject(975,630.401,-2392.464,30.540,0.0,0.0,-180.000);

hoe zorg ik ervoor dat als ik er voor ga hij automatich open gaat??

Featured Replies

Ik weet niet of het werkt, maar je zou eens deze functie kunnen gebruiken met een 'if'. Ik bedoel dan iets van dit:

if (IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)) {
MoveObject(objectid, Float:X, Float:Y, Float:Z, Float:Speed);
}

Voorwaarde is wel dat je beschikt over de Useful Functions include die je hier kunt downloaden.

P.S. Ik weet het niet zeker, maar het zou dus kúnnen werken :Y

Edited by VWO-er

  • Author
Ik weet niet of het werkt, maar je zou eens deze functie kunnen gebruiken met een 'if'. Ik bedoel dan iets van dit:

if (IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)) {
MoveObject(objectid, Float:X, Float:Y, Float:Z, Float:Speed);
}

Voorwaarde is wel dat je beschikt over de Useful Functions include die je hier kunt downloaden.

P.S. Ik weet het niet zeker, maar het zou dus kúnnen werken :Y

Sorry ik snap hem niet ik weet niet wat ik presies moet doen

P.S. Ik weet het niet zeker, maar het zou dus kúnnen werken :Y
In het begin van SA:MP 0.2 ooit zoiets gemaakt, zou gewoon nog moeten werken:

forward GateCheck();
new gate;

public OnGameModeInit()
{
gate = CreateObject(971, 213.78, 1875.31, 12.33, 0.00, 0.00, 0.00);
SetTimer("GateCheck", 1000, 1);
return 1;
}

public GateCheck()
{
for(new i=0; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i))
{
if(IsPlayerInArea(i, 210, 218, 1872, 1880)){
		MoveObject(gate, 222.78, 1875.31, 12.33, 3);
}
else {
		MoveObject(gate, 213.78, 1875.31, 12.33, 3);
	 }
}
 }
}

IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if (x > minx && x < maxx && y > miny && y < maxy) return 1;
return 0;
}

In het begin van SA:MP 0.2 ooit zoiets gemaakt, zou gewoon nog moeten werken:

//code

Nee, dat werkt niet:

-

new gate

moet niet bij OnGameModeInit staan, maar bovenaan het script.

- De 'return false' in de GateCheck-functie kan weg, die heeft geen nut en geeft een warning.

>>> Door Azer: Meh inderdaad, bedankt :) inmiddels aangepast <<<

  • Author
P.S. Ik weet het niet zeker, maar het zou dus kúnnen werken :Y
In het begin van SA:MP 0.2 ooit zoiets gemaakt, zou gewoon nog moeten werken:

forward GateCheck();

public OnGameModeInit()
{
new gate;
gate = CreateObject(971, 213.78, 1875.31, 12.33, 0.00, 0.00, 0.00);
SetTimer("GateCheck", 1000, 1);
return 1;
}

// ignore the warning
public GateCheck()
{
for(new i=0; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i))
{
if(IsPlayerInArea(i, 210, 218, 1872, 1880)){
		MoveObject(gate, 222.78, 1875.31, 12.33, 3);
		return false;
}
else {
		MoveObject(gate, 213.78, 1875.31, 12.33, 3);
	 }
}
 }
}

IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if (x > minx && x < maxx && y > miny && y < maxy) return 1;
return 0;
}

if(IsPlayerInArea(i, 210, 218, 1872, 1880)){

wat houd dit in kan ik dit ook gebruiken??

Ja, je kan dat ook gebruiken. Voorwaarde is wel dat je de volgende code ergens in je script neerzet (handigste is bovenaan, boven de OnGameModeInit-callback, doe ik in ieder geval).

IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if (x > minx && x < maxx && y > miny && y < maxy) return 1;
return 0;
}

En ik geloof dat Azer de 'forward'-regel van de IsPlayerInArea-functie ook is vergeten. Hierbij: Deze code zet je helemaal boven aan je script, onder de define-regels.

forward IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy);

Edited by VWO-er

  • Author
Ja, je kan dat ook gebruiken. Voorwaarde is wel dat je de volgende code ergens in je script neerzet (handigste is bovenaan, boven de OnGameModeInit-callback, doe ik in ieder geval).

IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if (x > minx && x < maxx && y > miny && y < maxy) return 1;
return 0;
}

En ik geloof dat Azer de 'forward'-regel van de IsPlayerInArea-functie ook is vergeten. Hierbij: Deze code zet je helemaal boven aan je script, onder de define-regels.

forward IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy);

if(IsPlayerInArea(i, 210, 218, 1872, 1880)){

maar ik bedoel moet ik er geen andere coord in doen

??

Tuurlijk, je moet jouw coördinaten erin zetten. Anders zal er op de plek van Azer jouw poort (die bij wijze van spreken aan de andere kant van de staat San Andreas staat) opengaan/dichtgaan. Je moet die dus natuurlijk wel veranderen.

  • Author
Tuurlijk, je moet jouw coördinaten erin zetten. Anders zal er op de plek van Azer jouw poort (die bij wijze van spreken aan de andere kant van de staat San Andreas staat) opengaan/dichtgaan. Je moet die dus natuurlijk wel veranderen.

maar ik bedoel dit if(IsPlayerInArea(i, 210, 218, 1872, 1880

moet ik die coords ook veranderen want volgens mij is dat geen coord

Ik denk dat jij bedoelt dat er geen decimalen achter staan. Jij wil er denk ik iets als dit hebben:

if(IsPlayerInArea(i, 210.31, 218.341, 1872.52, 1880.87))

Die decimalen (hierboven gemarkeerd in een vetgedrukt lettertype) hoeven er niet per sé achter te staan. Het kunnen net zo goed hele getallen zijn. Die decimalen gebruiken we als we de locatie preciezer willen aangeven, denk aan het object precies op een muur zetten. Die decimalen hóeven er niet bij, maar mógen er wel bij. Het zijn dus wel coördinaten, alleen lijken ze wat anders. Als dit nog niet is wat je bedoelt, leg 't dan beter uit :puh:

  • Author
Ik denk dat jij bedoelt dat er geen decimalen achter staan. Jij wil er denk ik iets als dit hebben:

if(IsPlayerInArea(i, 210.31, 218.341, 1872.52, 1880.87))

Die decimalen (hierboven gemarkeerd in een vetgedrukt lettertype) hoeven er niet per sé achter te staan. Het kunnen net zo goed hele getallen zijn. Die decimalen gebruiken we als we de locatie preciezer willen aangeven, denk aan het object precies op een muur zetten. Die decimalen hóeven er niet bij, maar mógen er wel bij. Het zijn dus wel coördinaten, alleen lijken ze wat anders. Als dit nog niet is wat je bedoelt, leg 't dan beter uit :puh:

dus als ik dat ie automatish open gaat moet ik een coord hebben die er net voor staat??

Hoeft niet. Met de IsPlayerInArea-functie geef je een gebied op. Ik maak even een voorbeeld:

uitlegisplayerinareafunml2.png

Let niet op mijn briljante Paint-kunsten, zolang je begrijpt wat ik bedoel :Y Even een korte uitleg:

De rode stip is de xmin. De groene stip is de xmax. Ook tussen deze coördinaten gaat de poort open.

De roze stip is de ymin. De oranje stip is de ymax. Ook tussen deze coördinaten gaat de poort open.

Ook tussen de xmin en ymin gaat de poort open, en tussen de de xmax en ymax ook. Eigenlijk in dat hele gebied wat op elke mogelijke coördinaat, wat tussen de coördinaten die je zelf hebt ingegeven, ligt, gaat de poort open. Kortom, in dat hele gebied gaat de poort open. Je moet dus in tegenstelling tot andere commando's als AddStaticVehicle 4 coördinaten invoeren. Niet één, wat ik uit jouw zin op maak. Je hoeft dus ook niet op precies, maar dan ook precies hetzelfde coördinaat te staan.

Edit: Rechthoeken kunnen dus blijkbaar alleen... :puh:

Edited by VWO-er

En ik geloof dat Azer de 'forward'-regel van de IsPlayerInArea-functie ook is vergeten. Hierbij: Deze code zet je helemaal boven aan je script, onder de define-regels.

forward IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy);

Is ook niet verplicht (compiler geeft alleen een waarschuwing voor public functions).

@VWO-er:

IsPlayerInArea is alleen voor rechthoeken, dus allemaal hoeken van 90 graden.

post-70241-1205872062.jpg

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.