Üdv.!
Írtam egy plugint és eszt tobja átalakításnál:
Kód: //tmp/textU5HvTJ.sma(90) : error 018: initialization data exceeds declared size
/tmp/textU5HvTJ.sma(165) : error 018: initialization data exceeds declared size
/tmp/textU5HvTJ.sma(196) : warning 217: loose indentation
/tmp/textU5HvTJ.sma(199) : warning 217: loose indentation
/tmp/textU5HvTJ.sma(211) : warning 217: loose indentation
/tmp/textU5HvTJ.sma(218) : warning 217: loose indentation
/tmp/textU5HvTJ.sma(220) : warning 204: symbol is assigned a value that is never used: "iVictim"
/tmp/textU5HvTJ.sma(220) : warning 209: function "eDeath" should return a value
SMA:
Kód: /*****************************
Pluign: XP Mód
Készítő: Bence98007
Verzió: 1.0
******************************/
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#define MAXSZINT 69
new PlayerXP[33],PlayerLevel[33],PlayerClass[33]
new xp_kill,xp_kes,xp_hs,xp_mentes
new g_vault
new const CLASSES[MAXSZINT][] = {
"Private",
"Private I",
"Private II",
"Private First Class",
"Private First Class I",
"Private First Class II",
"Specialist",
"Specialist I",
"Specialist II",
"Corporal",
"Corporal I",
"Corporal II",
"Sergeant",
"Sergeant I",
"Sergeant II",
"Staff Sergeant",
"Staff Sergeant I",
"Staff Sergeant II",
"Sergeant First Class",
"Sergeant First Class I",
"Sergeant First Class II",
"Master Sergeant",
"Master Sergeant I",
"Master Sergeant II",
"First Sergeant",
"First Sergeant I",
"First Sergeant II",
"Sergeant Major",
"Sergeant Major I",
"Sergeant Major II",
"Command Sergeant Major",
"Command Sergeant Major I",
"Command Sergeant Major II",
"2nd Lieutenant",
"2nd Lieutenant I",
"2nd Lieutenant II",
"1st Lieutenant",
"1st Lieutenant I",
"1st Lieutenant II",
"Captain",
"Captain I",
"Captain II",
"Major",
"Major I",
"Major II",
"Lieutenant Colonel",
"Lieutenant Colonel I",
"Lieutenant Colonel II",
"Lieutenant Colonel III",
"Colonel",
"Colonel I",
"Colonel II",
"Colonel III",
"Brigadier General",
"Brigadier General I",
"Brigadier General II",
"Brigadier General III",
"Major General",
"Major General I",
"Major General II",
"Major General III",
"Lieutenant General",
"Lieutenant General I",
"Lieutenant General II",
"Lieutenant General III",
"General",
"General I",
"General II",
"General III",
"Commander"
}
new const LEVELS[7] = {
0,
100,
300,
500,
700,
900,
1100,
1300,
1500,
1700,
1900,
2100,
2300,
2500,
2700,
2900,
3100,
3300,
3500,
3700,
3900,
4100,
4300,
4500,
4700,
4900,
5100,
5300,
5500,
5700,
5900,
6100,
6300,
6500,
6700,
6900,
6100,
7300,
7500,
7700,
7900,
8100,
8300,
8500,
8700,
8900,
9100,
9300,
9500,
9700,
9900,
10100,
11300,
11500,
11700,
11900,
12100,
12300,
12500,
12700,
12900,
13100,
13300,
13500,
13700,
13900,
14000,
}
public plugin_init()
{
register_plugin("XP-mod", "1.0", "Bence98007")
register_event("DeathMsg", "eDeath", "a")
xp_mentes = register_cvar("xpmentes","1")
xp_kill=register_cvar("XP_kill", "20")
xp_hs=register_cvar("XP_hs","22")
xp_kes=register_cvar("XP_kes","30")
g_vault = nvault_open("xpmod")
register_clcmd("say /xp", "ShowHud")
register_clcmd("say_team /xp", "ShowHud")
}
public eDeath()
{
new attacker = read_data( 1 )
new iVictim = read_data( 2 )
new headshot = read_data( 3 )
if(PlayerClass[attacker] == 0)
return PLUGIN_CONTINUE
new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo);
PlayerXP[attacker] += get_pcvar_num(xp_kill)
if(headshot)
PlayerXP[attacker] += get_pcvar_num(xp_hs)
if(weapon == CSW_KNIFE)
PlayerXP[attacker] += get_pcvar_num(xp_kes)
while(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]])
{
client_print(attacker, print_chat, "[XP-Mod] Grat! Szinted: %i Rangod: %s !", PlayerLevel[attacker],CLASSES[PlayerClass[attacker]])
PlayerLevel[attacker] += 1
}
ShowHud(attacker)
}
public ShowHud(id)
{
set_hudmessage(85, 255, 0, 0.01, 0.90, 0, 6.0, 12.0)
show_hudmessage(id, "[Szinted] %i [XP]: %i [Rangod] %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]])
}
public client_connect(id)
{
if(get_pcvar_num(xp_mentes) == 1)
{
LoadData(id)
}
}
public client_disconnect(id)
{
if(get_pcvar_num(xp_mentes) == 1)
{
SaveData(id)
}
}
public SaveData(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%sXPmod", name)
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[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,"%sXPmod", name)
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new playerxp[32], playerlevel[32]
parse(vaultdata, playerxp, 31, playerlevel, 31)
PlayerXP[id] = str_to_num(playerxp)
PlayerLevel[id] = str_to_num(playerlevel)
return PLUGIN_CONTINUE
}
Valaki javítaná nekem benne a hibá(ka)t? Köszönöm!
|