Freaksken Geplaatst: 9 juli 2008 Rapport Geplaatst: 9 juli 2008 Ik heb al gezien in andere servers dat je bevoorbeeld in ryders huis spawnt, hoe doe je dat? Ik zou dit graag ook in mijn server kunnen doen. Reageren
WackoX Geplaatst: 9 juli 2008 Rapport Geplaatst: 9 juli 2008 bij ' OnGamemodeInit': AddPlayerClass(skinid,x,y,z,angel,weapon1,ammo1,weapon2,ammo2,weapon3,ammo3); doe bij x,y,z, de coordinaten van ryders huis, en bij 'OnPlayerSpawn': SetPlayerInterior(playerid,interiorid); Reageren
JayKay Geplaatst: 9 juli 2008 Rapport Geplaatst: 9 juli 2008 (bewerkt) En hier heb je een handig programmaatje om achter de id's te komen van de interior's. >klik< Als je de id's ook nodig hebt voor bijv. teleports dan verwijs ik je naar dit topic: >Applicaties< Bewerkt: 9 juli 2008 door ysohnul Reageren
Freaksken Geplaatst: 10 juli 2008 Auteur Rapport Geplaatst: 10 juli 2008 (bewerkt) public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(271,2450.3115,-1688.3578,1013.5078,174.2576,22,1000,32,1000,30,1000); // return 1; } ________________________________________________________________________________ public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid,interiorid); return 1; } ________________________________________________________________________________ Ik denk dat ik iets fout gedaan heb. Wie kan mij helpen. Bewerkt: 10 juli 2008 door Freaksken Reageren
Remcconen Geplaatst: 10 juli 2008 Rapport Geplaatst: 10 juli 2008 public OnGameModeInit(){ // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(271,2450.3115,-1688.3578,1013.5078,174.2576,22,1000,32,1000,30,1000); // return 1; } ________________________________________________________________________________ public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid,interiorid); return 1; } ________________________________________________________________________________ Ik denk dat ik iets fout gedaan heb. Wie kan mij helpen. Wil je dat als ze spawnen in een Interior spawnen? En als je wilt dat ze gewoon spawnen niet in een interior public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid, 0); return 1; } Nu spawnt hij niet in een interior. Als hij er wel in meot spawnen moet je die "0" van SetPlayerInterior(playerid, 0); veranderen in het Interior ID. Reageren
Freaksken Geplaatst: 10 juli 2008 Auteur Rapport Geplaatst: 10 juli 2008 (bewerkt) Ik wil dus dat ryder in zijn huis spawnt, na het kiezen van de skin. Kan je dus eens een voorbeeld geven wat er moet staan bij OnGameModeInit en OnPlayerSpawn. (Graag met de juiste coordinaten en ID's a.u.b.). Bewerkt: 10 juli 2008 door Freaksken Reageren
Remcconen Geplaatst: 15 juli 2008 Rapport Geplaatst: 15 juli 2008 (bewerkt) Ik wil dus dat ryder in zijn huis spawnt, na het kiezen van de skin.Kan je dus eens een voorbeeld geven wat er moet staan bij OnGameModeInit en OnPlayerSpawn. (Graag met de juiste coordinaten en ID's a.u.b.). Zoek het ff voor je op als ik het kan vinden. Maar als ze in een interior spawnen meot je ze wel uit het huis kunnen laten gaan door : Een command/Een checkpoint/Een andere manier. Wel gevonden alleen kan het progje niet openen. Mischien kan iemand anders het wel doen. (Sandra, Juwayri, Ymosky, WackoX, iemand anders) Bewerkt: 15 juli 2008 door Remcconen Reageren
Juwayri Geplaatst: 15 juli 2008 Rapport Geplaatst: 15 juli 2008 @ Remcconen: Als je de source hebt gedownload ga je naar Location Information --> bin --> debug --> Location Information @ Freaksken: Het interior id is: 2 De coördinaten van het interior zijn: 2451.77, -1699.8, 1013.51 Dus als 271 ryders id is (zou het echt niet weten) Dan is dit de code die je moet gebruiken: public OnGameModeInit() { AddPlayerClass(271,2451.77, -1699.8, 1013.51,=>174.2576<=,22,1000,32,1000,30,1000); // class 1 return 1; } public OnPlayerSpawn(playerid) { case 1: { SetPlayerInterior(playerid, 2); return 1; } } Het met => <= aangegeven coördinaat (de Float:Angle) kan ik niet achterhalen want dat zou ik het zelf neer moeten zetten. Dus misschien moet je dit zelf nog opnieuw maken. En ik gebruik 'case 1' omdat ik verwacht dat je meer skins gaat gebruiken en ryder skin is nu nog het eerste id in het rijtje, als je alleen ryder gaat gebruiken mag je er dit van maken: public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid, 2); return 1; } Ik hoop dat je er wat aan hebt. En veel succes met je server. Reageren
Sandra Geplaatst: 15 juli 2008 Rapport Geplaatst: 15 juli 2008 (bewerkt) public OnPlayerSpawn(playerid) { case 1: { SetPlayerInterior(playerid, 2); return 1; } } Zo werkt dat niet public OnPlayerSpawn(playerid) { switch(GetPlayerSkin(playerid)) { case 271: {SetPlayerInterior(playerid, 2);} case 121: {SetPlayerInterior(playerid, blabla);} case 999: {blablabla} } return 1; } Bewerkt: 15 juli 2008 door =>Sandra<= Reageren
Freaksken Geplaatst: 19 juli 2008 Auteur Rapport Geplaatst: 19 juli 2008 (bewerkt) HET WERKT!!!!!!!!!!!!!!!!!!!!!!!! Bedankt allemaal. Bewerkt: 19 juli 2008 door Freaksken Reageren
Freaksken Geplaatst: 20 juli 2008 Auteur Rapport Geplaatst: 20 juli 2008 Maar hoe je dan uit dat interior kan gaan snap ik niet. Reageren
Timske Geplaatst: 20 juli 2008 Rapport Geplaatst: 20 juli 2008 Leuk idee, alleen waar moet je die code plaatsen.. En kan Ryder dan ook uit zijn huis? Reageren
Big Boss Geplaatst: 21 juli 2008 Rapport Geplaatst: 21 juli 2008 (bewerkt) Maar hoe je dan uit dat interior kan gaan snap ik niet. Om uit het interior te gaan, kan je PlayerToPoint gebruiken (zie onderaan). public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp(cmdtext, "/exit", true)==0) if(PlayerToPoint(5.0, playerid, 2451.77, -1699.8, 1013.51)) { SetPlayerPos(playerid, x, y, z); // <= buiten ryders huis, zelf invullen SetPlayerInterior(playerid, 0); return 1; } return 0; } Ik weet niet of dat werkt, maar ik denk van wel. Ik typ het maar gewoon uit m'n hoofd, ik heb zelfs geen PAWN op deze PC. PlayerToPoint functie: Bovenaan: forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z); Ergens anders (bij voorkeur helemaal onderaan) public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) { new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } return 0; } Bewerkt: 21 juli 2008 door Big Boss Reageren
Freaksken Geplaatst: 22 juli 2008 Auteur Rapport Geplaatst: 22 juli 2008 Dankje, maar zou dat misschien ook gaan als je aan de deur in zo een rode cirkel stapt. 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.