Tôi thích GunXPMod là ở cái hệ thống level của nó. ko phải thích cái bảng chọn súng
Thế thì kiếm tạm 1 cái Mod XP dùng tạm đi ==!
Tôi thích GunXPMod là ở cái hệ thống level của nó. ko phải thích cái bảng chọn súng
Ghost có nghe thấy tiếng thở không cậu.tiếng thở khó phát hiện 1 chút như CF ấy (Ghost hay nhất cái này ^^)4) Ghosts Mode ( 100% ) . Ai muốn test thì ta share .amxx . Vì bản này chưa publish được :) .
Nhân tiện có bác Tùng ở đây, bác Tùng cho hỏi 1 chiện là trong CSO có thể thêm một vài ô trong phần mua súng ở cửa hàng ko
Ghost có nghe thấy tiếng thở không cậu.tiếng thở khó phát hiện 1 chút như CF ấy (Ghost hay nhất cái này ^^)
Phải công nhận CSCZ nó hạn chế nhiều plugin thật
Có cách nào để set độ diện rộng của âm thanh phát ra không ? Nếu mà khai báo sound không đúng cách thì cái tiếng thở đó sẽ lan khắp map![]()
ai biết 1 số plugins Bio thì send link nhé
thấy BIo cũng hay hay![]()
#include <amxmodx>
#include <amxmisc>
#include <zombieplague>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <engine>
#define PLUGIN "Zombie Mutate"
#define VERSION "1.0"
#define AUTHOR "nikhilgupta345"
new CritHealth
new pCritHealth
new MaxZombies
new pMaxZombies
new num
new bool:HasMutated[33]
new zombienum
new model[32]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage, "player", "fwd_Ham_TakeDamage")
register_logevent("round_start", 2, "1=Round_Start")
register_event("Event_DeathMsg", "DeathMsg", "a")
CritHealth = register_cvar("zp_criticalhealth", "300") // Amount of health a zombie needs to mutate (have a chance to)
MaxZombies = register_cvar("zp_maxzombies", "3") // Last "x" zombies have a chance to mutate.
pCritHealth = get_pcvar_num(CritHealth)
pMaxZombies = get_pcvar_num(MaxZombies)
}
public plugin_precache()
{
precache_model("models/player/avh_alien/avh_alien.mdl")
precache_model("models/avh_alien/avh_alienclaws.mdl")
precache_sound("zombie_plague/zombiemutate.wav")
}
public DeathMsg()
{
zombienum = 0
new players[32], playernum
get_players(players, playernum)
for(new i;i<playernum;i++)
{
if(zp_get_user_zombie(players[i]))
zombienum ++
}
}
public fwd_Ham_TakeDamage(victim, inflictor, attacker, Float:fDamage, bitDamage)
{
if(!zp_get_user_zombie(victim) || HasMutated[victim] == true || zombienum > pMaxZombies) return PLUGIN_HANDLED_MAIN
if(HasMutated[attacker] == true)
{
user_kill(victim, 0)
}
if(get_user_health(victim) <= pCritHealth)
{
num = random_num(1, 10)
if(num == 1)
{
set_task(1.0, "set_mutate", 0, _, _, "a")
HasMutated[victim] = true
}
}
return PLUGIN_HANDLED
}
public set_mutate(victim)
{
set_task(10.0, "addhp", _, _, _, "a", 1)
set_task(2.0, "changemodel", _, _, _, "a", 5)
set_task(1.0, "resetmodeltask", _, _, _, "a", 1)
set_task(3.0, "playsound", _, _, _, "a", 4)
}
public addhp(victim)
{
set_user_health(victim, get_user_health(victim) + 1000)
set_user_maxspeed(victim, get_user_maxspeed(victim) + 100.0)
}
public roundstart()
{
new players[32], playernum
get_players(players, playernum)
for(new i;i<num;i++)
{
HasMutated[i] = false
}
}
public resetmodeltask(victim)
{
cs_get_user_model(victim, model, charsmax(model))
set_task(2.0, "resetmodel", _, _, _, "a", 4)
}
public changemodel(victim)
{
cs_set_user_model(victim, "avh_alien")
entity_set_string(victim, EV_SZ_viewmodel, "models/avh_alien/avh_alienclaws.mdl")
}
public resetmodel(victim)
{
cs_set_user_model(victim, model)
}
public playsound()
{
client_cmd(0, "stopsound")
client_cmd(0, "spk zombie_plague/zombiemutate.wav")
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
http://forums.alliedmods.net/showpost.php?p=1255330&postcount=3664
bio ko hay đâu , chơi zp đi
#include < amxmodx >
#include < engine >
#include < zombieplague >
new const zclass_name[ ] = "Frost Zombie"
new const zclass_info[ ] = "Press V to use frost"
new const zclass_model[ ] = "zombie_source"
new const zclass_clawmodel[ ] = "v_knife_zombie.mdl"
const zclass_health = 1800
const zclass_speed = 190
const Float:zclass_gravity = 1.0
const Float:zclass_knockback = 1.0
new g_zclass_frost, frostsprite
new pcvar_distance, pcvar_cooldown, pcvar_freeze
new bool: g_CoolDown[ 33 ]
public plugin_init( )
{
register_plugin( "[ZP] Zombie Class: Frost Zombie", "1.0", "007" )
pcvar_distance = register_cvar( "zp_frost_distance", "275" )
pcvar_cooldown = register_cvar( "zp_frost_cooldown", "20.0" )
pcvar_freeze = register_cvar( "zp_frost_freeze_time", "3.0" )
}
public plugin_precache( )
{
g_zclass_frost = zp_register_zombie_class( zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback )
frostsprite = precache_model( "sprites/nhth1.spr" )
}
public zp_user_infected_post( player, infector )
{
if( zp_get_user_zombie_class( player ) == g_zclass_frost )
{
client_print( player, print_chat, "[ZP] Press V to use frost!" )
}
}
public client_PreThink( player )
{
if( !is_user_alive( player ) || !zp_get_user_zombie( player ) || zp_get_user_nemesis( player ) || zp_get_user_zombie_class( player ) != g_zclass_frost || g_CoolDown[ player ] )
return
new button = get_user_button( player )
new oldbutton = get_user_oldbutton( player )
if( !( oldbutton & IN_USE ) && ( button & IN_USE ) )
use_cmd( player )
}
public use_cmd( player )
{
new target, body
get_user_aiming( player, target, body, get_pcvar_num( pcvar_distance ) )
if( is_user_alive( target ) && !zp_get_user_zombie( target ) )
{
sprite_control( player )
zp_set_user_frozen( target, 1 )
set_task( get_pcvar_float( pcvar_freeze ), "unfroze_user", target )
}
else
{
sprite_control( player )
}
}
public unfrozen_user( target )
{
zp_set_user_frozen( target, 0 )
}
public te_spray( args[ ] )
{
message_begin( MSG_BROADCAST,SVC_TEMPENTITY )
write_byte( 120 ) // Throws a shower of sprites or models
write_coord( args[ 0 ] ) // start pos
write_coord( args[ 1 ] )
write_coord( args[ 2 ] )
write_coord( args[ 3 ] ) // velocity
write_coord( args[ 4 ] )
write_coord( args[ 5 ] )
write_short( frostsprite ) // spr
write_byte( 8 ) // count
write_byte( 70 ) // speed
write_byte( 100 ) //(noise)
write_byte( 5 ) // (rendermode)
message_end( )
return PLUGIN_CONTINUE
}
public sqrt( num )
{
new div = num
new result = 1
while( div > result )
{
div = ( div + result ) / 2
result = num / div
}
return div
}
public sprite_control( player )
{
new vec[ 3 ]
new aimvec[ 3 ]
new velocityvec[ 3 ]
new length
new speed = 10
get_user_origin( player, vec )
get_user_origin( player, aimvec, 2 )
velocityvec[ 0 ] = aimvec[ 0 ] - vec[ 0 ]
velocityvec[ 1 ] = aimvec[ 1 ] - vec[ 1 ]
velocityvec[ 2 ] = aimvec[ 2 ] - vec[ 2 ]
length = sqrt( velocityvec[ 0 ] * velocityvec[ 0 ] + velocityvec[ 1 ] * velocityvec[ 1 ] + velocityvec[ 2 ] * velocityvec[ 2 ] )
velocityvec[ 0 ] = velocityvec[ 0 ] * speed / length
velocityvec[ 1 ] = velocityvec[ 1 ] * speed / length
velocityvec[ 2 ] = velocityvec[ 2 ] * speed / length
new args[ 8 ]
args[ 0 ] = vec[ 0 ]
args[ 1 ] = vec[ 1 ]
args[ 2 ] = vec[ 2 ]
args[ 3 ] = velocityvec[ 0 ]
args[ 4 ] = velocityvec[ 1 ]
args[ 5 ] = velocityvec[ 2 ]
set_task( 0.1, "te_spray", 0, args, 8, "a", 2 )
g_CoolDown[ player ] = true
set_task( get_pcvar_float( pcvar_cooldown ), "reset_cooldown", player )
}
public reset_cooldown( player )
{
g_CoolDown[ player ] = false
client_print( player, print_chat, "[ZP] Your cooldown has ended. " )
}