Damage Informer || weapon-config & SKY - Ubacivanje i prilagodjavanje modu
Evo nakon duzeg vremena tutorijal. Naime, dosta sam poruka dobio kako ubaciti damage informer kao na Skill Areni blabla.. Posto im je tesko uci na github i procitati kako se radi, evo ukratko:
Prvo vam je potreban weapon-config.inc (https://github.com/oscar-broman/samp-weapon-config/archive/master.zip), SKY Plugin (https://github.com/oscar-broman/SKY/releases) i SKY.inc (https://github.com/oscar-broman/SKY/archive/master.zip) (click). Kada sve to lepo preuzmete, udjete u .zip fajlove i onda klasican postupak ubacivanja plugina i includa. SKY plugine (dll, so) ubacujete u YourMode -> plugins, dok include YourMode -> pawno -> includes. Onda odete u server.cfg i u liniju gde su vam plugins dodate SKY.dll/so. DLL je za Windows, dok je SO za linux, ako neki ne znaju.
Zatim, kada ste uspesno zavrsili prvi korak, prelazimo na drugi. Otvarate skriptu vasim text editorom (sublime, atom, pawno etc..). Pri samom vrhu skripte, odmah nakon a_samp includa, dodajete:
[pawn]#include < SKY >
#include < weapon-config >
#if defined _ALS_OnPlayerGiveDamage
#undef OnPlayerGiveDamage
#else
#define _ALS_OnPlayerGiveDamage
#endif
#define OnPlayerGiveDamage NULL_OnPlayerGiveDamage
#if defined NULL_OnPlayerGiveDamage
forward NULL_OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart);
#endif
#if defined _ALS_OnPlayerTakeDamage
#undef OnPlayerTakeDamage
#else
#define _ALS_OnPlayerTakeDamage
#endif
#define OnPlayerTakeDamage NULL_OnPlayerTakeDamage
#if defined NULL_OnPlayerTakeDamage
forward NULL_OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart);
#endif
[/pawn]
E, pa cestitam! Sada ste na 60% ubacivanja damage informera. Sada pronadjite OnGameModeInit u vasem modu i pod njega dodajete:
[pawn] SetVehiclePassengerDamage(true);
SetDisableSyncBugs(true);[/pawn]
Nakon ovoga nadjete OnPlayerGiveDamage i OnPlayerTakeDamage u vasoj skripti. Uzmete sadrzaj unutar funkcija i te iste dve funkcije zamenite sa:
[pawn]public OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart) {
return true;
}[/pawn]
I sada unutar OnPlayerDamage dodate sadrzaj iz prethodne funkcije i prilagodite svojoj skripti. Ja cu vam dati primer tazovanja:
[pawn]public OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart)
{
//issuerid = meta/target - igrac koga pucate
//playerid = vi/vas id
//amount = kolicina nanete stete/damagea
//weapon = oruzje
//bodypart = deo tela
//< ovde provera da li je igrac policajac >
if(issuerid != INVALID_PLAYER_ID ) //provera da li je meta validan id/konektovana
{
new
Float: positions[3]; //definisemo varijable za pozicije
GetPlayerPos( playerid, positions[ 0 ], positions[ 1 ], positions[ 2 ] ); //uzimamo poziciju igraca koji puca pomocu definisanih varijabli
if( IsPlayerInRangeOfPoint( issuerid, 10.0, positions[ 0 ], positions[ 1 ], positions[ 2 ] ) ) { //proveravamo da li je igrac koji puca u opsegu od 10 metara te mete na koju puca
//ako jeste, onda returna sve sto je unutar provere
//zeljena animacija kada tazujete igraca [crack]
//freeze
//poruka
//timer za istek taza
}
}
// kraj
return true;
}[/pawn]
Kada prilagodite sve vasoj skripti kako treba, zapocnite compile (trebalo bi biti bez errora/warninga ako ste sve lepo uradili i prilagodili).
Ako ste sve lepo kompajlovali bez ikakvih problema i uspesno pokrenuli dedicated server, cestitam vam! Uspesno ste ubacili damage informer na vas server.
> Vise o ovom includu mozete videti na SA-MP forumu - https://forum.sa-mp.com/showthread.php?t=563387
Na kraju udjete lepo na server i uzivate pucajuci sa vasim prijateljem/ostalim igracima ako ste hostovali server.
Trenutno je 02:55 tako da je vrlo moguce da sam se negde zeznuo u pisanju jer sam umoran, no uzivajte mi :P
Ja sam pre oko mesec dana mozda malo vise mozda malo manje napisao tutorijal o weapon-config-u, ovaj tvoj i taj moj su 2 razlicita sveta :).
I n e m o j da odvajas ove zagrade ( playerid ) [ playerid ] ----> (playerid) [playerid] ko boga te molim.
Zar nekome treba tutorial za ovo o.O ??
Citat: V01D poslato Jul 13, 2020, 22:17:21 POSLE PODNE
Zar nekome treba tutorial za ovo o.O ??
hahahaha tesko je uci na github, punooo xd :D
Citat: inquisitiveemmett poslato Jul 13, 2020, 20:05:49 POSLE PODNE
Ja sam pre oko mesec dana mozda malo vise mozda malo manje napisao tutorijal o weapon-config-u, ovaj tvoj i taj moj su 2 razlicita sveta :).
I n e m o j da odvajas ove zagrade ( playerid ) [ playerid ] ----> (playerid) [playerid] ko boga te molim.
Sta fali kad su odvojene zagrade?
Citat: Ƭ H Σ Ʋ 1 ∏ ∏ Ψ _ poslato Jul 14, 2020, 13:52:17 POSLE PODNE
Sta fali kad su odvojene zagrade?
proserava se previse, makenzi ih ucio da to nikako ne sme pa pokupili od njega.
Citat: nikola_knezev poslato Jul 14, 2020, 17:51:21 POSLE PODNE
proserava se previse, makenzi ih ucio da to nikako ne sme pa pokupili od njega.
Ne, ja Makenzija ne znam ni 2 meseca, tu negde mozda, 2-3 meseca max, sa njim sam se jedino oko PAWN-a dopisivao u vezi neke funkcije na jednom projektu i tjt.. Meni nista nije pricao :), a to ne gotivim jer izgleda nepreglednije, barem ja tako mislim
Makenzi vam je bliže nego što i sami mislite. ;D
Citat: Hydra. poslato Jul 14, 2020, 19:10:51 POSLE PODNE
Makenzi vam je bliže nego što i sami mislite. ;D
Ako mislis da je nikola_knezev Makenzi, nije
Citat: inquisitiveemmett poslato Jul 14, 2020, 19:29:56 POSLE PODNE
Ako mislis da je nikola_knezev Makenzi, nije
A mozda si ti Makenzi , ko zna?
Citat: Ƭ H Σ Ʋ 1 ∏ ∏ Ψ _ poslato Jul 14, 2020, 22:15:11 POSLE PODNE
A mozda si ti Makenzi , ko zna?
omg da li sam ja makenzi hmmmmmmmmmmmmmmmmmmmmmmmmmmm, ne ::)
Mozda sam ja Makenzi?? I ja isto mrzim odvojene zagrade, nikada doduse mi nije rekao bilo sta za to, samo ne volim xDD, sve je stvar ukusa :D