←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Modyfikacja
[ROZWIĄZANE] Modyfikacja Electro Mp5

Locked

  • +
  • -
eDDy:)'s Photo eDDy:) 22.06.2012

Czy mógł by mi ktos to przerobić tak zeby Electro Mp5 zamiast 17/18 obrazen w cialo zabieralo 25/30 obrazen

#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <engine>
#include <hamsandwich>
#include <zombieplague>

new g_item, ElectroSpr, g_electro[33], g_Weapon[33]
new bool:g_electroweapon[33]
new g_iMaxPlayers
new g_SayText

public plugin_init()
{
    register_plugin("Electro Weapon", "1.0", "Zapdos1")
    g_item = zp_register_extra_item("Electro MP5", 15, ZP_TEAM_HUMAN)
   
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    register_event("CurWeapon", "event_CurWeapon", "b", "1=1")
    register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
    RegisterHam(Ham_TakeDamage, "player", "2.0")
   
    g_iMaxPlayers = get_maxplayers()
    g_SayText = get_user_msgid("SayText")
}

public plugin_precache()
{
    precache_model("models/zombie_plague/v_electro.mdl");
    precache_sound("zombie_plague/spark6.wav");
    ElectroSpr = precache_model("sprites/spark1.spr");
}

public event_round_start()
{
    for (new i = 1; i <= g_iMaxPlayers; i++)
    {
        if (!is_user_connected(i))
            continue
       
        if (g_electroweapon[i])
        {
            g_electroweapon[i] = false
        }
        if(g_electro[i])
        {
            g_electro[i] = false
        }
    }
}

public zp_extra_item_selected(player, itemid)
{
    if (itemid == g_item)
    {
        Color(player,"!g[ZP] !nKupiles Elektryczna Bron!") 
       
        g_electroweapon[player] = true
       
        strip_user_weapons(player)
       
        give_item(player, "weapon_mp5navy")
       
        cs_set_user_bpammo(player, CSW_MP5NAVY, 120) 
       
        set_hudmessage(255, 255, 0, -1.0, -1.0, 0, 6.0, 5.0)
        show_hudmessage(player, "Energetyczna Moc aktywna!!")
       
    }
}

public zp_user_infected_post(infected, infector)
{
    if (g_electroweapon[infected])
    {
        g_electroweapon[infected] = false
    }
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
    if(!is_user_connected(attacker) || !is_user_connected(victim) || zp_get_user_nemesis(victim) || attacker == victim || !attacker)
        return HAM_IGNORED
   
    static Float:originF[3]
    pev(victim, pev_origin, originF)
   
    static originF2[3]
    get_user_origin(victim, originF2)
   
    if (g_electroweapon[attacker] && get_user_weapon(attacker) == CSW_MP5NAVY)
    {   
        ElectroRing(originF)
       
        ElectroSound(originF2) 
    }
   
    if(zp_get_user_nemesis(victim))
    {   
        return HAM_IGNORED
    }
    return PLUGIN_HANDLED;
}

public event_CurWeapon(id)
{
    if (!is_user_alive(id))
        return PLUGIN_CONTINUE
   
    g_Weapon[id] = read_data(2)
   
    if(zp_get_user_zombie(id) || zp_get_user_survivor(id))
        return PLUGIN_CONTINUE
   
    if(!g_electroweapon[id] || g_Weapon[id] != CSW_MP5NAVY)
        return PLUGIN_CONTINUE
   
    entity_set_string(id, EV_SZ_viewmodel, "models/zombie_plague/v_electro.mdl")
   
    return PLUGIN_CONTINUE
}

public fw_PlayerPreThink(id)
{
    if (!is_user_alive(id))
        return;
}

public ElectroSound(iOrigin[3])
{
    new Entity = create_entity("info_target")
   
    new Float:flOrigin[3]
    IVecFVec(iOrigin, flOrigin)
   
    entity_set_origin(Entity, flOrigin)
   
    emit_sound(Entity, CHAN_WEAPON, "zombie_plague/spark6.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
   
    remove_entity(Entity)
}

// Frost Effect Ring
ElectroRing(const Float:originF3[3])
{
// Largest ring
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF3, 0)
write_byte(TE_BEAMCYLINDER)
engfunc(EngFunc_WriteCoord, originF3[0])
engfunc(EngFunc_WriteCoord, originF3[1])
engfunc(EngFunc_WriteCoord, originF3[2])
engfunc(EngFunc_WriteCoord, originF3[0])
engfunc(EngFunc_WriteCoord, originF3[1])
engfunc(EngFunc_WriteCoord, originF3[2]+100.0)
write_short(ElectroSpr)
write_byte(0)
write_byte(0)
write_byte(4)
write_byte(60)
write_byte(0)
write_byte(41)
write_byte(138)
write_byte(255)
write_byte(200)
write_byte(0)
message_end()
}

public client_putinserver(id)
{
g_electroweapon[id] = false
g_electro[id] = false
}

public client_disconnect(id)
{
g_electroweapon[id] = false
g_electro[id] = false
}

stock Color(const id, const input[], any:...)
{
    static msg[191]
    vformat(msg, 190, input, 3)
   
    replace_all(msg, 190, "!g", "^4")
    replace_all(msg, 190, "!y", "^1")
    replace_all(msg, 190, "!t", "^3")
   
    message_begin(MSG_ONE_UNRELIABLE, g_SayText, _, id)
    write_byte(id)
    write_string(msg)
    message_end()
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }
*/
Quote

  • +
  • -
Droso's Photo Droso 22.06.2012

zamień to



if (g_electroweapon[attacker] && get_user_weapon(attacker) == CSW_MP5NAVY)
		{  
				ElectroRing(originF)
		  
				ElectroSound(originF2)
		}

na to
if (g_electroweapon[attacker] && get_user_weapon(attacker) == CSW_MP5NAVY)
		{  
				ElectroRing(originF)
		  
				ElectroSound(originF2)
damage += 10.0
		}
Quote

  • +
  • -
eDDy:)'s Photo eDDy:) 22.06.2012

dzięki leci + ;)
Quote

Gość_21977_* 22.06.2012

Automatyczna wiadomość


Ten temat został przeniesiony z forum

AMX Mod X > Problemy z pluginami

do

Scripting AMXX > Pluginy
Quote

Gość_21977_* 22.06.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Posted Image raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Quote
Locked