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 !.


Dodatki SourceMod



Temat jest zamknięty









