Русское сообщество по скриптингу

[ZP] ZClass ISLAVE  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

[ZP] ZClass ISLAVE  [Решено]

Сообщение MayroN » 07 июл 2019, 19:49

В коде есть зачисление убийства способностью електророзряда,но почему-то фраг прибавляеться в таблице щета,но вот кто-то кого убил - непоказывает ( просто смерть игрока и все )

Соответственно деньги неприбавляються вовсе - и ето печально.
Помогите исправить.

Вот как бы оно здесь
Код: Выделить всё
if (targetdied && !targetdead)
    {
        set_user_frags(caster, get_user_frags(caster)+1)
        set_user_frags(targetid, get_user_frags(targetid)+1)
    


Весь Код Электророзрядчика
Код: Выделить всё
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <zombieplague>

#define ULTIMATESEARCHTIME 2
#define CHAINLIGHTNING_COOLDOWN 20.0
#define fm_get_user_button(%1) pev(%1, pev_button)

new const zclass_name[] = { "Ассасин" }
new const zclass_info[] = { "Электророзряд" }
new const zclass_model[] = { "girl_zaraza" }
new const zclass_clawmodel[] = { "mummy_hands.mdl" }
const zclass_health = 1800 // 
const zclass_speed = 260 // 
const Float:zclass_gravity = 1.0 // 
const Float:zclass_knockback = 1.0 // 

new g_zclass_light
new bool
:ultimateused[33]
new bool:issearching[33]
new bool:lightninghit[33]
new lightning

public plugin_init
()
{
    register_plugin("Zombie Class islave", "1.0", "[Grief.QQ] , Bill=Thailand=[UP]")
    register_forward(FM_PlayerPreThink,     "fwd_playerprethink")
    register_logevent("round_start", 2, "1=Round_Start")
    register_logevent("round_end", 2, "1=Round_End")
}

public plugin_precache()
{
    precache_sound("debris/beamstart9.wav")
    precache_sound("turret/tu_ping.wav")
    lightning = precache_model("sprites/lgtning.spr")
    g_zclass_light = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)    
}

public zp_user_infected_post(id, infector)
{
    if (zp_get_user_zombie_class(id) == g_zclass_light)
    {
        print_chatColor(id, "\g[ Зомби Чума ]\n \tКлавиша\n \gE\n - \tвыстрел по врагу\n \gЭлектрическим зарядом\n")
    }
}

public fwd_playerprethink(id) 
{
    new button = fm_get_user_button(id)
    new parm[2]
    parm[0]=id
    parm
[1]=ULTIMATESEARCHTIME
    if
((is_user_alive(id) == 1) && (button & IN_USE) && (zp_get_user_zombie_class(id) == g_zclass_light) && !zp_get_user_nemesis(id) && !ultimateused[id] && !issearching[id])
    lightsearchtarget(parm)

    return FMRES_IGNORED
}

public lightsearchtarget(parm[2])
{
    new id = parm[0]
    new enemy, body
    get_user_aiming
(id,enemy,body)
    if ( 0<enemy<=32 && !zp_get_user_zombie(enemy))
    {
        ultimateused[id]=true
        new linewidth 
= 160
        new damage 
= 20
        issearching
[id]=false
        lightningeffect
(id,enemy,linewidth,damage,id)
        new lightparm[4]
        lightparm[0]=enemy
        lightparm
[1]=damage
        lightparm
[2]=linewidth
        lightparm
[3]=id
        new cooldownparm
[1]
        cooldownparm[0]=id
        print_chatColor
(id, "\g[ Зомби Чума ]\n \tВосстановление Электрического заряда\n \gчерез 20 секунд\n")
        set_task(CHAINLIGHTNING_COOLDOWN,"cooldown",5,cooldownparm,1)
    }
    else
    
{
        issearching[id]=true
        new counter 
= parm[1]
        while (counter >= 0)
        {
            counter -= 10
            if 
(counter==0)
                emit_sound(id,CHAN_ITEM, "turret/tu_ping.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
        }
        --parm[1]
        if (parm[1]>&& get_user_health(id)>=0)
            set_task(0.1,"lightsearchtarget",26,parm,2)
        else
            issearching
[id]=false
    
}
    return PLUGIN_CONTINUE
}

public lightningeffect(id,targetid,linewidth,damage,caster)
{

    new bool:targetdied
    new bool
:targetdead
    lightninghit
[targetid]=true
    targetdead
=false

    if 
(is_user_alive(targetid))
        targetdead=false
    else
        targetdead
=true

    if 
(get_user_health(targetid)-damage<=0)
        targetdied=true

    set_user_health
(targetid,get_user_health(targetid)-damage)
    if (get_user_armor(targetid)-damage<=0)
        set_user_armor(targetid,0)
    else
        set_user_armor
(targetid,get_user_armor(targetid)-damage)

    if (targetdied && !targetdead)
    {
        set_user_frags(caster, get_user_frags(caster)+1)
        set_user_frags(targetid, get_user_frags(targetid)+1)
    }

    message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
    write_byte( TE_BEAMENTS );
    write_short(id);    // ????
    write_short(targetid);    // ????
    write_short(lightning );    // ????
    write_byte( 0 ); // starting frame
    write_byte( 20 );  // frame rate
    write_byte( 10 );  // life
    write_byte( linewidth );  // line width
    write_byte( 20 );  // ??
    write_byte( 0 );    // r, g, b
    write_byte( 255 );    // r, g, b
    write_byte( 0 );    // r, g, b
    write_byte( 120 );    // brightness
    write_byte( 0 );    // scroll speed
    message_end();

    new origin[3]
    get_user_origin(targetid,origin)

    message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
    write_byte( TE_ELIGHT );
    write_short(targetid);    // entity
    write_coord(origin[0])  // initial position
    write_coord(origin[1])  // initial position
    write_coord(origin[2])  // initial position
    write_coord(150)      // radius
    write_byte( 255 );    // r, g, b
    write_byte( 255 );    // r, g, b
    write_byte( 255 );    // r, g, b
    write_byte( 120 );  // life
    write_coord(0)    // decay rate
    message_end();

    emit_sound(id,CHAN_ITEM, "debris/beamstart9.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)

    return PLUGIN_CONTINUE
}

public cooldown(parm[1])
{
    ultimateused[parm[0]]=false
    return PLUGIN_CONTINUE
}

public client_connect(id)
{
    ultimateused[id]=false
    return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
    ultimateused[id]=false
    return PLUGIN_CONTINUE
}

public round_start(id)
{
    ultimateused[id]=false
}

public round_end(id)
{
    ultimateused[id]=false
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/

// Color Chat
stock print_chatColor(const id,const input[], any:...)
{
    new msg[191], players[32], count = 1;
    vformat(msg,190,input,3);
    replace_all(msg,190,"\g","^4");// green
    replace_all(msg,190,"\n","^1");// normal
    replace_all(msg,190,"\t","^3");// team
    
    if 
(id) players[0] = id; else get_players(players,count,"ch");
    for (new i=0;i<count;i++)
        if (is_user_connected(players[i]))
    {
        message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i]);
        write_byte(players[i]);
        write_string(msg);
        message_end();
    }
}
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: [ZP] ZClass ISLAVE

Сообщение Ruby » 07 июл 2019, 21:16

Мессагу отправь DeathMsg или убивай/наноси урон нормально ham_ killed/takedamage
Аватара пользователя
Ruby
 
Сообщения: 4
Зарегистрирован: 07 июл 2019, 13:03
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 3 месяцев
Языки программирования: Я ничего не знаю


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], Yandex [Bot] и гости: 11