Kod:
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> new gmsgDeathMsg new gmsgScoreInfo new moc public plugin_init() { register_plugin("Mocniejsze HE", "1.0", "wizu & Miczu") register_event("Damage", "Damage", "b", "2!=0") register_logevent("Poczatek_Rundy", 2, "1=Round_Start") register_logevent("Koniec_Rundy", 2, "1=Round_End") gmsgDeathMsg = get_user_msgid("DeathMsg") gmsgScoreInfo = get_user_msgid("ScoreInfo") set_msg_block ( gmsgDeathMsg, BLOCK_SET ) } public Poczatek_Rundy () set_task (25.0, "zmien_moc", 1) public Koniec_Rundy () { if( task_exists( 1 ) ) remove_task( 1 ) } public zmien_moc () { moc = 1 fnGreenChat(0, "Granat HE ma maksymalna moc") } fnGreenChat( plr, const message[], {Float,Sql,Result,_}:... ) { static max_players, svc_saytext; if( !max_players ) max_players = get_maxplayers( ); if( !svc_saytext ) svc_saytext = get_user_msgid( "SayText" ); static msg[192]; msg[0] = 0x04; vformat( msg[1], sizeof msg - 2, message, 3 ); if( plr > 0 && plr <= max_players ) { message_begin( MSG_ONE, svc_saytext, { 0, 0, 0 }, plr ); write_byte( plr ); write_string( msg ); message_end( ); } else if( plr == 0 ) { for( new i = 1 ; i <= max_players ; i++ ) { if( is_user_connected( i ) ) { message_begin( MSG_ONE, svc_saytext, { 0, 0, 0 }, i ); write_byte( i ); write_string( msg ); message_end( ); } } } return 1; } public Damage (id) { if ( moc ) { new vid = read_data(0) // vid == id new damage = read_data(2) new iWeapID, attacker = get_user_attacker(id , iWeapID); new hp, weaponname[32] if (iWeapID == 4) { if (is_user_alive(id)) { hp = get_user_health( id ) damage = damage * 9 if ( damage >= hp ) { get_weaponname(iWeapID, weaponname, 31) UTIL_Kill(attacker, vid, weaponname) } else set_user_health( id, hp - damage) } } } } public UTIL_Kill(attacker,id,weapon[]) { if(get_user_team(attacker)!=get_user_team(id)) set_user_frags(attacker,get_user_frags(attacker) +1); if(get_user_team(attacker)==get_user_team(id)) set_user_frags(attacker,get_user_frags(attacker) -1); if (cs_get_user_money(attacker) + 150 <= 16000) cs_set_user_money(attacker,cs_get_user_money(attacker)+150) else cs_set_user_money(attacker,16000) user_kill(id,1) message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0) write_byte(attacker) write_byte(id) write_byte(0) write_string(weapon) message_end() message_begin(MSG_ALL,gmsgScoreInfo) write_byte(attacker) write_short(get_user_frags(attacker)) write_short(get_user_deaths(attacker)) write_short(0) write_short(get_user_team(attacker)) message_end() message_begin(MSG_ALL,gmsgScoreInfo) 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() } public DeathMsg() { new weaponname[20] new kid = read_data(1) new vid = read_data(2) new headshot = read_data(3) read_data(4,weaponname,31) show_deadmessage(kid,vid,headshot,weaponname) } public show_deadmessage(killer_id,victim_id,headshot,weaponname[]) { if (!(killer_id==victim_id && !headshot && equal(weaponname,"world"))) { message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0) write_byte(killer_id) write_byte(victim_id) write_byte(headshot) write_string(weaponname) message_end() } }
Powyższy kod jest na to że po 25 sek granat jest 9 razy mocniejszy ale mam mały problem ponieważ chciałbym żeby ten granat dla TT był po 25 sek mocniejszy 9 razy a dla CT zwykły albo żeby nic nie zadawał. I z tego co zauważyłem to jak zabija to są czaszki a nie że granatem się zabiło i zamiast dostawać fragi odejmują się. Dało by rade to naprawić?
Bardzo potrzebne !.