13.07.2011, 19:31
(
Last edited by Gamer_Z; 19/07/2011 at 10:23 PM.
)
Aller eerst wil ik de mensen bedanken dankzij wie deze plugin 'mogelijk' was (als ik iemand ben vergeten laat het mij weten):
Pghpunkid
Incognito
Kyosaur
RyDeR`
Zeex
Rock_Ro
Nero_3D
Speciale dank aan deze mensen (voor hulp etc..):
Kyosaur
RyDeR`
Oke, je zit dus waarschijnlijk met de vraag: "Wat doet deze plugin?".
Bekijk deze video eens:
[ame]http://www.youtube.com/watch?v=f9AtUwlNOFk[/ame]
Dit is 'Drifting' (en dit is ook een van mijn lievelings games).
En deze video representeerd mijn plugin:
[ame]http://www.youtube.com/watch?v=wNNcMC-R8So[/ame]
En nu: Waarom niet in PAWN/ een Filterscript? -
Dat leg ik graag uit:
PAWN is een scripting taal die bedoeld is voor kleine scripts (Niet zulke grote gamemodes, maar PAWN kan het wel makkelijk aan )
en als je veel berekeningen maakt op ongeveer 500 spelers maximaal, is het geen probleem - Alle berekeningen zullen worden gedaan... In een bepaalde tijd, en deze drift berekeningen zijn zwaar en zouden heel lang duren! Wanneer PAWN een functie uitvoert, word heel de script 'gepauzeert' totdat de functie klaar is.
Dus wat deze plugin doet: Alle berekeningen worden 'achter de schermen' gedaan en zullen toch geen 'impact' moeten hebben op de rest van de server, en op bepaalde momenten voert de plugin callbacks uit wanneer: 1) Iemand met een drift start, 2) aan het driften is 3) een drift beendigd.
Okey, waar kan ik deze plugin downloaden?
De nieuwste source code, plugin (SO+DLL) en includes en alle toebehoren kunnen worden gedownload vanaf:
http://code.google.com/p/sa-mp-drift/
Bekende problemen/bugs:
- Het checken van het voertuig type is geimplementeerd, maar standaart uitgeschakeld, dus in teorie kun je driften met een vliegtuig of boot, maar om dit in te schakelen kun je de source code zelf recomilen met de definitie
#define USE_VEHICLE_MODEL_CHECK
Uitleg van de functies:
Waarde van het aantal TICKS tussen de updates van alles (TICK! niet seconden of miliseconden)
Waarde van de minimale snelheid om iets een 'drift' te laten zijn in km/h.
Waarde van de minimale hoek tijdens het driften om een drift toe te kennen
Deze zijn uitgeschakelt, je kunt ze zelf aanzetten in de source code en zelf compileren.
De waarde die de timer tussen de start van de drift heeft en het eind. Als de speler neit binnen deze tijd weer begint te driften dan zal de drift beendigd worden. Dit is ook in TICKS.
De waarde van de 'divider', voorkomt grote getallen bij de Drift Points. Standaart waarde: 350.
Zet aan/uit van het checken of de voertuig schade heeft opgelopen, indien wel dan zal de drift beendigd worden met als 'reason' (reden) dat het voertuig beschadigd was.
Ook kun je de maximale toegestaande levens kwijtraking instellen met MaxHealthLoose.
Checkt of de speler een drift heeft gestart of niet.
Deze public word uitgevoert wanneer iemand met een drift begint.
Deze plugin word uitgevoert wanneer iemand aan het driften is, dus heel veel keer per seconde.
flagid returnt de dichtsbijzijnde flag binnen 10 meter terwijl iemand aan het driften is.
value is het aantal drift points, combo spreekt voor zichzelf. distance is de afstand to de dichtbijzijnde flag - dus hoe kleiner, hoe dichter bij de flag de speler is!
speed is de snelheid in km/h.
Deze public word uitgevoert wanneer een speler een drift beendigd, er zijn 2 mogelijke redenen:
DRIFT_REASON_TIME_EXPIRE - de tijd om de drift hervatten is om
DRIFT_REASON_CAR_DAMAGED - het voertuig heeft schade opgelopen
DRIFT_REASON_PLAYER_EXIT_VEHICLE - De speler heeft het voertuig verlaten
Check of de speler op het moment drift.
Maakt een flag op X Y Z aan (geen objects! het is onzichtbaar), en returnt het flagid dat is aangemaakt.
Zet een flag uit.
Verwijdert een flag, het is mogelijk om die weer te herstellen met EnableFLAG indien je niet de functie AddFLAG hebt gebruikt.
Zet een flag weer aan.
Stelt de nieuwe coordinaten X Y Z in van een flag
Zet aan/uit - het checken van de spelers of die vlakbij een vlag zijn.
Toegevoegd in R19
Deze native word door de plugin zelf gebruikt, Ik raad het af om hem zelf te gebruiken tenzij je weet wat je doet.
Zie de include en source om te zien wanneer die gebruikt word en wat hij doet.
Zet de plugin aan/uit (enable = 1/enable = 0)
Zet aan/uit - de controle op spelers of ze driften.
zet de optie aan/uit om achterwaards te driften.
Zie: DriftSet_DamageCheck
'Have fun', nog vragen? schrijf hier!
een voorbeeld filterscript kun je vinden op sa-mp-drift.googlecode.com.
de nieuwste updates kunnen worden gevolgt via:
https://sampforum.blast.hk/showthread.php?tid=267677
Pghpunkid
Incognito
Kyosaur
RyDeR`
Zeex
Rock_Ro
Nero_3D
Speciale dank aan deze mensen (voor hulp etc..):
Kyosaur
RyDeR`
Oke, je zit dus waarschijnlijk met de vraag: "Wat doet deze plugin?".
Bekijk deze video eens:
[ame]http://www.youtube.com/watch?v=f9AtUwlNOFk[/ame]
Dit is 'Drifting' (en dit is ook een van mijn lievelings games).
En deze video representeerd mijn plugin:
[ame]http://www.youtube.com/watch?v=wNNcMC-R8So[/ame]
En nu: Waarom niet in PAWN/ een Filterscript? -
Dat leg ik graag uit:
PAWN is een scripting taal die bedoeld is voor kleine scripts (Niet zulke grote gamemodes, maar PAWN kan het wel makkelijk aan )
en als je veel berekeningen maakt op ongeveer 500 spelers maximaal, is het geen probleem - Alle berekeningen zullen worden gedaan... In een bepaalde tijd, en deze drift berekeningen zijn zwaar en zouden heel lang duren! Wanneer PAWN een functie uitvoert, word heel de script 'gepauzeert' totdat de functie klaar is.
Dus wat deze plugin doet: Alle berekeningen worden 'achter de schermen' gedaan en zullen toch geen 'impact' moeten hebben op de rest van de server, en op bepaalde momenten voert de plugin callbacks uit wanneer: 1) Iemand met een drift start, 2) aan het driften is 3) een drift beendigd.
Okey, waar kan ik deze plugin downloaden?
De nieuwste source code, plugin (SO+DLL) en includes en alle toebehoren kunnen worden gedownload vanaf:
http://code.google.com/p/sa-mp-drift/
Bekende problemen/bugs:
- Het checken van het voertuig type is geimplementeerd, maar standaart uitgeschakeld, dus in teorie kun je driften met een vliegtuig of boot, maar om dit in te schakelen kun je de source code zelf recomilen met de definitie
#define USE_VEHICLE_MODEL_CHECK
Uitleg van de functies:
Code:
als je *_Set* ziet stelt het een waarde in die jij op geeft als je *_Get* ziet returnt/neemt het een waarde op //-1 betekend voor alle spelers. native DriftSet_UpdateDelay(delay); native DriftGet_UpdateDelay();
Code:
native DriftSet_MinimalSpeed(Float:MinimalSpeed,playerid = (-1)); native DriftGet_MinimalSpeed(&Float:MinimalSpeed,playerid = (0));
Code:
native DriftSet_MinimalAngle(Float:MinimalAngle,playerid = (-1)); native DriftGet_MinimalAngle(&Float:MinimalAngle,playerid = (0));
Code:
//native DriftSet_MaximalSpeed(Float:MaximalSpeed,playerid = (-1)); //native DriftGet_MaximalSpeed(&Float:MaximalSpeed,playerid = (0)); //native DriftSet_MaximalAngle(Float:MaximalAngle,playerid = (-1)); //native DriftGet_MaximalAngle(&Float:MaximalAngle,playerid = (0));
Code:
native DriftSet_StartEndDelay(delay,playerid = (-1)); native DriftGet_StartEndDelay(playerid = (0));
Code:
native DriftSet_Divider(divider,playerid = (-1)); native DriftGet_Divider(playerid = (0));
Code:
native DriftSet_DamageCheck(enable = 1,playerid = (-1),Float:MaxHealthLoose = 0.0);//default = disabled (0), enabled = 1 native DriftGet_DamageCheck(playerid = (0),&Float:MaxHealthLoose = 0);
Ook kun je de maximale toegestaande levens kwijtraking instellen met MaxHealthLoose.
Code:
native IsPlayerDrifting(playerid);
Code:
forward OnPlayerDriftStart(playerid);
Code:
forward OnPlayerDriftUpdate(playerid,value,combo,flagid,Float:distance,Float:speed);//!!!!!
flagid returnt de dichtsbijzijnde flag binnen 10 meter terwijl iemand aan het driften is.
value is het aantal drift points, combo spreekt voor zichzelf. distance is de afstand to de dichtbijzijnde flag - dus hoe kleiner, hoe dichter bij de flag de speler is!
speed is de snelheid in km/h.
Code:
#define DRIFT_REASON_TIME_EXPIRE (0) #define DRIFT_REASON_CAR_DAMAGED (1) //TOEGEVOEGD IN R19 #define DRIFT_REASON_PLAYER_EXIT_VEHICLE (2) forward OnPlayerDriftEnd(playerid,value,combo,reason);
DRIFT_REASON_TIME_EXPIRE - de tijd om de drift hervatten is om
DRIFT_REASON_CAR_DAMAGED - het voertuig heeft schade opgelopen
DRIFT_REASON_PLAYER_EXIT_VEHICLE - De speler heeft het voertuig verlaten
Code:
native IsPlayerDrifting_precise(playerid);
Code:
native Drift_AddFLAG(Float:X,Float:Y,Float:Z);//returns flagid
Code:
native Drift_DisableFLAG(flagid);
Code:
native Drift_DeleteFLAG(flagid);
Code:
native Drift_EnableFLAG(flagid);
Code:
native Drift_MoveFLAG(flagid,Float:X,Float:Y,Float:Z);
Code:
native Drift_SetCheckForFlags(enabled = 1,playerid =(-1)); native Drift_GetCheckForFlags(playerid = 0);
Toegevoegd in R19
Code:
native Drift_Private_ChangeState(playerid,newstate);
Zie de include en source om te zien wanneer die gebruikt word en wat hij doet.
Code:
native Drift_SetGlobalCheck(enable = 1); native Drift_GetGlobalCheck();
Code:
native Drift_SetPlayerCheck(playerid = (-1),enable = 1); native Drift_GetPlayerCheck(playerid = (0));
Code:
native Drift_SetBackwardsCheck(enabled = 1,playerid =(-1)); native Drift_GetBackwardsCheck(playerid = 0);
Code:
native Drift_SetDriftMaxHealthLoose(Float:MaximalHealthLoose = 0.0,playerid = (-1)); native Drift_GetDriftMaxHealthLoose(&Float:MaximalHealthLoose,playerid = (0));
'Have fun', nog vragen? schrijf hier!
een voorbeeld filterscript kun je vinden op sa-mp-drift.googlecode.com.
de nieuwste updates kunnen worden gevolgt via:
https://sampforum.blast.hk/showthread.php?tid=267677