Problem(error/warning): Jel neko moze da mi objasni kako funkcionise ono da pistolj sa prigusivacem ne moze npr da ubija nego da bude tazer ili da moze samo npc-eve da ubija i to. Ako ima neki callback ili plugin posto nmg da nadjem na netu
Deo skripte: //
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
promenis u [pawn]OnPlayerDamage// OnPlayerTakeDamage moze da ti bude[/pawn]
da ne tazuje igraca vec samo npc-eve da ubija
Nista komplikovano, to funkcionise za bilo koje oruzije.
Ako ces da neko oruzije ne deluje damage na igraca, samo vratis 0
Evo par primera :
[pawn]public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {
if(weaponid == WEAPON_SILENCED) return 0; //Ukoliko igrac upuca bilo koga sa silenced pistoljem, nece mu naneti damage
if(bodypart == 9) { //Jos jedan primer ako ga upuca u glavu
SendClientMessage(playerid, -1, "Ne smes da pucas igrace u glavu!"); //izbaci poruku
return 0; //vratimo 0 da ne bi dilalo damage na igraca
}
return 1;
}[/pawn]
Primer za tazer bi bio nesto na ovaj fazon :
[pawn]public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {
//Uzecemo za primer da je organizacija policija ID 1
if(PlayerInfo[playerid][xClan] == 1 && PlayerInfo[damagedid][xClan] != 1 && damagedid != INVALID_PLAYER_ID) {
//Ovde iznad smo napravili proveru ako je ovaj sto daje dmg u pd-u i ako ovaj sto prima dmg nije
if(PlayerInfo[damagedid][xWanted] >= 1 && GetPlayerWeapon(playerid) == WEAPON_SILENCED) { //Ako ima wanted ovaj sto prima dmg i ako ovaj ima silenced pistolj
TogglePlayerControllable(damagedid, false); //Freezamo igraca koji prima dmg
SendClientMessage(playerid, -1, "Tazovao si igraca!");
SendClientMessage(damagedid, -1, "Igrac te je tazovao!");
//Izbaci poruke, postavi promenljive ili sta vec hoces
return 0; //Da ne prima dmg
}
}
return 1;
}[/pawn]
A sto se npc-a tice ili actora, u zavisnosti sta koristis drugacije je :
Za actora koristis OnPlayerGiveDamageActor ili OnPlayerGiveDamageDynamicActor ( ovaj primer imas u Balkan Evolution modu koji je objavljen ovde )
Za NPC-a ako koristis FCNPC include, sto je moja topla preporuka, koristis FCNPC_OnTakeDamage ( ovaj primer sam radio u Miami Street modu sto imas negde na forumu ovom )