#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <colorchat>
#define PLUGIN ""
#define VERSION "1.0"
#define AUTHOR ""
new message[192]
new nev[32]
new Temp[192]
static color[10]
new g_vault
new olesek[33]
new szint[33]
#define ASD 50
#define TULAJ ADMIN_IMMUNITY
#define FOADMIN ADMIN_LEVEL_F
#define ADMIN ADMIN_LEVEL_G
#define VIP ADMIN_LEVEL_H
//Ha az ASD értéke 15 akkor a szamoknal 15 szám a rangoknál 16 szöveg
new const szamok[ASD] = {
20, //1
40, //2
60, //3
80, //4
100, //5
120, //6
140, //7
160, //8
180, //9
200, // 10
220, //11
240, // 12
260, //13
280, //14
300, //15
320, //16
340, // 17
360, // 18
380, // 19
400, // 20
420, // 21
440, // 22
460, // 23
480, // 24
500, // 25
520, //26
540, // 27
560, // 28
580, // 29
600, // 30
690, // 31
700, // 32
750, // 33
800, // 34
850, // 35
900, //36
950, // 37
1000, //38
1200, // 39
1300, // 40
1400, // 41
1500, // 42
1600, // 43
1700, // 44
1800, // 45
1900, // 46
2000, // 47
2100, // 48
3000 // 49
}
new const rangok[ASD+1][] = {
"[Nokedli][lvl:0]",
"[Csirkefogo][lvl:1]",
"[Legeny][lvl:2]",
"[Paraszt][lvl:3]",
"[Rossz][lvl:4]",
"[Elettelen][lvl:5]",
"[Kocka][lvl:6]",
"[Felos][lvl:7]",
"[Undorito][lvl:8]",
"[Budos][lvl:9]",
"[Kutya][lvl:10]",
"[Cuki][lvl:11]",
"[Vicces][lvl:12]",
"[Hulye][lvl:13]",
"[Allat][lvl:14]",
"[Streber][lvl:15]",
"[Kegyetlen][lvl:16]",
"[Fontolgato][lvl:17]",
"[Szerelmes][lvl:18]",
"[Munkasember][lvl:19]",
"[Koko fuggo][lvl:20]",
"[Heroin fuggo][lvl:21]",
"[Elmebeteg][lvl:22]",
"[Idegbeteg][lvl:23]",
"[Alkoholista][lvl:24]",
"[Perverz][lvl:25]",
"[Beszivott][lvl:26]",
"[Jozan][lvl:27]",
"[Csecsemo][lvl:28]",
"[Halaloszto][lvl:29]",
"[AWP-s][lvl:30]",
"[KakaoGengszer][lvl:31]",
"[Gengszter][lvl:32]",
"[Kispados][lvl:33]",
"[Igazi Hos][lvl:34]",
"[Verbeli kisgyerek][lvl:35]",
"[Vereb][lvl:36]",
"[ErosPista][lvl:37]",
"[Tanyasi][lvl:38]",
"[TanyasiCsirkePucolo][lvl:39]",
"[Marharepa][lvl:40]",
"[Marha][lvl:41]",
"[Szemetes][lvl:42]",
"[Nyugdijas][lvl:43]",
"[Idos][lvl:44]",
"[Vadallat][lvl:45]",
"[Felisten][lvl:46]",
"[Isten][lvl:47]",
"[Legenda][lvl:48]",
"[Tag][lvl:49]",
"[Legyozhetetlen][lvl:50 MAX]"
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /rang", "hud")
register_clcmd("say /xp", "hud")
register_clcmd("say /szint", "hud")
register_clcmd("say /mykill", "hud")
register_clcmd("say", "sayhook")
register_clcmd("say_team", "tshook")
register_event("DeathMsg", "halal", "a")
g_vault = nvault_open("Rang")
}
public hud(id)
{
if(szint[id] != ASD+1)
{
ColorChat(id, RED, "Szint:^4%s ^1| ^3Olesek:^4%d ^1| ^3Kell meg:^4%d",rangok[szint[id]], olesek[id],szamok[szint[id]]-olesek[id] )
}
else {
ColorChat(id, GREEN, "Elerted a ^3Maximalis ^4Szintet.Gratulalunk.")
ColorChat(id, GREEN, "Elerted a ^3Maximalis ^4Szintet.Gratulalunk.")
ColorChat(id, GREEN, "Elerted a ^3Maximalis ^4Szintet.Gratulalunk.")
ColorChat(id, GREEN, "Elerted a ^3Maximalis ^4Szintet.Gratulalunk.")
ColorChat(id, GREEN, "Elerted a ^3Maximalis ^4Szintet.Gratulalunk.")
}
}
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)
if(get_user_flags(id) & TULAJ)
formatex(Temp, 191, "^x04[Tulaj]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & FOADMIN)
formatex(Temp, 191, "^x04[FoAdmin]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & ADMIN)
formatex(Temp, 191, "^x04[Admin]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & VIP)
formatex(Temp, 191, "^x04[V.I.P]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else formatex(Temp, 191, "^x04%s ^x03%s^x01: %s", rangok[szint[id]], nev, message)
}
else {
get_user_team(id, color, 9)
if(get_user_flags(id) & TULAJ)
formatex(Temp, 191, "^x04[Tulaj]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & FOADMIN)
formatex(Temp, 191, "^x04[FoAdmin]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & ADMIN)
formatex(Temp, 191, "^x04[Admin]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & VIP)
formatex(Temp, 191, "^x04[V.I.P]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else formatex(Temp, 191, "^x04%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, "[T]")
}
case 2: {
copy (playerTeamName, 18, "[CT]")
}
default:
copy (playerTeamName, 9, "[Nezo]")
}
if(is_user_alive(id))
{
get_user_team(id, color, 9)
if(get_user_flags(id) & TULAJ)
formatex(Temp, 191, "^x04[Tulaj]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & FOADMIN)
formatex(Temp, 191, "^x04[FoAdmin]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & ADMIN)
formatex(Temp, 191, "^x04[Admin]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & VIP)
formatex(Temp, 191, "^x04[V.I.P]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else formatex(Temp, 191, "^x04%s ^x03%s^x01: %s", rangok[szint[id]], nev, message)
}
else {
get_user_team(id, color, 9)
if(get_user_flags(id) & TULAJ)
formatex(Temp, 191, "^x04[Tulaj]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & FOADMIN)
formatex(Temp, 191, "^x04[FoAdmin]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & ADMIN)
formatex(Temp, 191, "^x04[Admin]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else if(get_user_flags(id) & VIP)
formatex(Temp, 191, "^x04[V.I.P]%s ^x03%s^x04: %s", rangok[szint[id]], nev, message)
else formatex(Temp, 191, "^x04%s ^x03%s^x01: %s", 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", 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", name)
format(vaultdata,255,"%i#%i#",olesek[id],szint[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new lekeres_1[32],lekeres_2[32]
parse(vaultdata, lekeres_1, 31, lekeres_2, 31)
olesek[id] = str_to_num(lekeres_1)
szint[id] = str_to_num(lekeres_2)
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]++
}
}