Thread: What is wrong?
View Single Post
Author Message
tobstr
Member
Join Date: Mar 2008
Old 10-30-2008 , 17:35   What is wrong?
Reply With Quote #1

Hi, I saw this script inte the XPMod tutorial.

And I want it to work. So, can someone, make this work? And please tell me what is wrong?

Wfg Tobstr

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#define MAXCLASSES 4
new PlayerXP[33],PlayerLevel[33],PlayerClass[33]
new 
XP_Kill,XP_Knife,XP_Hs,SaveXP
new g_vault 
new const CLASSES[MAXCLASSES][] = {
    
"None",
    
"Sausumos Pajegu Karys",
    
"Oro Pajegu Karys",
    
"Juru Pajegu Karys"
}  
new const 
LEVELS[19] = {
0,
50,
125,
200,
325,
450,
580,
780,
980,
1300,
1600,
2000,
2400,
2900,
3500,
4000,
4700,
5400,
6500,
8000 
}
public 
plugin_init()
{
 
register_plugin("ArmyMod""0.1""Dunno")
 
register_event("DeathMsg""eDeath""a")
 
register_event("ResetHUD","on_spawn","be"); 
 
SaveXP register_cvar("SaveXP","1")
 
XP_Kill=register_cvar("XP_per_kill""1")
 
XP_Hs=register_cvar("XP_hs_bonus","2")
 
XP_Knife=register_cvar("XP_knife_bonus","2")
 
g_vault nvault_open("ArmyMod")
 
register_clcmd("say /karys""ChangeClass")
 
register_clcmd("say_team /karys""ChangeClass")
 
register_clcmd("say /frag""ShowHud")
 
register_clcmd("say_team /frag""ShowHud")
}  
public 
eDeath( ) 

 if(
PlayerClass[attacker] == 0)
  return 
PLUGIN_CONTINUE
 
new iVictim read_data)
 new 
headshot read_data)
 
 new 
clipammoweapon get_user_weapon(id,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_Knife
 
 while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) 
 { 
  
client_print(attackerprint_center"[Army Mod] Congratulations! You are a level %i %s!"PlayerLevel[attacker],CLASSES[PlayerClass[attacker]])
  
PlayerLevel[attacker] += 
 

 
ShowHud(attacker)
}
public 
ShowHud(id

 
set_hudmessage(255000.750.0106.015.0
 
show_hudmessage(id"Level: %i^nXP: %i^nClass: %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]]) 
}  
public 
ChangeClass(id
{
 new 
menu menu_create("Soldiers Menu" "Class_Handle");
 
menu_additem(menu ,"Sausumos Pajegu Karys""1" 0); 
 
menu_additem(menu ,"Oro Pajegu Karys""2" 0); 
 
menu_additem(menu ,"Juru Pajegu Karys""3" 0); 
 
menu_setprop(menu MPROP_EXIT MEXIT_ALL);
 
menu_display(id menu 0); 
 return 
PLUGIN_CONTINUE

 
public 
Class_Handle(id menu item

 if(
item == MENU_EXIT
 { 
  
menu_destroy(menu); 
 } 
 new 
szCommand[6] , szName[64]; new access callback
 
menu_item_getinfo(menu item access szCommand szName 63 callback); 
 new 
str_to_num(szCommand
 if(
PlayerClass[id] != i
 { 
  
PlayerClass[id] = i client_print(id,print_chat,"You are now a %s",CLASSES[i]) 
 }
 else 
 { 
  
client_print(id,print_chat,"You are alredy a %s",CLASSES[i]) 
 } 
 
menu_destroy(menu); 
 return 
PLUGIN_CONTINUE 

public 
client_connect(id
{
 if(
get_pcvar_num(SaveXP) == 1
 { 
  
LoadData(id
 } 
}
public 
client_disconnect(id

 if(
get_pcvar_num(SaveXP) == 1
 { 
  
SaveData(id
 } 
}  
public 
SaveData(id

    
// get the players steam id. We need this because we are saving by steam id 
 
new AuthID[35get_user_authid(id,AuthID,34
 new 
vaultkey[64],vaultdata[256
    
// format wat is going to be in the animal mod vault file 
 
format(vaultkey,63,"%s-Mod",AuthID
 
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) 
    
// save the data 
 
nvault_set(g_vault,vaultkey,vaultdata
 return 
PLUGIN_CONTINUE 
}  
public 
LoadData(id

 new 
AuthID[35get_user_authid(id,AuthID,34
 new 
vaultkey[64],vaultdata[256
    
// search 
 
format(vaultkey,63,"%s-Mod",AuthID
 
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) 
    
// load the data 
 
nvault_get(g_vault,vaultkey,vaultdata,255
 
replace_all(vaultdata255"#"" "
 new 
playerxp[32], playerlevel[32
 
parse(vaultdataplayerxp31playerlevel31
 
PlayerXP[id] = str_to_num(playerxp
 
PlayerLevel[id] = str_to_num(playerlevel
 return 
PLUGIN_CONTINUE 
}  
public 
on_spawn(id)
{
 if (
PlayerLevel[id] == 1)
 {
 
set_user_health(id105);
 
set_user_armor(id105);
 }
 if (
PlayerLevel[id] == 2)
 {
 
set_user_health(id110);
 
set_user_gravity(id0.9);
 
set_user_armor(id105);
 }
 if (
PlayerLevel[id] == 3)
 {
 
set_user_health(id120);
 
set_user_maxspeed(id, -0.9);
 
set_user_gravity(id0.9);
 
set_user_armor(id105);
 }
 if (
PlayerLevel[id] == 4)
 {
 
set_user_health(id120);
 
set_user_maxspeed(id, -0.8);
 
set_user_gravity(id0.9);
 
set_user_armor(id105);
 }
 if (
PlayerLevel[id] == 5)
 {
 
set_user_health(id120);
 
set_user_maxspeed(id, -0.75);
 
set_user_gravity(id0.8);
 
set_user_armor(id110);
 }
 if (
PlayerLevel[id] == 6)
 {
 
set_user_health(id130);
 
set_user_maxspeed(id, -0.75);
 
set_user_gravity(id0.8);
 
set_user_armor(id115);
 }
 if (
PlayerLevel[id] == 7)
 {
 
set_user_health(id135);
 
set_user_maxspeed(id, -0.70);
 
set_user_gravity(id0.75);
 
set_user_armor(id115);
 }
 if (
PlayerLevel[id] == 8)
 {
 
set_user_health(id135);
 
set_user_maxspeed(id, -0.70);
 
set_user_gravity(id0.75);
 
set_user_armor(id115);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 }
 if (
PlayerLevel[id] == 9)
 {
 
set_user_health(id145);
 
set_user_maxspeed(id, -0.70);
 
set_user_gravity(id0.75);
 
set_user_armor(id115);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 10)
 {
 
set_user_health(id145);
 
set_user_maxspeed(id, -0.7);
 
set_user_gravity(id0.7);
 
set_user_armor(id120);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 11)
 {
 
set_user_health(id155);
 
set_user_maxspeed(id, -0.7);
 
set_user_gravity(id0.7);
 
set_user_armor(id125);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 12)
 {
 
set_user_health(id155);
 
set_user_maxspeed(id, -0.7);
 
set_user_gravity(id0.65);
 
set_user_armor(id135);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 13)
 {
 
set_user_health(id160);
 
set_user_maxspeed(id, -0.65);
 
set_user_gravity(id0.65);
 
set_user_armor(id135);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 14)
 {
 
set_user_health(id170);
 
set_user_maxspeed(id, -0.65);
 
set_user_gravity(id0.65);
 
set_user_armor(id140);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 15)
 {
 
set_user_health(id170);
 
set_user_maxspeed(id, -0.65);
 
set_user_gravity(id0.6);
 
set_user_armor(id145);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 16)
 {
 
set_user_health(id180);
 
set_user_maxspeed(id, -0.6);
 
set_user_gravity(id0.6);
 
set_user_armor(id150);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 17)
 {
 
set_user_health(id180);
 
set_user_maxspeed(id, -0.6);
 
set_user_gravity(id0.55);
 
set_user_armor(id155);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 }
 if (
PlayerLevel[id] == 18)
 {
 
set_user_health(id200);
 
set_user_maxspeed(id, -0.6);
 
set_user_gravity(id0.5);
 
set_user_armor(id160);
 
give_item(id"weapon_deagle");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id,"ammo_50ae");
 
give_item(id"weapon_hegrenade");
 
give_item(id"weapon_flashbang");
 
give_item(id"weapon_flashbang");
 }


EDIT:

Here's the errors:

Code:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Error: Initialization data exceeds declared size on line 41
Error: Undefined symbol "attacker" on line 59
Error: Undefined symbol "id" on line 64
Error: Undefined symbol "attacker" on line 65
Error: Undefined symbol "attacker" on line 67
Error: Undefined symbol "attacker" on line 69
Error: Undefined symbol "attacker" on line 71
Error: Undefined symbol "attacker" on line 73
Warning: Expression has no effect on line 73
Warning: Expression has no effect on line 73
Error: Undefined symbol "attacker" on line 73
Error: Invalid expression, assumed zero on line 73
Error: Too many error messages on one line on line 73
Compilation aborted.
11 Errors.
__________________
+ Karma if I Helped!

Last edited by tobstr; 10-30-2008 at 18:46.
tobstr is offline