Klausimelis

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Klausimelis

Post 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?

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: Klausimelis

Post 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            }        }    }}
Palikau CS pasaulį ;/ . Nebepasiekiamas.


User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Klausimelis

Post by hleV »

Žalos padarymo metu reiktų pirma patikrint, ar žalos tipas yra DMG_SLASH, tik tada tikrinti slash/stab.
Last edited by hleV on 2011 Jul 07 22:52, edited 2 times in total.
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Klausimelis

Post 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 :liux:

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: Klausimelis

Post 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 :liux:
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            }        }    }}
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests