|
AlliedModders Donor
|

07-19-2006
, 21:32
Re: [solved]Hud problems.
|
#1
|
--- EDIT --- problem solved
Hi,
i m a beginner in AMX MOD X scripting but i succeded in some commands
Basicly, i send an HUD to different players based on steamid or to evey players (@all or @ct or @t) and i would like tho make the HUD stay after "spawn" and "death".
The difference from the sample above is that the messages that i send are different depending of the target (player). Also it should not re-send the HUD when the HUD has a timer (i consider 9999 as infinite timer, other timers shouldn't re-send the HUD)
Here is my (updated) code
Code:
new msaymsg[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_srvcmd("amx_msay","cmd_msay")
register_event("ResetHUD", "evnt_resethud", "be")
register_event("DeathMsg", "evnt_deathmsg", "a")
}
public cmd_msay(id, level, cid)
{
new sw1tch[11]
read_argv(1, sw1tch, 10)
if (sw1tch[0] == '@')
{
new arg4[5]
read_argv(2, arg4, 4)
new arg0[300]
read_args(arg0, 299)
new length = strlen(sw1tch) + strlen(arg4) + 2
remove_quotes(arg0[length])
new players[32]
new player,num,i
if (equali(sw1tch[1], "CT"))
{
get_players(players,num,"ceh","CT")
} else if (equali(sw1tch[1], "T")) {
get_players(players,num,"ceh","TERRORIST")
} else if (equali(sw1tch[1], "ALL")) {
get_players(players,num,"ch")
}
new message[552]
format(message,551,"%s",arg0[length])
replace_all(message,551,"%n","\n")
replace_all(message,551,"\n","^n")
if(equali(arg4, "0"))
{
arg4 = "9999"
}
new Float:time = floatstr(arg4)
set_hudmessage(255,255,255,0.01,0.33,0,time,time,0.01,0.01,1)
for(i=0;i<num;i++)
{
player = players[i]
if(!is_user_connected(player)) continue
else if(player)
{
if (equali(arg4, "9999"))
{
msaymsg[player] = message
} else {
msaymsg[player] = "0"
}
show_hudmessage(player,message)
}
}
server_print("MSAY to %s: ^"%s^"",sw1tch,message)
} else {
new arg1[8]
new arg2[16]
new arg3[16]
read_argv(1, arg1, 7)
read_argv(3, arg2, 15)
read_argv(5, arg3, 15)
new target[35]
format(target,34,"%s:%s:%s",arg1,arg2,arg3)
new arg4[5]
read_argv(6, arg4, 4)
new arg0[300]
read_args(arg0, 299)
new length = strlen(target) + strlen(arg4) + 2
remove_quotes(arg0[length])
new targetuser = find_player("chj",target)
if(!is_user_connected(targetuser))
{
return PLUGIN_HANDLED
}
new message[552]
format(message,551,"%s",arg0[length])
replace_all(message,551,"%n","\n")
replace_all(message,551,"\n","^n")
if(equali(arg4, "0"))
{
arg4 = "9999"
msaymsg[targetuser] = message
} else {
msaymsg[targetuser] = "0"
}
new Float:time = floatstr(arg4)
set_hudmessage(255,255,255,0.01,0.33,0,time,time,0.01,0.01,1)
show_hudmessage(targetuser,message)
server_print("MSAY to %s: ^"%s^"",target,message)
}
return PLUGIN_HANDLED
}
public evnt_resethud(id)
{
set_hudmessage(255,255,255,0.01,0.33,0,9999.0,9999.0,0.01,0.01,1)
if(!equali(msaymsg[id], "0"))
{
show_hudmessage(id,msaymsg[id])
}
}
public evnt_deathmsg()
{
new id = read_data(2)
set_hudmessage(255,255,255,0.01,0.33,0,9999.0,9999.0,0.01,0.01,1)
if(!equali(msaymsg[id], "0"))
{
show_hudmessage(id,msaymsg[id])
}
}
public client_connect(id)
{
msaymsg[id] = "0"
}
public client_disconnect(id)
{
msaymsg[id] = "0"
}
Last edited by kalhimeo; 07-20-2006 at 05:38.
|
|