04.08.2012, 21:41
(
Последний раз редактировалось mickos; 23.08.2012 в 16:25.
)
Tutorial
Wat is een OnPlayerRequestClass en hoe maak ik het?
Hallo,
Vandaag ga ik jullie uitleggen wat OnPlayerRequestClass is, wat voor functie het heeft en hoe je het maakt.
Wat is OnPlayerRequestClass?
OnPlayerRequestClass laat de jou gekozen skins zien die je heb gemaakt met AddPlayerClass, ik vertel jullie straks hoe je dat maakt. Zoals ik al zei laat OnPlayerRequestClass jou gekozen skins zien.
Hier heb je een voorbeeld:
Zoals jullie op de foto kunnen zien, zien jullie dat er een bouwvakker staat te dansen op het podium in de club. Laten we als voorbeeld deze na-maken. Ik zal jullie stapje voor stapje uitleggen hoe dat moet.
De coordinaten opslaan.
De coordinaten opslaan, zoals het kopje al beschrijft gaan we de coordinaten opslaan. Wat voor coordinaten gaan we opslaan? We gaan de coordinaten opslaan van de plek waar de speler moet staan (dus in dit geval op het podium in de club). We gaan de coordinaten opslaan waar de camera naartoe hoort te kijken. En we gaan de coordinaten opslaan waar de speler naar toe hoort te kijken.
Zoals jullie zien ziet de OnPlayerRequestClass er zo uit:
Dat gaan we meteen veranderen. Dit is namelijk de basis OnPlayerRequestClass waar je dus geen karakters ziet. Omdat alles dezelfde richting in kijkt.
Ik ga jullie even een snelle korte uitleg geven wat voor functie deze 3 dingen hebben, voordat we gaan beginnen.
SetPlayerPos = De Plaats waar de speler komt te staan (dus in dit geval op het podium in de club)
SetPlayerCameraPos = De Plaats waar de camera komt te staan (dus is dit geval tegen over het podium zodat hij de speler aan kan kijken.
SetPlayerCameraLookAt = De plaats waar de speler naar kijkt.
Oke nu jullie dit weten gaan we de coordinaten opslaan.
Aller eerst gaan we ingame, loop naar de club. En sta vervolgens op het podium, we gaan nu de coordinaten voor de SetPlayerPos opslaan, en we slaan ze ook meteen op voor de SetPlayerCameraLookAt SetPlayerPos en SetPlayerCameraLookAt hebben namelijk de zelfde coordinaten nodig.
Alright hier heb je een screenshot dat ik de coordinaten van de SetPlayerPos heb gesaved:
Als je je class selection het liefste in een gebouw heb zoals in dit geval, moet je /interior ingame typen. Waarom moet je dat doen? Simpel je zit in een interior en een interior heb een ander ID dan dat je gewoon buiten bent. Als je buiten bent is je Interior ID standaard 0. Maar als je in de club bent is je Interior ID 17.
Hier heb je een screenshot:
Dus dan gebruiken we dit: SetPlayerInterior om aan te geven welk interior dit is. Dit komt er zo uit te zien:
SetPlayerInterior(playerid,17); het getal 17 is het Interior ID van de club.
Dit
zetten we boven SetPlayerPos
Nu we die coordinaten en het Interior ID hebben, moeten we niet vergeten of de speler nou naar het noorden of naar het oosten kijkt.
In dit geval kijkt de speler naar het zuiden.
Hoe laten we de speler naar het zuiden kijken?
Dat doen we als volgt, als we weten waar de speler naar kijkt gebruiken we: SetPlayerFacingAngle
Dus in dit geval komt het er zo uit zien: SetPlayerFacingAngle( playerid, 180 );
De FacingAngles kun je >HIER< vinden.
De SetPlayerFacingAngle zet je gewoon tussen de SetPlayerPos en de SetPlayerCameraLookAt.
En klaar is kees, nu gaan we de coordinaten opslaan waar de camera komt te staan.
De CameraPos komt tegen over de SetPlayerPos te staan, hier heb je een screenshot:
Oke nu we dat gedaan hebben gaan we de coordinaten pakken die we zojuist gesaved hebben. De coordinaten zijn opgeslagen in Savedpositions.
Nou open Savedpositions, en dan zien jullie als het goed is dit:
Deze 2 hebben we namelijk nodig.
Het vervangen van de coordinaten
We gaan nu de coordinaten laten vervangen van deze 3:
Hoe gaan we dat doen? Nou we pakken de eerste 6 coordinaten van de opgeslagen positie.
Dus deze:
Waarom slaan we het getal 105 over? Nou omdat het getal 105 de skin is die ik zojuist had. Als je de posities saved met CJ's skin dus skin ID 0, dan was het getal niet 105, maar 0.
Dus altijd het eerste getal overslaan.
Alright, nu hebben we deze 6 coordinaten gekopiлrd
.
De SetPlayerPos en SetPlayerCameraLookAt coordinaten worden vervangen door de zojuist opgeslagen en gekopierde coordinaten.
Dus dan komt er als volgt zo uit te zien:
Voor:
Na:
Oke dat is gedaan nu gaan we de SetPlayerCameraPos coordinaten vervangen door de nieuwe coordinaten.
En we pakken weer de eerste 6 coordinaten. Weer het zelfde verhaal we slaan het getal 105 over dus het eerste getal, omdat dat het skin ID is.
Dus we kopiлren alleen deze:
Nu gaan we de oude coordinaten vervangen door de zojuist gekopierde coordinaten.
Voor:
Na:
Nu we alles in het gehele hebben vervangen ziet de OnPlayerRequestClass er zo uit:
Maar we zijn nog niet klaar...
We hebben nog geen skins toegevoegd.
Dus we gaan nu naar
Wat kun je doen in OnGameModeInit?
Met OnGameModeInit, kun je je skins kiezen die in je OnPlayerRequestClass komen te staan.
Laten we even snel 3 skins toevoegen.
Stel jij wil graag CJ, Sweet, Ryder en Big Smoke in je OnPlayerRequestClass hebben. Dan doen we als volgt dit:
Waarom dit?
Nou AddPlayerClass maakt de skins, en zorgt dat ze ergens spawnen, en je kan zorgen dat ze eventuele wapens hebben.
Achter AddPlayerClass(
Zie je als het goed is: 0, 269, 270 en 271. Waarom heb ik dat gedaan? Nou we willen graag CJ, Big Smoke, Sweet en Ryder in ons OnPlayerRequestClass hebben.
0 = Het skin id van CJ
269 = Het skin id van Big Smoke
270 = Het skin id van Sweet
271 = Het skin id van Ryder
Het hoeft natuurlijk niet persй in die volgorde..
>HIER< vind je alle skin IDs
Nu we dit hebben allemaal hebben gedaan is jou OnPlayerRequestClass zo goed als af.
Maar je kan er nog veel meer mee je kan bijvoorbeeld nog texten toevoegen en animaties en nog vййl meer. Maar hoe je dat doet zal ik in m'n volgende tutorial uitleggen.
NOTE: Vergeet niet dit:
in
te zetten.
Ik hoop dat jullie hier iets van hebben opgestoken.
Veel succes!
Wat is een OnPlayerRequestClass en hoe maak ik het?
Hallo,
Vandaag ga ik jullie uitleggen wat OnPlayerRequestClass is, wat voor functie het heeft en hoe je het maakt.
Wat is OnPlayerRequestClass?
OnPlayerRequestClass laat de jou gekozen skins zien die je heb gemaakt met AddPlayerClass, ik vertel jullie straks hoe je dat maakt. Zoals ik al zei laat OnPlayerRequestClass jou gekozen skins zien.
Hier heb je een voorbeeld:
Zoals jullie op de foto kunnen zien, zien jullie dat er een bouwvakker staat te dansen op het podium in de club. Laten we als voorbeeld deze na-maken. Ik zal jullie stapje voor stapje uitleggen hoe dat moet.
De coordinaten opslaan.
De coordinaten opslaan, zoals het kopje al beschrijft gaan we de coordinaten opslaan. Wat voor coordinaten gaan we opslaan? We gaan de coordinaten opslaan van de plek waar de speler moet staan (dus in dit geval op het podium in de club). We gaan de coordinaten opslaan waar de camera naartoe hoort te kijken. En we gaan de coordinaten opslaan waar de speler naar toe hoort te kijken.
Zoals jullie zien ziet de OnPlayerRequestClass er zo uit:
Quote:
public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } |
Ik ga jullie even een snelle korte uitleg geven wat voor functie deze 3 dingen hebben, voordat we gaan beginnen.
SetPlayerPos = De Plaats waar de speler komt te staan (dus in dit geval op het podium in de club)
SetPlayerCameraPos = De Plaats waar de camera komt te staan (dus is dit geval tegen over het podium zodat hij de speler aan kan kijken.
SetPlayerCameraLookAt = De plaats waar de speler naar kijkt.
Oke nu jullie dit weten gaan we de coordinaten opslaan.
Aller eerst gaan we ingame, loop naar de club. En sta vervolgens op het podium, we gaan nu de coordinaten voor de SetPlayerPos opslaan, en we slaan ze ook meteen op voor de SetPlayerCameraLookAt SetPlayerPos en SetPlayerCameraLookAt hebben namelijk de zelfde coordinaten nodig.
Alright hier heb je een screenshot dat ik de coordinaten van de SetPlayerPos heb gesaved:
Als je je class selection het liefste in een gebouw heb zoals in dit geval, moet je /interior ingame typen. Waarom moet je dat doen? Simpel je zit in een interior en een interior heb een ander ID dan dat je gewoon buiten bent. Als je buiten bent is je Interior ID standaard 0. Maar als je in de club bent is je Interior ID 17.
Hier heb je een screenshot:
Dus dan gebruiken we dit: SetPlayerInterior om aan te geven welk interior dit is. Dit komt er zo uit te zien:
SetPlayerInterior(playerid,17); het getal 17 is het Interior ID van de club.
Dit
Quote:
SetPlayerInterior(playerid,17); |
Nu we die coordinaten en het Interior ID hebben, moeten we niet vergeten of de speler nou naar het noorden of naar het oosten kijkt.
In dit geval kijkt de speler naar het zuiden.
Hoe laten we de speler naar het zuiden kijken?
Dat doen we als volgt, als we weten waar de speler naar kijkt gebruiken we: SetPlayerFacingAngle
Dus in dit geval komt het er zo uit zien: SetPlayerFacingAngle( playerid, 180 );
De FacingAngles kun je >HIER< vinden.
De SetPlayerFacingAngle zet je gewoon tussen de SetPlayerPos en de SetPlayerCameraLookAt.
En klaar is kees, nu gaan we de coordinaten opslaan waar de camera komt te staan.
De CameraPos komt tegen over de SetPlayerPos te staan, hier heb je een screenshot:
Oke nu we dat gedaan hebben gaan we de coordinaten pakken die we zojuist gesaved hebben. De coordinaten zijn opgeslagen in Savedpositions.
Nou open Savedpositions, en dan zien jullie als het goed is dit:
Deze 2 hebben we namelijk nodig.
Het vervangen van de coordinaten
We gaan nu de coordinaten laten vervangen van deze 3:
Quote:
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); |
Dus deze:
Waarom slaan we het getal 105 over? Nou omdat het getal 105 de skin is die ik zojuist had. Als je de posities saved met CJ's skin dus skin ID 0, dan was het getal niet 105, maar 0.
Dus altijd het eerste getal overslaan.
Alright, nu hebben we deze 6 coordinaten gekopiлrd
Quote:
487.5279,-5.9335,1002.0781 |
De SetPlayerPos en SetPlayerCameraLookAt coordinaten worden vervangen door de zojuist opgeslagen en gekopierde coordinaten.
Dus dan komt er als volgt zo uit te zien:
Voor:
Quote:
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); |
Quote:
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); |
Quote:
SetPlayerPos(playerid, 487.5279,-5.9335,1002.0781); |
Quote:
SetPlayerCameraLookAt(playerid, 487.5279,-5.9335,1002.0781); |
En we pakken weer de eerste 6 coordinaten. Weer het zelfde verhaal we slaan het getal 105 over dus het eerste getal, omdat dat het skin ID is.
Dus we kopiлren alleen deze:
Nu gaan we de oude coordinaten vervangen door de zojuist gekopierde coordinaten.
Voor:
Quote:
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); |
Quote:
SetPlayerCameraPos(playerid, 487.4542,-11.0282,1000.6797); |
Quote:
public OnPlayerRequestClass(playerid, classid) { SetPlayerInterior(playerid,17); SetPlayerPos(playerid, 487.5279,-5.9335,1002.0781); SetPlayerFacingAngle(playerid, 180); SetPlayerCameraPos(playerid, 487.4542,-11.0282,1000.6797); SetPlayerCameraLookAt(playerid, 487.5279,-5.9335,1002.0781); return 1; } |
We hebben nog geen skins toegevoegd.
Dus we gaan nu naar
Quote:
OnGameModeInit() |
Met OnGameModeInit, kun je je skins kiezen die in je OnPlayerRequestClass komen te staan.
Laten we even snel 3 skins toevoegen.
Stel jij wil graag CJ, Sweet, Ryder en Big Smoke in je OnPlayerRequestClass hebben. Dan doen we als volgt dit:
Quote:
public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddPlayerClass(269, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddPlayerClass(270, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddPlayerClass(271, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } |
Nou AddPlayerClass maakt de skins, en zorgt dat ze ergens spawnen, en je kan zorgen dat ze eventuele wapens hebben.
Achter AddPlayerClass(
Zie je als het goed is: 0, 269, 270 en 271. Waarom heb ik dat gedaan? Nou we willen graag CJ, Big Smoke, Sweet en Ryder in ons OnPlayerRequestClass hebben.
0 = Het skin id van CJ
269 = Het skin id van Big Smoke
270 = Het skin id van Sweet
271 = Het skin id van Ryder
Het hoeft natuurlijk niet persй in die volgorde..
>HIER< vind je alle skin IDs
Nu we dit hebben allemaal hebben gedaan is jou OnPlayerRequestClass zo goed als af.
Maar je kan er nog veel meer mee je kan bijvoorbeeld nog texten toevoegen en animaties en nog vййl meer. Maar hoe je dat doet zal ik in m'n volgende tutorial uitleggen.
NOTE: Vergeet niet dit:
Quote:
SetPlayerInterior(playerid,0); |
Quote:
public OnPlayerSpawn(playerid) |
Ik hoop dat jullie hier iets van hebben opgestoken.
Veel succes!