Junior Member
|
01-07-2012
, 10:17
¿Cómo puedo añadir una clase de COD con está estructura?
|
#1
|
Hola, el problema que tengo es que yo se añadir pequeñas clases modificando el .sma directamente del plugin, pero me eh encontrado un par de clases que me gustaría añadir con una estructura muy diferente, es decir es un plugin aparte, entonces no se como podría hacer para que al ponerla saliese en el menú para elegir dicha clase.
Aquí un ejemplo del tipo de clase que me refiero;
Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <engine>
#include <fun>
#include <csx>
#include <xs>
#include <hamsandwich>
#include <codmod>
new const nazwa[] = "Miotacz";
new const opis[] = "Posiada miotacz ognia zamiast noza!";
new const bronie = 1<<CSW_M3;
new const zdrowie = 15;
new const kondycja = 20;
new const inteligencja = 10;
new const wytrzymalosc = 5;
new bool:ma_klase[33];
new wpn_ft
new sprite_fire
new sprite_burn
new sprite_xplo
new g_freezetime
new g_restarted
new Float:g_starttime
new cvar_enabled
new cvar_client_buy
new cvar_damage
new cvar_xplode_dmg
new cvar_cost
new cvar_fuelcost
new cvar_fueltank
new cvar_buyzone
new cvar_buytime
new cvar_damage_dis
new cvar_splash_dis
new g_buyzone[33]
new g_FuelTank[33]
new g_Activated[33]
new Float:g_Delay[33]
new g_hasFlamethrower[33]
new g_FireFlamethrower[33]
new g_BuyFuel[33]
new cvar_expcod
static PLUGIN_NAME[] = "Miotacz ognia for cod"
static PLUGIN_AUTHOR[] = "Cheap_Suit eited by Crew"
static PLUGIN_VERSION[] = "1.1"
public plugin_init()
{
RegisterHam(Ham_Spawn, "player", "Spawn", 1);
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_cvar("ft_version", PLUGIN_VERSION, FCVAR_SERVER)
cvar_enabled = register_cvar("ft_enable", "1")
cvar_fueltank = register_cvar("ft_fueltank", "50")
cvar_damage = register_cvar("ft_damage", "2")
cvar_xplode_dmg = register_cvar("ft_xplode_dmg", "30")
cvar_damage_dis = register_cvar("ft_damage_dis", "100")
cvar_splash_dis = register_cvar("ft_splash_dis", "40")
cvar_expcod = register_cvar("cod_xpmiotacz", "20")
register_event("DeathMsg", "Event_DeathMsg", "a")
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
register_event("StatusIcon", "Event_BuyZone", "b", "2=buyzone")
register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0")
register_event("TextMsg", "Event_WeaponDrop", "be", "2=#Weapon_Cannot_Be_Dropped")
register_event("TextMsg", "Event_GameRestart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
register_logevent("LogEvent_RoundStart", 2, "0=World triggered", "1=Round_Start")
register_forward(FM_CmdStart, "fw_CmdStart")
register_forward(FM_PlayerPostThink, "fw_PlayerPostThink")
register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
register_think("flamethrower", "think_Flamethrower")
register_touch("flamethrower", "player", "touch_Flamethrower")
wpn_ft = custom_weapon_add("weapon_flamethrower", 0, "flamethrower")
if(!get_pcvar_num(cvar_enabled)) pause("ad", PLUGIN_NAME)
}
public plugin_precache()
{
precache_sound("flamethrower.wav")
precache_sound("items/ammopickup2.wav")
sprite_xplo = precache_model("sprites/zerogxplode.spr")
sprite_fire = precache_model("sprites/explode1.spr")
sprite_burn = precache_model("sprites/xfire.spr")
precache_model("models/v_knife.mdl")
precache_model("models/p_knife.mdl")
precache_model("models/shield/v_shield_knife.mdl")
precache_model("models/shield/p_shield_knife.mdl")
precache_model("models/w_flamethrower.mdl")
precache_model("models/v_flamethrower.mdl")
precache_model("models/p_flamethrower.mdl")
}
public cmd_GiveFlamethrowers(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new Arg1[64], target
read_argv(1, Arg1, 63)
new adminName[32]
get_user_name(id, adminName, 31)
new targetTeam
new Players[32], iNum
if(Arg1[0] == '@')
{
if(equali(Arg1[1], "all"))
{
targetTeam = 0
get_players(Players, iNum, "a")
}
else if(equali(Arg1[1], "t"))
{
targetTeam = 1
get_players(Players, iNum, "ae" , "terrorist")
}
else if(equali(Arg1[1], "ct"))
{
targetTeam = 2
get_players(Players, iNum, "ae" , "ct")
}
for(new i = 0; i < iNum; ++i)
{
target = Players[i]
g_hasFlamethrower[target] = 1
g_FuelTank[target] = get_pcvar_num(cvar_fueltank)
new temp[2], weaponID = get_user_weapon(target, temp[0], temp[1])
if(weaponID == CSW_KNIFE)
{
g_Activated[target] = true
set_flamethrower_model(target)
}
client_cmd(target, "spk items/ammopickup2")
client_print(target, print_chat, "You have been given a flamethrower (press 3 to use)")
}
switch(targetTeam)
{
case 0: client_print(0, print_chat, "Admin: %s has given everyone a flamethrower", adminName)
case 1: client_print(0, print_chat, "Admin: %s has given all terrorist a flamethrower", adminName)
case 2: client_print(0, print_chat, "Admin: %s has given all ct's a flamethrower", adminName)
}
}
else
{
target = cmd_target(id, Arg1, 0)
if(!is_user_connected(target) || !is_user_alive(target))
return PLUGIN_HANDLED
new targetName[32]
get_user_name(target, targetName, 31)
g_hasFlamethrower[target] = 1
g_FuelTank[target] = get_pcvar_num(cvar_fueltank)
new temp[2], weaponID = get_user_weapon(target, temp[0], temp[1])
if(weaponID == CSW_KNIFE)
{
g_Activated[target] = true
set_flamethrower_model(target)
entity_set_int(id, EV_INT_weaponanim, 9)
}
client_cmd(target, "spk items/ammopickup2")
client_print(target, print_chat, "You have been given a flamethrower (press 3 to use)")
client_print(target, print_chat, "Admin: %s has given you a flamethrower", adminName)
}
return PLUGIN_HANDLED
}
public cmd_BuyFlamethrower(id)
{
if(!get_pcvar_num(cvar_client_buy))
return PLUGIN_CONTINUE
if(get_pcvar_num(cvar_buyzone))
{
if(!g_buyzone[id])
{
client_print(id, print_center, "You need to be in the buyzone")
return PLUGIN_HANDLED
}
}
if(get_pcvar_num(cvar_buytime))
{
new Float:fBuyTime = get_cvar_float("mp_buytime") * 60
if(!g_freezetime && (get_gametime() - g_starttime) > fBuyTime)
{
client_print(id, print_center, "%d seconds have passed.^nYou can't buy anything now!", floatround(fBuyTime))
return PLUGIN_HANDLED
}
}
new iMoney = cs_get_user_money(id)
new iCost = get_pcvar_num(cvar_cost)
if(!is_user_alive(id))
client_print(id, print_center, "You cant buy when your dead!")
else if(g_hasFlamethrower[id])
client_print(id, print_center, "You already own that weapon.")
else if(iMoney < iCost)
client_print(id, print_center, "Insufficient funds! ($%d)", iCost)
else
{
g_hasFlamethrower[id] = 1
g_FuelTank[id] = get_pcvar_num(cvar_fueltank)
new temp[2], weaponID = get_user_weapon(id, temp[0], temp[1])
if(weaponID == CSW_KNIFE)
{
g_Activated[id] = true
set_flamethrower_model(id)
}
cs_set_user_money(id, iMoney - iCost)
client_cmd(id, "spk items/ammopickup2")
client_print(id, print_chat, "You bought a flamethrower (press 3 to use)")
}
return PLUGIN_HANDLED
}
public Event_BuyZone(id) {
g_buyzone[id] = read_data(1)
}
public Event_GameRestart() {
g_restarted = 1
}
public Event_NewRound()
{
if(g_restarted)
{
new Players[32], iNum = 0
get_players(Players, iNum)
for(new i = 0; i < iNum; i++)
{
new id = Players[i]
g_FuelTank[id] = 0
g_Activated[id] = 0
g_hasFlamethrower[id] = 0
new temp[2], weaponID = get_user_weapon(id, temp[0], temp[1])
if(weaponID == CSW_KNIFE) set_knife_model(id)
g_restarted = 0
}
}
new flamethrowers = -1
while((flamethrowers = find_ent_by_class(flamethrowers, "flamethrower")))
remove_entity(flamethrowers)
g_freezetime = 1
}
public LogEvent_RoundStart()
{
g_freezetime = 0
g_starttime = get_gametime()
}
public Event_WeaponDrop(id)
{
if(!is_user_alive(id) || !g_Activated[id])
return PLUGIN_CONTINUE
client_print(id, print_center, "")
return PLUGIN_HANDLED
}
public Event_DeathMsg()
{
new id = read_data(2)
if(!is_user_connected(id) || !g_hasFlamethrower[id]) {
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public Event_CurWeapon(id)
{
if(!is_user_alive(id) || !g_hasFlamethrower[id])
return PLUGIN_CONTINUE
new WeaponID = read_data(2)
switch(WeaponID)
{
case CSW_KNIFE:
{
set_task(0.3, "task_ActivateFlamethrower", id)
set_flamethrower_model(id)
entity_set_int(id, EV_INT_weaponanim, 9)
}
default: g_Activated[id] = 0
}
return PLUGIN_CONTINUE
}
public touch_Flamethrower(ent, id)
{
if(!is_valid_ent(ent) || !is_user_alive(id))
return PLUGIN_CONTINUE
if(g_hasFlamethrower[id])
return PLUGIN_CONTINUE
if(has_shield(id))
return PLUGIN_CONTINUE
g_hasFlamethrower[id] = 1
client_cmd(id, "spk items/ammopickup2")
g_FuelTank[id] = entity_get_int(ent, EV_INT_iuser4)
show_fuel_percentage(id)
new temp[2], weaponID = get_user_weapon(id, temp[0], temp[1])
if(weaponID == CSW_KNIFE)
{
g_Activated[id] = true
set_flamethrower_model(id)
entity_set_int(id, EV_INT_weaponanim, 9)
}
remove_entity(ent)
return PLUGIN_CONTINUE
}
public fw_UpdateClientData_Post(id, sendweapons, cd_handle)
{
if(!g_hasFlamethrower[id] || !g_Activated[id])
return FMRES_IGNORED
set_cd(cd_handle, CD_ID, 0)
return FMRES_HANDLED
}
public fw_CmdStart(id, uc_handle, seed)
{
if(!g_hasFlamethrower[id] || !g_Activated[id])
return FMRES_IGNORED
new buttons = get_uc(uc_handle, UC_Buttons)
if(buttons & IN_ATTACK)
{
g_FireFlamethrower[id] = 1
buttons &= ~IN_ATTACK
set_uc(uc_handle, UC_Buttons, buttons)
} else
g_FireFlamethrower[id] = 0
return FMRES_HANDLED
}
public fw_PlayerPostThink(id)
{
if(!is_user_connected(id) || !is_user_alive(id))
return FMRES_IGNORED
if(!g_hasFlamethrower[id] || !g_Activated[id])
return FMRES_IGNORED
if(entity_get_int(id, EV_INT_waterlevel) > 1)
return FMRES_IGNORED
if(has_shield(id))
{
return FMRES_IGNORED
}
if(g_BuyFuel[id])
{
if((g_Delay[id] + 0.2) < get_gametime())
{
buy_fuel(id)
g_Delay[id] = get_gametime()
}
}
if(g_FireFlamethrower[id])
{
if(g_FuelTank[id] > 0)
{
if((g_Delay[id] + 0.2) < get_gametime())
{
g_FuelTank[id] -= 1
g_Delay[id] = get_gametime()
}
new Float:fOrigin[3], Float:fVelocity[3]
entity_get_vector(id,EV_VEC_origin, fOrigin)
VelocityByAim(id, 35, fVelocity)
new Float:fTemp[3], iFireOrigin[3]
xs_vec_add(fOrigin, fVelocity, fTemp)
FVecIVec(fTemp, iFireOrigin)
new Float:fFireVelocity[3], iFireVelocity[3]
VelocityByAim(id, get_pcvar_num(cvar_damage_dis), fFireVelocity)
FVecIVec(fFireVelocity, iFireVelocity)
create_flames_n_sounds(id, iFireOrigin, iFireVelocity)
new doDamage
switch(get_cvar_num("mp_friendlyfire"))
{
case 0: doDamage = 0
case 1: doDamage = 1
}
show_fuel_percentage(id)
direct_damage(id, doDamage)
indirect_damage(id, doDamage)
custom_weapon_shot(wpn_ft, id)
} else
client_print(id, print_center, "Brak Benzyny")
}
return FMRES_IGNORED
}
public think_Flamethrower(ent)
{
if(is_valid_ent(ent) && entity_get_float(ent, EV_FL_health) < 950.0)
{
new Float:fOrigin[3], iOrigin[3]
entity_get_vector(ent, EV_VEC_origin, fOrigin)
FVecIVec(fOrigin, iOrigin)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(99)
write_short(ent)
message_end()
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(3)
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_short(sprite_xplo)
write_byte(50)
write_byte(15)
write_byte(0)
message_end()
RadiusDamage(fOrigin, get_pcvar_num(cvar_xplode_dmg), entity_get_int(ent, EV_INT_iuser4))
remove_entity(ent)
}
if(is_valid_ent(ent)) entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.01)
}
public create_flames_n_sounds(id, origin[3], velocity[3])
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(120)
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(velocity[0])
write_coord(velocity[1])
write_coord(velocity[2] + 5)
write_short(sprite_fire)
write_byte(1)
write_byte(10)
write_byte(1)
write_byte(5)
message_end()
emit_sound(id, CHAN_WEAPON, "flamethrower.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}
public direct_damage(id, doDamage)
{
new ent, body
get_user_aiming(id, ent, body, get_pcvar_num(cvar_damage_dis) + 500)
if(ent > 0 && is_user_alive(ent))
{
if(!doDamage)
{
if(get_user_team(id) != get_user_team(ent))
{
damage_user(id, ent, get_pcvar_num(cvar_damage))
custom_weapon_dmg(wpn_ft, id, ent, get_pcvar_num(cvar_damage))
}
}
else
{
damage_user(id, ent, get_pcvar_num(cvar_damage))
custom_weapon_dmg(wpn_ft, id, ent, get_pcvar_num(cvar_damage))
}
}
}
public indirect_damage(id, doDamage)
{
new Players[32], iNum
get_players(Players, iNum, "a")
for(new i = 0; i < iNum; ++i) if(id != Players[i])
{
new target = Players[i]
new Float:fOrigin[3], Float:fOrigin2[3]
entity_get_vector(id,EV_VEC_origin, fOrigin)
entity_get_vector(target, EV_VEC_origin, fOrigin2)
new temp[3], Float:fAim[3]
get_user_origin(id, temp, 3)
IVecFVec(temp, fAim)
new Float:fDistance = get_pcvar_num(cvar_damage_dis) + 500.0
if(get_distance_f(fOrigin, fOrigin2) > fDistance)
continue
new iDistance = get_distance_to_line(fOrigin, fOrigin2, fAim)
if(iDistance > get_pcvar_num(cvar_splash_dis) || iDistance < 0 || !fm_is_ent_visible(id, target))
continue
if(!doDamage)
{
if(get_user_team(id) != get_user_team(target))
{
damage_user(id, target, get_pcvar_num(cvar_damage))
custom_weapon_dmg(wpn_ft, id, target, get_pcvar_num(cvar_damage))
}
}
else
{
damage_user(id, target, get_pcvar_num(cvar_damage) / 2)
custom_weapon_dmg(wpn_ft, id, target, get_pcvar_num(cvar_damage) / 2)
}
}
}
public buy_fuel(id)
{
if(get_pcvar_num(cvar_buyzone) && !g_buyzone[id])
return PLUGIN_CONTINUE
new Float:fBuyTime = get_cvar_float("mp_buytime") * 60
if(get_pcvar_num(cvar_buytime) && !g_freezetime
&& (get_gametime() - g_starttime) > fBuyTime)
return PLUGIN_CONTINUE
if(g_FuelTank[id] >= get_pcvar_num(cvar_fueltank))
return PLUGIN_CONTINUE
new iMoney = cs_get_user_money(id)
new iCost = get_pcvar_num(cvar_fuelcost)
if(iMoney >= iCost)
{
g_FuelTank[id] += 1
show_fuel_percentage(id)
cs_set_user_money(id, iMoney - iCost)
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public drop_flamethrower(id)
{
new Float:fVelocity[3], Float:fOrigin[3]
entity_get_vector(id, EV_VEC_origin, fOrigin)
VelocityByAim(id, 34, fVelocity)
fOrigin[0] += fVelocity[0]
fOrigin[1] += fVelocity[1]
VelocityByAim(id, 300, fVelocity)
new ent = create_entity("info_target")
if(is_valid_ent(ent))
{
entity_set_string(ent, EV_SZ_classname, "flamethrower")
entity_set_model(ent, "models/w_flamethrower.mdl")
entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS)
entity_set_int(ent, EV_INT_solid, SOLID_TRIGGER)
entity_set_vector(ent, EV_VEC_origin, fOrigin)
entity_set_vector(ent, EV_VEC_velocity, fVelocity)
entity_set_int(ent, EV_INT_iuser4, g_FuelTank[id])
entity_set_float(ent, EV_FL_takedamage, 1.0)
entity_set_float(ent, EV_FL_health, 1000.0)
entity_set_size(ent, Float:{-2.5, -2.5, -1.5}, Float:{2.5, 2.5, 1.5})
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.01)
}
g_FuelTank[id] = 0
g_Activated[id] = 0
g_hasFlamethrower[id] = 0
if(has_shield(id))
set_shield_model(id)
else
set_knife_model(id)
return PLUGIN_CONTINUE
}
public task_ActivateFlamethrower(id)
{
if(!is_user_connected(id) || !is_user_alive(id))
return PLUGIN_CONTINUE
new temp[2], weaponID = get_user_weapon(id, temp[0], temp[1])
if(weaponID == CSW_KNIFE) g_Activated[id] = 1
return PLUGIN_CONTINUE
}
public show_fuel_percentage(id)
{
set_hudmessage(255, 170, 0, 0.91, 0.95, _, _, 1.0, _, _, 4)
show_hudmessage(id, "Benzyna: %d%%", get_percent(g_FuelTank[id], get_pcvar_num(cvar_fueltank)))
}
public set_flamethrower_model(id)
{
entity_set_string(id, EV_SZ_viewmodel, "models/v_flamethrower.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/p_flamethrower.mdl")
}
public set_knife_model(id)
{
entity_set_string(id, EV_SZ_viewmodel, "models/v_knife.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/p_knife.mdl")
}
public set_shield_model(id)
{
entity_set_string(id, EV_SZ_viewmodel, "models/shield/v_shield_knife.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/shield/p_shield_knife.mdl")
}
stock damage_user(id, victim, damage)
{
new iHealth = get_user_health(victim)
if(iHealth > damage)
fakedamage(victim, "weapon_flamethrower", float(damage), DMG_BURN)
else
{
new iXp = get_pcvar_num(cvar_expcod);
set_hudmessage(255, 212, 0, -1.0, 0.30, 0, 2.0, 2.0, 0.05, 0.05, 4)
show_hudmessage(0, "+ %d", iXp);
cod_set_user_xp(id,cod_get_user_xp(id) + iXp)
user_silentkill(victim)
make_deathmsg(id, victim, 0, "flamethrower")
new iOrigin[3]
get_user_origin(victim, iOrigin, 0)
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(17)
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2] + 10)
write_short(sprite_burn)
write_byte(30)
write_byte(40)
message_end()
if(get_user_team(id) != get_user_team(victim))
{
set_user_frags(id, get_user_frags(id) + 1)
cs_set_user_money(id, cs_get_user_money(id) + 300)
}
else
{
set_user_frags(id, get_user_frags(id) - 1)
cs_set_user_money(id, cs_get_user_money(id) - 300)
}
message_begin(MSG_ALL, get_user_msgid("ScoreInfo"))
write_byte(id)
write_short(get_user_frags(id))
write_short(get_user_deaths(id))
write_short(0)
write_short(get_user_team(id))
message_end()
message_begin(MSG_ALL, get_user_msgid("ScoreInfo"))
write_byte(victim)
write_short(get_user_frags(victim))
write_short(get_user_deaths(victim))
write_short(0)
write_short(get_user_team(victim))
message_end()
}
}
stock get_percent(value, tvalue) {
return floatround(floatmul(float(value) / float(tvalue) , 100.0))
}
stock get_distance_to_line(Float:pos_start[3], Float:pos_end[3], Float:pos_object[3])
{
new Float:vec_start_end[3], Float:vec_start_object[3], Float:vec_end_object[3], Float:vec_end_start[3]
xs_vec_sub(pos_end, pos_start, vec_start_end) // vector from start to end
xs_vec_sub(pos_object, pos_start, vec_start_object) // vector from end to object
xs_vec_sub(pos_start, pos_end, vec_end_start) // vector from end to start
xs_vec_sub(pos_end, pos_object, vec_end_object) // vector object to end
new Float:len_start_object = getVecLen(vec_start_object)
new Float:angle_start = floatacos(xs_vec_dot(vec_start_end, vec_start_object) / (getVecLen(vec_start_end) * len_start_object), degrees)
new Float:angle_end = floatacos(xs_vec_dot(vec_end_start, vec_end_object) / (getVecLen(vec_end_start) * getVecLen(vec_end_object)), degrees)
if(angle_start <= 90.0 && angle_end <= 90.0)
return floatround(len_start_object * floatsin(angle_start, degrees))
return -1
}
stock Float:getVecLen(Float:Vec[3])
{
new Float:VecNull[3] = {0.0, 0.0, 0.0}
new Float:len = get_distance_f(Vec, VecNull)
return len
}
stock bool:fm_is_ent_visible(index, entity)
{
new Float:origin[3], Float:view_ofs[3], Float:eyespos[3]
pev(index, pev_origin, origin)
pev(index, pev_view_ofs, view_ofs)
xs_vec_add(origin, view_ofs, eyespos)
new Float:entpos[3]
pev(entity, pev_origin, entpos)
engfunc(EngFunc_TraceLine, eyespos, entpos, 0, index)
switch(pev(entity, pev_solid)) {
case SOLID_BBOX..SOLID_BSP: return global_get(glb_trace_ent) == entity
}
new Float:fraction
global_get(glb_trace_fraction, fraction)
if(fraction == 1.0)
return true
return false
}
stock bool:has_shield(id)
{
new modelName[32]
entity_get_string(id, EV_SZ_viewmodel, modelName, 31)
if(containi(modelName, "v_shield_") != -1)
return true
return false
}
public cod_class_enabled(id){
ma_klase[id] = true;
g_hasFlamethrower[id] = 1
g_FuelTank[id] = get_pcvar_num(cvar_fueltank)
new temp[2], weaponID = get_user_weapon(id, temp[0], temp[1])
if(weaponID == CSW_KNIFE)
{
g_Activated[id] = true
set_flamethrower_model(id)
}
client_cmd(id, "spk items/ammopickup2")
client_print(id, print_chat, "Masz miotacz ognia nacisnij 3 aby uzyc")
}
public cod_class_disabled(id){
ma_klase[id] = false;
g_hasFlamethrower[id] = 0
}
public Spawn(id)
{
if(is_user_connected(id) && ma_klase[id])
{
g_hasFlamethrower[id] = 1
g_FuelTank[id] = get_pcvar_num(cvar_fueltank)
new temp[2], weaponID = get_user_weapon(id, temp[0], temp[1])
if(weaponID == CSW_KNIFE)
{
g_Activated[id] = true
set_flamethrower_model(id)
}
client_cmd(id, "spk items/ammopickup2")
client_print(id, print_chat, "Masz miotacz ognia nacisnij 3 aby uzyc")
}
return PLUGIN_CONTINUE;
}
Si por algún casual ese ejemplo no vale, revisen esté tema;
- https://forums.alliedmods.net/showthread.php?t=173861
Ese usuario quiere añadir esa clase, y es un plugin aparte... entonces se me hace bastante lioso y complicado.
|
|