[AMX][Codes] Hỏi đáp về các code của AMX ...

  • Thread starter Thread starter sontung0
  • Ngày gửi Ngày gửi
Status
Không mở trả lời sau này.
chẹp , ai làm đc rank system cho ZP ko ? cứ lên 1 cấp thì lượng dmg để đc 1 ap nhỏ lại
 
SuperHE del rồi , tại file biohazard.txt chưa chỉnh lại :)
Bây h đang chuẩn bị 2 dự án mới :
1) Biohazard bản Final ( Sẽ được public vào tết or hè năm sau =)) )
- Hệ thống killstreak reward :)
- Class mới
- Cân bằng gameplay mới
- Vũ khí mới [ Dùng Weapon Mod làm nền :) ]
- Thay đổi hiệu ứng , giao diện .
- Models mới cho Zombie và Human :) .
- Dự kiến tổng số resource lên tới 15MB :)) .
- Evolution cho Zombie :) [ Ko còn hứa hẹn như hè năm nay :) ]

2) Zombie Plague da Vengeance :-s
- Mới hơn , sợ hơn , bắn phê hơn ;)
= Hai project của một người bạn =
3) Left 4 Dead ( 0%) :| . Zombie nếu là Bot sẽ là zombie civilian , nếu là player thi sẽ là 1 trong 4 class cơ bản :) .
4) Ghosts Mode ( 100% ) . Ai muốn test thì ta share .amxx . Vì bản này chưa publish được :) .

Thế thôi :D . đI ăn đây . dạo này topic này hot ghê :))
 
hic bản Bio kia tết cơ ak ><
tớ test mod Ghost xem nào
bác có code evoution ko
 
Chỉnh sửa cuối:
4) Ghosts Mode ( 100% ) . Ai muốn test thì ta share .amxx . Vì bản này chưa publish được :) .
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
 
@sontung0: Có tiếng thở nhưng trong sound/player. chưa nhờ ai chôm tiếng thở bên CF đc :D . Mà quên mất ghost thở ntn rồi
1) thở khi tàng hình / hiện hình / ngồi yên ?? Có j để tôi làm lại vụ tiếng thở :D .
2) Sao ko làm plugin bên CS 1.6 . làm bên CZ làm gì :)) .
@kakaan96: Dùng forward khi infector ( zombie ) lây nhiễm 1 victim ( human) => tạo điểm tích lũy cho zombie đó . Đến số điểm nhất định thì cho nó evolution . thế thôi :D ( set model , speed, hp , gravity , v_model ) lại cho e nó :D . Biohazard thì dùng forward event_infect . ZP thì zp_user_infected_post thì phải :D .
 
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 xem dùm mình cái này với , lấy trên alliedmods nhưng có lỗi , compile thì ko lỗi
PHP:
#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 }
*/
 
Có Plugin nào giúp radio thông báo bên CT khi gần đến nơi đã đặt bom sẽ nghe âm thanh Found Bomb ko nhỉ
 
Xem hộ con zombie này trong ZP với.
Chức năng của nó là đóng băng Human. mà không hiểu sao nó đóng băng hoài ko thấy hết. Cứ như là bị đóng băng mãi mãi ấy

Anh em fix hộ với
cái này là sài bản zombieplague40 với natives mới. ai sửa hộ mình cái này thì phải down cái zombieplague.inc trước. => File đính kèm đó


PHP:
#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. " )
}
 

Attachments

Chỉnh sửa cuối:
hỉu mà , khi zombie ở dưới mức máu nguy hiểm ( cvar ) thì có 1/10 cơ hội biến thành con gì gì đó :|

thêm debug vào plugin.ini thì vào game nó báo lỗi cái này register_event("Event_DeathMsg", "DeathMsg", "a")
 
Status
Không mở trả lời sau này.
Back
Top