propje400 Geplaatst: 14 oktober 2009 Rapport Geplaatst: 14 oktober 2009 Hoi, ik dacht laat ik mijn vraag hier maar eens stelen dat is wat makkelijk om het duidelijk te maken heb ik een screen gemaakt! Ik heb een gangzone, en op hetzelfde punt IsPlayerInArea gemaakt, maar hij werkt niet goed. als hij in de Area is krijg hij een andere naam kleur en kan hij geen commands gebruiken want het is de DMzone dus niet echt handig als dit ook in half SF is! hier is mijn IsPlayerInArea Script: forward IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy); public 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; } public OnPlayerSpawn(playerid) { if(IsPlayerInArea(playerid,-93.423, 1623.225, 443.7593, 2148.729) == 1) { SetPlayerColor(playerid,0x80400096); GivePlayerWeapon(playerid,4,0); GivePlayerWeapon(playerid,16,3); GivePlayerWeapon(playerid,27,50); GivePlayerWeapon(playerid,31,100); GivePlayerWeapon(playerid,34,10); SetPlayerColor(playerid,0x80400096); SetPlayerRandomSpawn(playerid); return 1; } return 1; } Als ik beter IsPlayerInRangeOfPoint kan bebruiken vertel me dan hoe ik de radius van area51 kan berekenen? het moet ook in de hoogte zijn. Reageren
Remi-X Geplaatst: 14 oktober 2009 Rapport Geplaatst: 14 oktober 2009 IsPlayerToPoint is een grote bol, geen vierkant. Maar IsPlayerToPoint is wel een stuk sneller. Met San Andreas Teleport (SAT) kun je het middelste punt van de zone aanklikken om te zien wat het midden is. Stel een goede Radius in, maak een timer, en check dan of de speler zich al in de buurt bevind. forward timer() public timer() { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerToPoint(i, Bladiebla); { //Banaan met chocola jum } } } Als je IsPlayerInArea (vierkant) wilt gebruiken, met de hoogte: stock IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy, Float:minz, Float:maxz) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); if (x > minx && x < maxx && y > miny && y < maxy && z > miny && z < maxz) return 1; return 0; } Heb er een stock functie van gemaakt, deze hoef je niet te forwarden. Reageren
Big Boss Geplaatst: 14 oktober 2009 Rapport Geplaatst: 14 oktober 2009 if(IsPlayerInArea(playerid,-93.423, 1623.225, 443.7593, 2148.729) == 1) Ik twijfel er sterk aan of je coördinaten wel kloppen. Tussen minx en maxx zitten 1700 'eenheden' wat overeenkomt met ongeveer 1/3 de breedte van SA (6000), hetzelfde geldt voor de y-waarden. Reageren
propje400 Geplaatst: 14 oktober 2009 Auteur Rapport Geplaatst: 14 oktober 2009 if(IsPlayerInArea(playerid,-93.423, 1623.225, 443.7593, 2148.729) == 1) Ik twijfel er sterk aan of je coördinaten wel kloppen. Tussen minx en maxx zitten 1700 'eenheden' wat overeenkomt met ongeveer 1/3 de breedte van SA (6000), hetzelfde geldt voor de y-waarden. ik heb de coordinaten gemaakt met een gangzone in Xtreme Vehicle Plotter en heb gewoon de Coords van die gangzone in IsPlayerInArea gepakt, zou niet weten hoe ik het anders moet maken Reageren
Donald F. Duck Geplaatst: 14 oktober 2009 Rapport Geplaatst: 14 oktober 2009 *Ik weet zelf niks van MP Scripting, maar ik denk dat ik de oplossing weet* Draai eens wat coordinaten om. Je moet de volgorde minx,maxx,miny,maxy aanhouden. Aan jouw coordinaten te zien heb jij minx,miny,maxx,maxy. Draai de tweede en de derde coordinaat om. Als ik je coordinaten importeer in San Andreas Teleporter in volgorde minx,miny,maxx,maxy krijg ik alleen Area 69, geen andere vlakken. Reageren
Big Boss Geplaatst: 14 oktober 2009 Rapport Geplaatst: 14 oktober 2009 (bewerkt) Aha, daar zit de fout! GangZoneCreate gebruikt namelijk deze syntaxis: GangZoneCreate(Float:minx, Float:miny, Float:maxx, Float:maxy); en IsPlayerInArea deze: IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy); Dus in principe moet je het 2de en 3de getal van plaats verwisselen. Edit: Darn, ingehaald. Bewerkt: 14 oktober 2009 door Big Boss Reageren
Crusher!! Geplaatst: 14 oktober 2009 Rapport Geplaatst: 14 oktober 2009 *Ik weet zelf niks van MP Scripting, maar ik denk dat ik de oplossing weet* ik vindt het knap dat je ut probeerd, respect voor jou Reageren
Megadreams Geplaatst: 14 oktober 2009 Rapport Geplaatst: 14 oktober 2009 Inderdaad het is goed dat hij het probeerde en dan nog juist ook. Respect +++ Reageren
Crusher!! Geplaatst: 14 oktober 2009 Rapport Geplaatst: 14 oktober 2009 Inderdaad het is goed dat hij het probeerde en dan nog juist ook. Respect +++ volledig mee eens.. egt Reageren
propje400 Geplaatst: 14 oktober 2009 Auteur Rapport Geplaatst: 14 oktober 2009 Respect voor jullie allemaal het werkt! bedankt, dit was een van de laatste bugs die ik moest oplossen Reageren
Crusher!! Geplaatst: 14 oktober 2009 Rapport Geplaatst: 14 oktober 2009 Respect voor jullie na-aper >>> Door Sandra: Spammer.... Ontopic aub!<<< Reageren
propje400 Geplaatst: 14 oktober 2009 Auteur Rapport Geplaatst: 14 oktober 2009 Respect voor jullie na-aper >>> Door Sandra: Spammer.... Ontopic aub!<<< jah bijna maaruh weet iemand toevallig hoe ik bij een teleport de auto waarin een speler zit kan laten verdwijnen, want met auto's teleporten veroorzaakt alleen maar bugs volgens mij! Reageren
Remi-X Geplaatst: 15 oktober 2009 Rapport Geplaatst: 15 oktober 2009 (bewerkt) De auto niet mee teleporten omg Bewerkt: 15 oktober 2009 door Remi-X Reageren
Crusher!! Geplaatst: 15 oktober 2009 Rapport Geplaatst: 15 oktober 2009 De auto niet mee teleporten omg whaha xD, en btw: RemovePlayerFromVehicle(playerid); doe je aant einde van je cmd. als aller laatste Reageren
Remi-X Geplaatst: 15 oktober 2009 Rapport Geplaatst: 15 oktober 2009 Waarom dat? Als je SetPlayerPos gebrukt, word je uit automatisch uit je voertuig geslingert Reageren
Recommended Posts
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.