Slike ili Video: Dole
Opis i dodatne informacije: Dole
Download link: Dole
Scan link: Pastebin
Credits: Slade, FCNPC developers.
Slade's BodyGuard System
Predstavljam vam svoj prvi Include, do sada se nisam bavio time, al prebacujem nepotrebne stvari koje mi remete urednost u modu u includeove, pa je ovo prvi ajmo reći sistem koji sam prebacio u include. Do sad nisam radio u includeovima nego direkno u skripti, pa sam se bakćao oko hookovanja i sliÄno Å¡to u poÄetku nisam razumio dok nisam proÄitao tutorial na netu.
Ovaj sistem je već bio u mom Disaronno modu, ali sad je prebaÄen u include, i sasvim dobro obavlja svoj posao.
Ovo je BETA verzija, dakle radi ono što je planirano za nju da se uradi, bugove možete prijaviti ovdje u temi, i bit će popravljeni.
U narednim updateima ovog includea, što planiram da radim kako zbog sebe tako da ga i drugi mogu koristiti, doći će mnogo stvari, dosta ih ima već u mom modu koje su prilagođene mom modu i teško mi ih je smjestit u include da svima odgovaraju.
Callbackovi:
OnPlayerLoseBodyGuard(playerid, ltype);Ltype - Tipovi gubitka bodyguarda:
1 - Smrt bodyguarda.
2 - Predaleko od bodyguarda.
3 - Uništen bodyguard.
4 - IgraÄ je napustio server/umro.
Funkcije:
BGuard::CreateBodyGuard(playerid, skin, weap);
BGuard::DestroyBodyGuard(playerid);
BGuard::ToggleFollow( playerid, bool:toggle );
BGuard::AttackPlayer(playerid, victim);
BGuard::StopAttack(playerid);BGuard::CreateBodyGuard(playerid, skin, weap);
- Kreira igraÄu (playerid) bodyguarda.
playerid - ID igraÄa kojem se kreira bodyguard.
skin - Skin bodyguarda.
weap - Oružje bodyguarda.
U sluÄaju uspjeÅ¡nog kreiranja, funkcija ima output npcid, taÄnije id igraÄevog npc-a.
U sluÄaju da igraÄ već ima bodyguarda, izbacuje se false (neuspjeÅ¡no kreiranje).
DestroyBodyGuard(playerid);
- UniÅ¡tava igraÄu (playerid) bodyguarda.
U sluÄaju uniÅ¡tavanja igraÄevog npca, return je true.
U sluÄaju da igraÄ nema NPC-a, return je false.
ToggleFollow(playerid, bool: toggle);
- Komanduje igraÄevom bodyguardu za poziciju.
toggle (true) - igraÄev bodyguard prati igraÄa, u i vozilo i pjeÅ¡ice.
toggle (false) - igraÄev bodyguard stoji u mjestu i Äuva poziciju.
return je uvjek true.
AttackPlayer(playerid, victim);
- Komanduje igraÄevom bodyguardu da napadne.
playerid - ID igraÄa Äijem bodyguardu nareÄ‘ujemo.
victim - ID igraÄa kojeg će bodyguard napasti.
return je uvjek true.
BGuard::StopAttack(playerid);
- Komanduje igraÄevom bodyguardu da prestane pucati.
return je false ako igraÄev bodyguard ne puca nikoga / nema NPC-a.
return je true ako je uspješno izvršeno.
Download: BGuard.inc
FCNPC (potrebno!): FCNPC Tema
Slike: Album slika
Primjeri korišteni na slikama:
#include
#include
public OnPlayerLoseBodyGuard(playerid, ltype) {
if(ltype == 1) { //Mrtav
SCM(playerid, -1, "Vas bodyguard je umro.");
}
else if(ltype == 2) { //Big range
SCM(playerid, -1, "Otisli ste predaleko od bodyguarda.");
}
else if(ltype == 3) { //Destroy
SCM(playerid, -1, "Unisten BodyGuard.");
}
return true;
}
cmd:g_dest(playerid, params[])
{
BGuard::DestroyBodyGuard(playerid);
return true;
}
cmd:g_test(playerid, params[])
{
new skin, weap;
if(sscanf(params, "ii", skin,weap)) return Koristi(playerid, "/g_test ");
BGuard::CreateBodyGuard(playerid, skin, weap);
return true;
}
cmd:g_at(playerid, params[])
{
new id;
if(sscanf(params, "u", id)) return Koristi(playerid, "/g_at ");
BGuard::AttackPlayer(playerid, id);
return true;
}
cmd:g_follow(playerid, params[])
{
BGuard::ToggleFollow( playerid, true );
return true;
}
cmd:g_stop(playerid, params[])
{
BGuard::ToggleFollow( playerid, false );
return true;
}
cmd:g_sat(playerid, params[])
{
BGuard::StopAttack(playerid);
return true;
}Primjer kao sa GTA San Andreasa:
Ako CJ nekog naniÅ¡ani i opuca, ne mora ga ni pogoditi, banda će ga poÄeti pucati.
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ ) {
new targetplayer = GetPlayerTargetPlayer(playerid);
if(targetplayer != INVALID_PLAYER_ID) AttackPlayer(playerid, targetplayer);
return 1;
}

