Raised This Month: $ Target: $400
 0% 

I need on retrieveing individual data.


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
KoNz
Junior Member
Join Date: Apr 2011
Location: Finland
Old 02-10-2013 , 10:12   Re: I need on retrieveing individual data.
Reply With Quote #5

Quote:
Originally Posted by nnajko View Post
Yeah use a variable
PHP Code:
#include <amxmodx>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

new g_iPlayerClass[33];

enum _:Class
{
    
Dog 0,
    
Bear,
    
Cat
}

enum Data
{
    
Level,
    
EXP
}

new 
pInfo[33][Class][Data];

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /test""CmdTest");
}

public 
CmdTest(id)
{
    
g_iPlayerClass[id] = Dog;
    
    
pInfo[id][g_iPlayerClass[id]][Level]++;

Hmm i think that woudlnt work on my case... Lemme show u what I've done. (Btw im unsure how to save individual xp too.)

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#define MAXCLASSES 5
new const CLASSES[MAXCLASSES][] = {
    
"None",
    
"Dog",
    
"Cat",
    
"Horse",
    
"Cow"

enum Class
{
    
None,
    
Dog,
    
Cat,
    
Horse,
    
Cow
}
new const 
LEVELS[6] = {
    
100
    
200
    
400
    
800,
    
1600,
    
3200
}
enum Data
{
    
Level,
    
EXP
}
new 
pInfo[33][Class][Data]
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 
iVictim read_data
     
    if(
attacker == iVictim || !is_user_connected(attacker) || get_user_team(attacker) == get_user_team(iVictim)) return; 
     
    new 
headshot read_data
     
    new 
weapon[7
    
read_data4weaponcharsmaxweapon ) )
    
  
    
PlayerXP[attacker] += get_pcvar_num(XP_Kill)
  
    if(
headshot
    
PlayerXP[attacker] += get_pcvar_num(XP_Hs
  
    if(
equal(weapon"knife")) 
    
PlayerXP[attacker] += get_pcvar_num(XP_Knife
  
  
    while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) 
    { 
      
PlayerLevel[attacker] += 
      client_print
(attackerprint_chat"[Animal Mod] Congratulations! You are a level %i %s!"PlayerLevel[attacker],CLASSES[PlayerClass[attacker]])
    } 
    
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


Some of this what u might see messy is my own trying
__________________

Replace it.

Last edited by KoNz; 02-10-2013 at 10:13.
KoNz is offline
 



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 20:32.


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