Page 1 of 1
Klausimelis
Posted: 2011 Jul 07 01:23
by psychical
Ar yra koks dalykas kuris skirtu HIT_SLASH nuo HIT_STAB? Jei taip, tai kokiu budu ji galima gauti PVZ.: take_damage evente?
P.S. Kazka radau apie button & IN_ATTACK, bet man idomu ar pagal ji bus galima nustatyt dmg?
Re: Klausimelis
Posted: 2011 Jul 07 14:15
by aaarnas
Hmm, geras klausimas. Rodos yra tik DMG_SLASH. Į jį įeina ir slash ir stab. Kaip tiksliai atskirti, pasakyti negaliu.
Galima mėginti nužudymo metu tikrinti atakuotojo mygtukus. Jei slash, tai bus IN_ATTACK, stab IN_ATTACK2. Bet tai gali būti nelabai tikslu.
Antras variantas kurį sugalvojau:
Code: Select all
/* Plugin generated by AMXX-Studio */ #include <amxmodx>#include <engine>#include <hamsandwich> #define PLUGIN "Plugin"#define VERSION "1.0"#define AUTHOR "aaarnas" new slash_type[33] enum { TYPE_STAB, TYPE_SLASH}public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "knife_primary") RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "knife_secondary") RegisterHam(Ham_Killed, "player", "player_killed", 1)} public knife_primary(weapon) slash_type[entity_get_edict(weapon, EV_ENT_owner)] = TYPE_SLASH public knife_secondary(weapon) slash_type[entity_get_edict(weapon, EV_ENT_owner)] = TYPE_STAB public player_killed(victim, attacker, shouldgib) { if(is_user_connected(attacker)) { switch(slash_type[attacker]) { case TYPE_STAB: { // Žaidėjas nudurtas } case TYPE_SLASH: { // Žaidėjas papjautas } } }}
Re: Klausimelis
Posted: 2011 Jul 07 14:53
by psychical
Ačiū, veikia.

Re: Klausimelis
Posted: 2011 Jul 07 21:32
by hleV
Žalos padarymo metu reiktų pirma patikrint, ar žalos tipas yra DMG_SLASH, tik tada tikrinti slash/stab.
Re: Klausimelis
Posted: 2011 Jul 07 21:45
by psychical
hleV wrote:Nužudymo metu reiktų pirma patikrint, ar žalos tipas yra DMG_SLASH, tik tada tikrinti slash/stab.
Man reikalingas ne nuzudymo, o trenkimo laiku, ta prasme kai dmg darai, o ne kai nuzudai, pasidariau viska kaip reikia

Re: Klausimelis
Posted: 2011 Jul 07 22:12
by aaarnas
psychical wrote:hleV wrote:Nužudymo metu reiktų pirma patikrint, ar žalos tipas yra DMG_SLASH, tik tada tikrinti slash/stab.
Man reikalingas ne nuzudymo, o trenkimo laiku, ta prasme kai dmg darai, o ne kai nuzudai, pasidariau viska kaip reikia

Ta prasme jis turėjo omenyje tai:
Code: Select all
#define DMG_SLASH (1<<2) public player_damage(victim, inflictor, attacker, Float:damage, damage_type) { if(is_user_connected(attacker) && damage_type & DMG_SLASH) { switch(slash_type[attacker]) { case TYPE_STAB: { // Žaidėjas nudurtas } case TYPE_SLASH: { // Žaidėjas papjautas } } }}