[PLUGIN] Geavanceerde sa-mp drift counter by Gamer_Z - in het Nederlands uitgelegd!
#1

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:
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();
Waarde van het aantal TICKS tussen de updates van alles (TICK! niet seconden of miliseconden)

Code:
native DriftSet_MinimalSpeed(Float:MinimalSpeed,playerid = (-1));
native DriftGet_MinimalSpeed(&Float:MinimalSpeed,playerid = (0));
Waarde van de minimale snelheid om iets een 'drift' te laten zijn in km/h.

Code:
native DriftSet_MinimalAngle(Float:MinimalAngle,playerid = (-1));
native DriftGet_MinimalAngle(&Float:MinimalAngle,playerid = (0));
Waarde van de minimale hoek tijdens het driften om een drift toe te kennen

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));
Deze zijn uitgeschakelt, je kunt ze zelf aanzetten in de source code en zelf compileren.

Code:
native DriftSet_StartEndDelay(delay,playerid = (-1));
native DriftGet_StartEndDelay(playerid = (0));
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.

Code:
native DriftSet_Divider(divider,playerid = (-1));
native DriftGet_Divider(playerid = (0));
De waarde van de 'divider', voorkomt grote getallen bij de Drift Points. Standaart waarde: 350.

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);
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.

Code:
native IsPlayerDrifting(playerid);
Checkt of de speler een drift heeft gestart of niet.

Code:
forward OnPlayerDriftStart(playerid);
Deze public word uitgevoert wanneer iemand met een drift begint.

Code:
forward OnPlayerDriftUpdate(playerid,value,combo,flagid,Float:distance,Float:speed);//!!!!!
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.

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);
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

Code:
native IsPlayerDrifting_precise(playerid);
Check of de speler op het moment drift.

Code:
native Drift_AddFLAG(Float:X,Float:Y,Float:Z);//returns flagid
Maakt een flag op X Y Z aan (geen objects! het is onzichtbaar), en returnt het flagid dat is aangemaakt.

Code:
native Drift_DisableFLAG(flagid);
Zet een flag uit.

Code:
native Drift_DeleteFLAG(flagid);
Verwijdert een flag, het is mogelijk om die weer te herstellen met EnableFLAG indien je niet de functie AddFLAG hebt gebruikt.

Code:
native Drift_EnableFLAG(flagid);
Zet een flag weer aan.

Code:
native Drift_MoveFLAG(flagid,Float:X,Float:Y,Float:Z);
Stelt de nieuwe coordinaten X Y Z in van een flag

Code:
native Drift_SetCheckForFlags(enabled = 1,playerid =(-1));
native Drift_GetCheckForFlags(playerid = 0);
Zet aan/uit - het checken van de spelers of die vlakbij een vlag zijn.

Toegevoegd in R19
Code:
native Drift_Private_ChangeState(playerid,newstate);
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.

Code:
native Drift_SetGlobalCheck(enable = 1);
native Drift_GetGlobalCheck();
Zet de plugin aan/uit (enable = 1/enable = 0)

Code:
native Drift_SetPlayerCheck(playerid = (-1),enable = 1);
native Drift_GetPlayerCheck(playerid = (0));
Zet aan/uit - de controle op spelers of ze driften.

Code:
native Drift_SetBackwardsCheck(enabled = 1,playerid =(-1));
native Drift_GetBackwardsCheck(playerid = 0);
zet de optie aan/uit om achterwaards te driften.

Code:
native Drift_SetDriftMaxHealthLoose(Float:MaximalHealthLoose = 0.0,playerid = (-1));
native Drift_GetDriftMaxHealthLoose(&Float:MaximalHealthLoose,playerid = (0));
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
Reply
#2

Hier hebben wij een sectie voor plaats het daarXD
Reply
#3

Edit: @ above ^ alsnog nice
Dat heb je heel nice gedaan! Miss kan k t wl gebruiken voor een drift GM die ik atm maak (Voor 30 euro Van een of andere pool :P)
Reply
#4

ah sorry, @mod verplaats aub, ik zag daar geen een plugin dus ik zat te denken of het wel hier mag of niet :P
Reply
#5

Quote:
Originally Posted by Gamer_Z
View Post
ah sorry, @mod verplaats aub, ik zag daar geen een plugin dus ik zat te denken of het wel hier mag of niet :P
mischien stome vraag, maar ben jij NL?
Reply
#6

Ik ben Pools, maar woon hier al heel lang in NL, meer dan de helft van m'n belachelijke leven :P
Reply
#7

Mooie bump ook : >
Reply
#8

Kan je ook zoiets maken voor je GPS plugin? Ik snap 'm niet echt...
Reply
#9

Quote:
Originally Posted by robintjeh
View Post
Kan je ook zoiets maken voor je GPS plugin? Ik snap 'm niet echt...
Wat snap je dan precies niet?
Eh, ik ga gewoon binnenkort tutorial videos maken voor het scripting gedeelte... zodat meer mensen er gebruik van kunnen maken.
Reply
#10

Hoe kan ik b.v. een script maken wat een (goed, eentje die niet zo belabberd rijdt als ik zelf) rijdende taxi naar mij toerijdt, en naar het, uh, Airport brengt?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)