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.

HELP nieuwe spawnplaats op een bepaald gebied

heey.

heeft iemand een code waarmee als spelers in een bepaald gebied doodgaan dat ze op een andere spawnplek komen te staan dan als je buiten dat gebied bent.

waarschijnlijk iets van :

bovenaan new area1

bij ongamemodeinit 
area1 = createzone(blablabla x y z enz enz)

en dan verderop 

if[playerid] == area1
{
SetPlayerClass(x,y,z enz enz blabla)
}

ik denk dat het zoiets moet zijn maar dat kan ook nog anders

kan iemand helpen (of zeggen als het onmogelijk is)

bedankt

Edited by Morph1

Featured Replies

Hmz, dan moet je toch zoiets maken:

new DidPlayerDieInArea[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
DidPlayerDieInArea[playerid] = 0;

public OnPlayerDeath(playerid, killerid, reason)
{
if(IsPlayerInArea(minx, maxx, miny, maxy))
{
	DidPlayerDieInArea[playerid] = 1;
}
}

public OnPlayerSpawn(playerid)
{
if(DidPlayerDieInArea[playerid])
{
	SetPlayerPos(...);
	DidPlayerDieInArea[playerid] = 0;
}
}

Dit is basic het idee, wil je meer area's toevoegen kan je natuurlijk de array nog een extra dimensie geven. Meld het ever als het is gelukt (of als dat juist niet het geval is :7)

Edited by David22

sorry david ma toen ik keek was er nog niks..

  • Author
sandras tut area's

klein beetje kunne scripten en dit lezen

http://www.gtaforum.nl/index.php?showtopic=62520

als je dat nog niet kan

http://www.gtaforum.nl/index.php?showtopic=67105

of lees gewoon de PMT list klik > PMT list < klik

29vze5l.jpg

ik kan wel scripen, doe het al meer dan een half jaar, maar wist alleen dat (kleine) dingetje niet, en die halve PMT list kan ik al uit me hoofd XD

EDIT: @david22 ik zal het proberen, ik laat het wel weten of het is gelukt

Edited by Morph1

Hmm, volgens mij kan je dan nog beter zoiets maken:

public OnPlayerDeath(playerid, killerid)
{
if(IsPlayerInArea(playerid, minx, miny, maxx, maxy))
{
	SetSpawnInfo(playerid, team, skin, x, y, z, a, w1, w1_a, w2, w2_a, w3, w3_a);
}
return 1;
}

  • Author
Hmm, volgens mij kan je dan nog beter zoiets maken:

public OnPlayerDeath(playerid, killerid)
{
if(IsPlayerInArea(playerid, minx, miny, maxx, maxy))
{
	SetSpawnInfo(playerid, team, skin, x, y, z, a, w1, w1_a, w2, w2_a, w3, w3_a);
}
return 1;
}

ow w8 effe dat wat ik net zij klopt niet xD, waarschijnlijk moet ik er dan ook nog een

if[playerid] == TEAM ARMY

enne dat van david ging volgens mij ook niet echt werken XD had wat errors enz maarja

Edited by Morph1

  • Author

naja dit word zelf wat experimenteren xD

als iemand het nog weet dat alleen 1 team het heeft en dat de team en skinid hetzelfde blijven, wil diegene me dan even helpen?

bedankt

lol, dit dan:

#define koek 1 
#define koffie 2
#define taart 3
#define pizza 4

AddPlayerClassEx(id, koek ,x,y,z, wapens....);
AddPlayerClassEx(id, koffie x,y,z, wapens....);
AddPlayerClassEx(id, taart  x,y,z, wapens....);
AddPlayerClassEx(id, pizza x,y,z, wapens....);

OnPlayerUpdate(playerid)
{
if (IsPlayerInArea(playerid,x,y,z);
{
	if (GetPlayerTeam(playerid) == koek)
   {
	  // code hier
   } 
	else if (GetPlayerTeam(playerid) == koffie)
   {
	  // code hier
   } 
	else if (GetPlayerTeam(playerid) == taart)
   {
	  // code hier
   } 
	else if (GetPlayerTeam(playerid) == pizza)
   {
	  // code hier
   } 
   else
  {
	  // als de speler niet in een team zit. wat flik je um dan :P
   }
}
// Thnx GtaF voor de goede uitlijning :s

Edited by Crusher!!

  • Author
lol, dit dan:

#define poep 1
#define plas 2
#define taart 3
#define pizza 4

AddPlayerClassEx(id, koek ,x,y,z, wapens....);
AddPlayerClassEx(id, koffie x,y,z, wapens....);
AddPlayerClassEx(id, taart  x,y,z, wapens....);
AddPlayerClassEx(id, pizza x,y,z, wapens....);

OnPlayerUpdate(playerid)
{
if (IsPlayerInArea(playerid,x,y,z);
{
	if (GetPlayerTeam(playerid) == koek)
   {
	  // code hier
   } 
	else if (GetPlayerTeam(playerid) == koffie)
   {
	  // code hier
   } 
	else if (GetPlayerTeam(playerid) == taart)
   {
	  // code hier
   } 
	else if (GetPlayerTeam(playerid) == pizza)
   {
	  // code hier
   } 
   else
  {
	  // als de speler niet in een team zit. wat flik je um dan :P
   }
}
// Thnx GtaF voor de goede uitlijning :s

:clown: haha, leuke namen, ik zal kijken of het werkt ^_^

  • Author

oke, ik heb nog 3 puntjes:

1) idd slechte uitlijning xD

2) je ben een haakje vergeten onderaan :D

3) ik heb 1 error, undefined simbol "IsPlayerInArea"

hier het stukje van mijn script :

public OnPlayerUpdate(playerid)
{
if (IsPlayerInArea(playerid,2966.18,2662.556,-2931.147,-3748.598)
{
	if (GetPlayerTeam(playerid) == TEAM_ARMY)
   {
	  AddPlayerClassEx(1,TEAM_ARMY,2691.6938,-4523.1011,28.4478,268.496928,31,500,31,500,24,500); // Extra spawnplace
   }
}
}

ging er maar vanuit dat OnPlayerUpdate een callback was dus...^_^

moet ik erboven nog iets zetten met dat IsPlayerInArea

stock IsPlayerInArea(playerid, Float:minx, Float:miny, Float:maxx, 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;
}

Dit voeg je ergens toe in je script, het liefst onderaan en niet in een andere callback. Tevens raad ik aan om dit op een timer te zetten, omdat OnPlayerUpdate maar liefst 30 keer per seconde opgeroepen wordt.

  • Author
stock IsPlayerInArea(playerid, Float:minx, Float:miny, Float:maxx, 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;
}

Dit voeg je ergens toe in je script, het liefst onderaan en niet in een andere callback. Tevens raad ik aan om dit op een timer te zetten, omdat OnPlayerUpdate maar liefst 30 keer per seconde opgeroepen wordt.

moet dit i.p.v. dat wat ik heb of gewoon eronder.

en als je het OnPlayerUpdate niet op een timer zet, word de mode dan langzaam, en hoe moet je het anders op een timer zetten

Die stock-code moet je zoals Big Boss zegt gewoon ergens (het liefst onderaan, buiten je callbacks) in je script plakken.


Een timer maak je zo:

Plaats bovenaan je script, onder de defines een forward regel met de naam van je timer en de public waarin je straks de code oproept

Ik gebruik in dit voorbeeld als naam 'Voorbeeld', logisch.

forward voorbeeld();

Plaats nu bij de callback 'OnGameModeInit' de code waarin je de timer aanmaakt

Klik hier (SA-mp wiki) voor uitleg over de functie SetTimer.

public OnGameModeInit( )
{
SetTimer("voorbeeld",1000,false);
}

Maak nu de public van de timer aan, waarin je een actie uitvoert

De public heet weer hetzelfde als de naam van de timer en van de forward-regel, 'voorbeeld' dus.

public voorbeeld()
{
//voer hier je code uit
}

  • Author
Die stock-code moet je zoals Big Boss zegt gewoon ergens (het liefst onderaan, buiten je callbacks) in je script plakken.


Een timer maak je zo:

Plaats bovenaan je script, onder de defines een forward regel met de naam van je timer en de public waarin je straks de code oproept

Ik gebruik in dit voorbeeld als naam 'Voorbeeld', logisch.

forward voorbeeld();

Plaats nu bij de callback 'OnGameModeInit' de code waarin je de timer aanmaakt

Klik hier (SA-mp wiki) voor uitleg over de functie SetTimer.

public OnGameModeInit( )
{
SetTimer("voorbeeld",1000,false);
}

Maak nu de public van de timer aan, waarin je een actie uitvoert

De public heet weer hetzelfde als de naam van de timer en van de forward-regel, 'voorbeeld' dus.

public voorbeeld()
{
//voer hier je code uit
}

jah dat weet ik wel, maar hoe moet je van de public OnPlayerUpdate een timer maken, en is dat echt nodig voor een gamemode van 10 minuten???

  • Author

enne, moet ik bij

stock IsPlayerInArea(playerid, Float:minx, Float:miny, Float:maxx, 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;
}

nog wat invullen, want als ik niets invul gebeurt er niets maar als ik wel wat invul komen er veel errors en warnings

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.