Sziasztok fórumozók! Valaki ebből a pluginból kitudná venni, hogy ne ölésekre hanem a szerveren való összes ölésre mentse a rangokat?
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#define PLUGIN "HLMOD.Hus Rangok"
#define VERSION "1.0"
#define AUTHOR "ExTraaaa and qKKKJ;>"
new message[192]
new nev[32]
new Temp[192]
static color[10]
new g_vault
new olesek[33]
new szint[33]
#define ASD 18
//Ha az ASD értéke 15 akkor a szamoknal 15 szám a rangoknál 16 szöveg
new const szamok[ASD] = {
5,
10,
15,
30,
50,
80,
110,
150,
200,
270,
350,
450,
590,
680,
800,
920,
990,
1000
}
new const rangok[ASD+1][] = {
"Nem rangsorolt",
"Ezust I",
"Ezust II",
"Ezust III",
"Ezust IV",
"Ezust Elit",
"Ezust Elit Mester",
"Arany Nova I",
"Arany Nova II",
"Arany Nova III",
"Arany Nova Master",
"Arany Nova orzo I",
"Arany Nova orzo II",
"Vedelmezo Mester",
"Kivallo vedelmezo mester",
"Legendás Sas",
"Legendas Sas Mester",
"Legfobb elso osztalyu mester",
"A Global Elit"
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /rang", "hud")
register_clcmd("say", "sayhook")
register_clcmd("say_team", "tshook")
register_event("DeathMsg", "halal", "a")
g_vault = nvault_open("namerang")
}
public hud(id)
{
if(szint[id] != ASD+1)
{
client_print(id, print_chat, "Prefix: %s^nÖlések: %d^nKell még: %d",rangok[szint[id]], olesek[id],szamok[szint[id]]-olesek[id] )
}
else {
client_print(id, print_chat, "Prefix: %s^nÖlések: %d^nKell még: 0",rangok[szint[id]], olesek[id])
}
}
public sayhook(id)
{
read_args (message, 191)
remove_quotes (message)
if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
{
return PLUGIN_CONTINUE
}
get_user_name(id, nev, 31)
if(is_user_alive(id)) {
get_user_team(id, color, 9)
formatex(Temp, 191, "^x04[%s] ^x03%s^x01: %s", rangok[szint[id]], nev, message)
}
else {
get_user_team(id, color, 9)
formatex(Temp, 191, "^x04*Halott* [%s] ^x03%s^x01: %s", rangok[szint[id]], nev, message)
}
sendmessage(color)
return PLUGIN_HANDLED
}
public tshook(id)
{
read_args (message, 191)
remove_quotes (message)
if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
{
return PLUGIN_CONTINUE
}
get_user_name(id, nev, 31)
new playerTeam = get_user_team(id)
new playerTeamName[19]
switch (playerTeam)
{
case 1: {
copy (playerTeamName, 11, "*Terrorista*")
}
case 2: {
copy (playerTeamName, 18, "*Anti-Terrorista*")
}
default:
copy (playerTeamName, 9, "*Nező*")
}
if(is_user_alive(id))
{
get_user_team(id, color, 9)
formatex(Temp, 191, "^x03(%s) ^x04[%s] ^x03%s^x01: %s",playerTeamName, rangok[szint[id]], nev, message)
}
else
{
get_user_team(id, color, 9)
formatex(Temp, 191, "^x04*Halott* ^x03(%s) ^x04[%s] ^x03%s^x01: %s",playerTeamName, rangok[szint[id]], nev, message)
}
sendtmessage(color, playerTeam)
return PLUGIN_HANDLED
}
public sendmessage(color[])
{
new teamName[10]
for(new player = 1; player < get_maxplayers(); player++)
{
get_user_team (player, teamName, 9)
teamf (player, color)
elkuldes(player, Temp)
teamf(player, teamName)
}
}
public sendtmessage(color[], playerTeam)
{
new teamName[10]
for (new player = 1; player < get_maxplayers(); player++)
{
if(get_user_team(player) == playerTeam)
{
get_user_team (player, teamName, 9)
elkuldes(player, Temp)
teamf (player, teamName)
teamf (player, color)
}
}
}
public teamf(player, team[])
{
message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, player)
write_byte(player)
write_string(team)
message_end()
}
public elkuldes(player, Temp[])
{
message_begin( MSG_ONE, get_user_msgid( "SayText" ), _, player)
write_byte( player )
write_string( Temp )
message_end()
}
public client_connect(id)
{
LoadData(id)
}
public client_disconnect(id) SaveData(id)
public SaveData(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-rang", name)
format(vaultdata,255,"%i#%i#",olesek[id],szint[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public LoadData(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-rang", name)
format(vaultdata,255,"%i#%i#",olesek[id],szint[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new oles[32], level[32]
parse(vaultdata, oles, 31, level, 31)
olesek[id] = str_to_num(oles)
szint[id] = str_to_num(level)
return PLUGIN_CONTINUE
}
public halal()
{
new killer = read_data(1)
new victim = read_data(2)
if(killer != victim)
olesek[killer]++
while(olesek[killer] >= szamok[szint[killer]])
{
szint[killer]++
}
}