Raised This Month: $ Target: $400
 0% 

XP mod problems


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Frozen Usp
Member
Join Date: Sep 2007
Location: Sweden
Old 12-27-2008 , 08:48   XP mod problems
Reply With Quote #1

PHP Code:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c1997-2006 ITB CompuPhaseAMX Mod X Team
C
:\Users\Valentin\Desktop\TFMOD.sma(62) : error 017undefined symbol "attacker"
C:\Users\Valentin\Desktop\TFMOD.sma(70) : error 017undefined symbol "id"
C:\Users\Valentin\Desktop\TFMOD.sma(71) : error 012invalid function callnot a valid address
C
:\Users\Valentin\Desktop\TFMOD.sma(71) : error 017undefined symbol "attacker"
C:\Users\Valentin\Desktop\TFMOD.sma(75) : error 012invalid function callnot a valid address
C
:\Users\Valentin\Desktop\TFMOD.sma(75) : error 017undefined symbol "attacker"
C:\Users\Valentin\Desktop\TFMOD.sma(79) : error 017undefined symbol "attacker"
C:\Users\Valentin\Desktop\TFMOD.sma(82) : warning 217loose indentation
C
:\Users\Valentin\Desktop\TFMOD.sma(82) : error 017undefined symbol "attacker"
C:\Users\Valentin\Desktop\TFMOD.sma(84) : error 017undefined symbol "attacker"
C:\Users\Valentin\Desktop\TFMOD.sma(84) : warning 215expression has no effect
C
:\Users\Valentin\Desktop\TFMOD.sma(84) : warning 215expression has no effect
C
:\Users\Valentin\Desktop\TFMOD.sma(84) : error 017undefined symbol "attacker"
C:\Users\Valentin\Desktop\TFMOD.sma(84) : error 029invalid expressionassumed zero
C
:\Users\Valentin\Desktop\TFMOD.sma(84) : fatal error 107too many error messages on one line
Compilation aborted
.
12 Errors.
Could not locate output file C:\Users\Valentin\Desktop\TFMOD.amx (compile failed).
Compilation Time0,34 sec 
This is the errors i get from trying to compile my code, the code is based on the Xp mod tutorial by flyeni6
http://forums.alliedmods.net/showthread.php?t=66497

PHP Code:
/* Script generated by Pawn Studio */
#include <amxmodx>
#include <amxmisc>
#include <nvault> 
#include <cstrike>
#include <fun>
#include <fakemeta>
 
#define PLUGIN "TF Mod"
#define AUTHOR "V-X aka FrozenUSP"
#define VERSION "1.0"
#define MAXCLASSES 4
#define CLASS_NOTHING 0
#define CLASS_SCOUT 1
#define CLASS_HEAVY 2
#define CLASS_SNIPER 3

new PlayerXP[33],PlayerLevel[33],PlayerClass[33]
new 
XP_Kill,XP_Knife,XP_Hs,SaveXP
new g_vault
new const CLASSES[MAXCLASSES] [] = {
 
"None",
 
"Scout",
 
"Heavy",
 
"Sniper"
}
new const 
BATTLEXP[7] = {
 
0,
 
22,
 
34,
 
43,
 
57,
 
66,
 
80
}

public 
plugin_init()
{
 
register_plugin(PLUGINVERSIONAUTHOR)
 
register_event("DeathMsg""eDeath""a")
 
SaveXP register_cvar("SaveXP""1")
 
XP_Kill register_cvar("XP_per_kill""1")
 
XP_Hs register_cvar("XP_per_hs""2")
 
XP_Knife register_cvar("XP_per_knife""3")
 
 
g_vault nvault_open("TF Mod")
 
 
register_clcmd("say /class""ChangeClass")
 
register_clcmd("say_team /class""ChangeClass")
 
register_clcmd("say /battlexp""ShowHud")
 
register_clcmd("say_team /battlexp""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] >= BATTLEXP[PlayerLevel[attacker]]) 
    { 
        
client_print(attackerprint_chat"[TF Mod] Congratulations! You Are Now More Experienced In Battle!"PlayerLevel[attacker],CLASSES[PlayerClass[attacker]]) 
        
        
PlayerLevel[attacker] += 
    

 
    
ShowHud(attacker)
 
}  
public 
ShowHud(id

    
set_hudmessage(255000.750.0106.015.0
    
show_hudmessage(id"BattleXP: %i^nXP: %i^nClass: %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]]) 
}  
public 
ChangeClass(id
{
    new 
menu menu_create("Class Menu" "Class_Handle");
    
menu_additem(menu ,"Scout""1" 0); 
    
menu_additem(menu ,"Heavy""2" 0); 
    
menu_additem(menu ,"Sniper""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!, Make me Proud Soldier!",CLASSES[i]) 
    }
    else 
    { 
        
client_print(id,print_chat,"You Are Alredy a %s!, Stop Whine and get back to ACTION!",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

    
    new 
AuthID[35get_user_authid(id,AuthID,34
    new 
vaultkey[64],vaultdata[256
    
    
format(vaultkey,63,"%s-Mod",AuthID
    
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) 
    
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
    
    
format(vaultkey,63,"%s-Mod",AuthID
    
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) 
    
    
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 
respawn_player(id)
{
 if(
is_user_connected(id))
 {
  
set_pev(id,pev_deadflag,DEAD_RESPAWNABLE);
        
set_pev(idpev_iuser10);
        
dllfunc(DLLFunc_Think,id)
  
  
engfunc(EngFunc_SetOrigin,id,Float:{-4800.0,-4800.0,-4800.0})
  
  
set_task(0.5,"spawnagain",id)
 }
}
public 
spawnagain(id)
{
    
    if(
is_user_connected(id))
    {
        
       
spawn(id)
       
dllfunc(DLLFunc_Spawn,id)
    
    }
}
public 
fwHamPlayerSpawnPost(id) { 
 
    if(
is_user_alive(id) {
  
        
fm_strip_user_weapons(id); 
        
ham_give_weapon(id"CSW_KNIFE");
    }
 if(
PlayerClass(id) == CLASS_SCOUT)
  
ham_give_weapon(id"CSW_M3")
  
ham_give_weapon(id"CSW_USP")
 }
 if(
PlayerClass(id) == CLASS_HEAVY)
  
ham_give_weapon(id"CSW_M249")
  
ham_give_weapon(id"CSW_M3")
 }
 if(
PlayerClass(id) == CLASS_SNIPER)
  
ham_give_weapon(id"CSW_SCOUT")
  
ham_give_weapon(id"CSW_MP5NAVY")
 }

Frozen Usp is offline
Send a message via MSN to Frozen Usp
SnoW
Veteran Member
Join Date: Oct 2008
Location: Finland WisdomNuggets: 8
Old 12-27-2008 , 11:53   Re: XP mod problems
Reply With Quote #2

You don't read the attacker on function eDeath.
Code:
new attacker = read_data(1);
SnoW is offline
Send a message via MSN to SnoW
Frozen Usp
Member
Join Date: Sep 2007
Location: Sweden
Old 12-27-2008 , 13:35   Re: XP mod problems
Reply With Quote #3

Thanks!
Frozen Usp is offline
Send a message via MSN to Frozen Usp
Frozen Usp
Member
Join Date: Sep 2007
Location: Sweden
Old 12-27-2008 , 15:31   Re: XP mod problems
Reply With Quote #4

Same errors stile remains
Frozen Usp is offline
Send a message via MSN to Frozen Usp
SnoW
Veteran Member
Join Date: Oct 2008
Location: Finland WisdomNuggets: 8
Old 12-27-2008 , 16:04   Re: XP mod problems
Reply With Quote #5

Your code is full of errors, when you fix 10 of them you get 20 more. You use engine, fakemeta, fun, fakemeta_util and cstrike. Only half of those was included. You use variables like this String(id) = 1; and a lot of other mess with ids and almost everything. If you can't fix those errors you could request this so someone else would do this. :I
SnoW is offline
Send a message via MSN to SnoW
Hawk552
AMX Mod X Moderator
Join Date: Aug 2005
Old 12-28-2008 , 19:54   Re: XP mod problems
Reply With Quote #6

People need to stop beginning their learning with huge scripts like XP mod which is terribly written and archaic compared to the APIs available today. That's irrelevant, though. Start with something small like a heal or slay command and gradually build on it. Then make something a bit harder like a csay command.
__________________
Hawk552 is offline
Send a message via AIM to Hawk552
ianglowz
Senior Member
Join Date: Nov 2008
Old 12-29-2008 , 01:33   Re: XP mod problems
Reply With Quote #7

Here I help you.

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#define MAXCLASSES 5
new const CLASSES[MAXCLASSES][] = {
    
"None",
    
"Dog",
    
"Cat",
    
"Horse",
    
"Cow"
}
new const 
LEVELS[6] = {
    
100
    
200
    
400
    
800,
    
1600,
    
3200
}
new 
PlayerXP[33],PlayerLevel[33],PlayerClass[33]
new 
XP_Kill,XP_Knife,XP_Hs,SaveXP,g_vault
public plugin_init()
{
    
register_plugin("XpMod""1.0""Fxfighter")
 
    
register_event("DeathMsg""eDeath""a"
 
    
SaveXP register_cvar("SaveXP","1")
    
XP_Kill=register_cvar("XP_per_kill""20")
    
XP_Hs=register_cvar("XP_hs_bonus","20")
    
XP_Knife=register_cvar("XP_knife_bonus","20")
    
g_vault nvault_open("animod")
 
    
register_clcmd("say /class""ChangeClass")
    
register_clcmd("say_team /class""ChangeClass")
    
register_clcmd("say /xp""ShowHud")
    
register_clcmd("say_team /xp""ShowHud")
}
public 
eDeath(  ) 
{
    new 
attacker read_data)
    new 
headshot read_data)
    new 
clipammoweapon 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_Knife)
 
 
    while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]])
    {
    
client_print(attackerprint_chat"[Animal Mod] Congratulations! You are a level %i %s!",PlayerLevel[attacker],CLASSES[PlayerClass[attacker]])
    
PlayerLevel[attacker] += 1
    
}

    
ShowHud(attacker)
    
SaveData(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("Class Menu" "Class_Handle");
    
menu_additem(menu ,"Dog""1" 0);
    
menu_additem(menu ,"Cat""2" 0);
    
menu_additem(menu ,"Horse""3" 0);
    
menu_additem(menu ,"Cow""4" 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)
    }
    
PlayerXP[id] = 0
    PlayerLevel
[id] = 0
    PlayerClass
[id] = 0
}
public 
SaveData(id)
{
    new 
AuthID[35]
    
get_user_authid(id,AuthID,34)
 
    new 
vaultkey[64],vaultdata[256]
    
format(vaultkey,63,"%s-Mod",AuthID)
    
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
    
nvault_set(g_vault,vaultkey,vaultdata)
    return 
PLUGIN_CONTINUE
}
public 
LoadData(id)
{
    new 
AuthID[35]
    
get_user_authid(id,AuthID,34)
 
    new 
vaultkey[64],vaultdata[256]
    
format(vaultkey,63,"%s-Mod",AuthID)
    
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
    
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

__________________
~ +karma to me and leave your name. ~
~ If you -karma to me,please leave your name so I know you are pro scripter. ~
~ Helping anytime ~


ianglowz is offline
Frozen Usp
Member
Join Date: Sep 2007
Location: Sweden
Old 12-29-2008 , 07:01   Re: XP mod problems
Reply With Quote #8

Ianglowz - Thats the Tutorial i have been using...
Frozen Usp is offline
Send a message via MSN to Frozen Usp
ianglowz
Senior Member
Join Date: Nov 2008
Old 12-29-2008 , 08:21   Re: XP mod problems
Reply With Quote #9

Ooo..sorry..now I will check the error.
__________________
~ +karma to me and leave your name. ~
~ If you -karma to me,please leave your name so I know you are pro scripter. ~
~ Helping anytime ~


ianglowz is offline
Frozen Usp
Member
Join Date: Sep 2007
Location: Sweden
Old 12-29-2008 , 08:31   Re: XP mod problems
Reply With Quote #10

Well i kind rewrote the plugin and now it works just fine with some minor errors,
the errors where becuse i was using the unUpdated XP-Mod TUT
Frozen Usp is offline
Send a message via MSN to Frozen Usp
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:12.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode