Raised This Month: $ Target: $400
 0% 

need help with...


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
drakeris
Senior Member
Join Date: Jul 2009
Old 07-29-2009 , 03:22   need help with...
Reply With Quote #1

no mroe ;)

Last edited by drakeris; 08-14-2009 at 03:38.
drakeris is offline
Xellath
Veteran Member
Join Date: Dec 2007
Location: Sweden
Old 07-29-2009 , 03:45   Re: need help with...
Reply With Quote #2

PHP Code:
register_clcmd("say /class""ChangeClass")

-->

register_clcmd("say /klase""ChangeClass"
__________________
Achievements API - a simple way for you to create your OWN custom achievements!
Xellath is offline
drakeris
Senior Member
Join Date: Jul 2009
Old 07-29-2009 , 03:50   Re: need help with...
Reply With Quote #3

Quote:
Originally Posted by Xellath View Post
PHP Code:
register_clcmd("say /class""ChangeClass")
 
-->
 
register_clcmd("say /klase""ChangeClass"
didnt help still its not opening the menu to chose class :/
drakeris is offline
MrOpposite
Junior Member
Join Date: Jul 2009
Location: Sverige FTW
Old 07-29-2009 , 04:02   Re: need help with...
Reply With Quote #4

I'm looking at it now, By running the script in debugmode, I located a problem at line 122
__________________
^^,
MrOpposite is offline
drakeris
Senior Member
Join Date: Jul 2009
Old 07-29-2009 , 05:46   Re: need help with...
Reply With Quote #5

still need help ((
drakeris is offline
MrOpposite
Junior Member
Join Date: Jul 2009
Location: Sverige FTW
Old 07-29-2009 , 18:56   Re: need help with...
Reply With Quote #6

I am not skilled enough to fix what's wrong. It complains about the pcvars, for unknown reason :S

EDIT:

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <fakemeta_util>
#include <cstrike>
#define MAXCLASSES 6
#define PREFIX "Simpsonu Modas"
new g_menu;
enum {
    
PLAYERLEVEL_1,
    
PLAYERLEVEL_2,
    
PLAYERLEVEL_3// How many Levels
    
PLAYERLEVEL_4,
    
PLAYERLEVEL_5,
    
PLAYERLEVEL_6
}
enum {
    
CLASS_NONE 0,
    
CLASS_Megie,
    
CLASS_Marge,
    
CLASS_Bartas// Add your Classes there..
    
CLASS_Liza,
    
CLASS_Houmeris,
}
new const 
CLASSES[MAXCLASSES][] = {
    
"None",
    
"Mege",
    
"Marge",
    
"Bartas",
    
"Liza",
    
"Houmeris"
}; 
new const 
LEVELS[7] = {
    
100
    
200
    
400
    
800,
    
1600,
    
3200,
    
4000
};
new 
PlayerXP[33];
new 
PlayerLevel[33];
new 
PlayerClass[33];
new 
gCvar_Kill;
new 
gCvar_Knife;
new 
gCvar_HS;
new 
gCvar_Enable;
new 
g_Vault;
public 
plugin_init() {
    
register_plugin("Simpsons Mod""1.0""Drakeris");
    
register_event("DeathMsg""eDeath""a");
    
//register_event("ResetHUD", "resetModel", "b")
    
register_event("ResetHUD""skill""be");
    
gCvar_Enable    register_cvar("xp_save""1");
    
gCvar_Kill    register_cvar("xp_per_kill""20");
    
gCvar_HS    register_cvar("xp_hs_bonus""20");
    
gCvar_Knife    register_cvar("xp_Knife_bonus""20");
    
g_Vault        nvault_open("animod");
    
g_menu menu_create("Class Menu" "ChangeClass");
    
    
register_concmd("amx_paimt_exp""cmd_paimti_exp"ADMIN_KICK"<target> <amount>"); 
    
register_concmd("amx_dot_exp""cmd_doti_exp"ADMIN_KICK"<target> <amount>");
    
    
register_clcmd("say /class",    "ChangeClass");
    
register_clcmd("say_team /class""ChangeClass");
    
register_clcmd("say /level",    "ShowHud");
    
register_clcmd("say_team /level",    "ShowHud");
    
    
build_menu();
}

build_menu()
{
    
menu_additem(g_menu ,"Marge""1" 0);
    
menu_additem(g_menu ,"Bartas""2" 0);
    
menu_additem(g_menu ,"Liza""3" 0);
    
menu_additem(g_menu ,"Houmeris""4" 0);
    
menu_setprop(g_menu MPROP_EXIT MEXIT_ALL);    
}
/*public plugin_precache() {
    precache_model("models/player/witch/witch.mdl")
    precache_model("models/player/witch/witch.mdl")
    return PLUGIN_CONTINUE
}*/
public eDeath() {
    new 
attacker read_data);
    new 
headshot read_data);
    new 
clipammoweapon get_user_weapon(attackerclipammo);
    
PlayerXP[attacker] += get_pcvar_num(gCvar_Kill);
    if(
headshot)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_HS);
    if(
weapon == CSW_KNIFE)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_Knife);
    while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) {
        
client_print(attackerprint_chat"[%s] Congratulations! You are a level %i %s!"PREFIXPlayerLevel[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) {
    
menu_display(id g_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,"[%s] Tu pasirinkai %s"PREFIXCLASSES[i]);
    } else
    
client_print(id,print_chat,"[%s] Tu jau esi %s"PREFIXCLASSES[i]);
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE;
}
public 
client_connect(id)
{
    
//if(get_pcvar_num(gCvar_Enable) == 1)
        
LoadData(id);
}
public 
client_disconnect(id)
{
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
SaveData(id);
    
PlayerXP[id]    = 0;
    
PlayerLevel[id]    = 0;
    
PlayerClass[id]    = 0;
}
public 
SaveData(id)
{
    new 
AuthID[35];
    
get_user_authid(idAuthID34);
    
    new 
vaultkey[64]
    new 
vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_set(g_Vaultvaultkeyvaultdata);
    return 
PLUGIN_CONTINUE;
}
public 
LoadData(id)
{
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);
    
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_get(g_Vaultvaultkeyvaultdata,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;
}
// doti/paimti XP addaon by Drakeris
public cmd_doti_expidlevel,cid )
{
    if( ! 
cmd_access idlevelcid) )
        return 
PLUGIN_HANDLED;
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv(2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    if( ! 
player 
        return 
PLUGIN_HANDLED;
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] += expnum;
    switch( 
get_cvar_num "amx_show_activity" ) ) {
        case 
1client_print0print_chat"ADMINAS: Dave %i Tasku %s."expnumplayer_name );
            case 
2client_print0print_chat"ADMINAS %s: Dave %i tasku %s."admin_nameexpnumplayer_name );
        }
    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}

public 
cmd_paimti_expidlevel,cid )
{
    if( ! 
cmd_access idlevelcid) )
        return 
PLUGIN_HANDLED;
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    if( ! 
player 
        return 
PLUGIN_HANDLED;
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] -= expnum;
    switch(
get_cvar_num("amx_show_activity")){
        case 
1client_print0print_chat"ADMINAS: ateme %i taskus is %s."expnumplayer_name );
            case 
2client_print0print_chat"ADMINAS %s: ateme %i taskus is %s."admin_nameexpnumplayer_name );
        }
    
client_printplayerprint_chat"[%s] Tu praradai %i exp (isviso: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}  
public 
skill(id)
{
    if (
PlayerClass[id] == CLASS_Houmeris)
    {     
        
set_user_health(id100); // Jei tu esi homeris tau duoda 100hp
        
give_item(id,"weapon_knife");
        
set_user_armor(id300);
        
cs_reset_user_model(id)
        
cs_set_user_model(id"admin_te")
    }
    if (
PlayerClass[id] == CLASS_Bartas)
    {     
        
set_user_health(id125); // Jei tu esi Bartas tau duoda 125hp
        
set_user_gravity(id0.8 
        
fm_give_item(id,"weapon_hegrenade")
    }
    if (
PlayerClass[id] == CLASS_Liza)
    {     
        
set_user_health(id125); // Jei tu esi Liza tau duoda 125hp
        
set_user_maxspeed(id1.5)
        
    }      
    if (
PlayerClass[id] == CLASS_Marge)
    {     
        
set_user_health(id500); // Jei tu esi Marge tau duoda 500hp
        
give_item(id,"weapon_knife")
        
    }

That (kind of) works... You don't get any Debug errors and the menu is shown, but wont go away.
(I commented out a line in the plugin_init (points at nonexistent function) I also commented out precache script (Didn't have the model))

The only thing I changed was this:
PHP Code:
new gCvar_KillgCvar_KnifegCvar_HSgCvar_Enableg_Vault
into this:
PHP Code:
new gCvar_Kill;
new 
gCvar_Knife;
new 
gCvar_HS;
new 
gCvar_Enable;
new 
g_Vault
(I did the same thing on another place ;))
__________________
^^,

Last edited by MrOpposite; 07-29-2009 at 19:11.
MrOpposite is offline
drakeris
Senior Member
Join Date: Jul 2009
Old 08-02-2009 , 13:55   Re: need help with...
Reply With Quote #7

okay so maybe them doel is the problem?
well still i need help ;/
drakeris is offline
Xellath
Veteran Member
Join Date: Dec 2007
Location: Sweden
Old 08-02-2009 , 14:16   Re: need help with...
Reply With Quote #8

With what exactly?

Just seems to me that you copied it and changed some lines and ended up getting errors.. I am pretty sure the original code works.

Anyway, I think your problem is the lack of indentation. When you have figured out what that is, then indent the code. If you still have errors, report back. (I do see some un-related errors, such as tag mismatches.)
__________________
Achievements API - a simple way for you to create your OWN custom achievements!

Last edited by Xellath; 08-02-2009 at 14:21. Reason: Typo..
Xellath is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 08-02-2009 , 19:29   Re: need help with...
Reply With Quote #9

The code that you posted (in the first post) is incomplete. You are missing several functions. That is why it's not working. Basically the whole plugin is failing.

The three functions that are missing are commented in plugin_init(). Also, I change your if statements in skill() to elseifs but you really should use a switch(). I cleaned up the style too .

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <fakemeta_util>
#include <cstrike>

#define MAXCLASSES 6
#define PREFIX "Simpsonu Modas"

enum {
    
PLAYERLEVEL_1,
    
PLAYERLEVEL_2,
    
PLAYERLEVEL_3// How many Levels
    
PLAYERLEVEL_4,
    
PLAYERLEVEL_5,
    
PLAYERLEVEL_6
}
enum {
    
CLASS_NONE 0,
    
CLASS_Megie,
    
CLASS_Marge,
    
CLASS_Bartas// Add your Classes there..
    
CLASS_Liza,
    
CLASS_Houmeris,
}
new const 
CLASSES[MAXCLASSES][] = {
    
"None",
    
"Mege",
    
"Marge",
    
"Bartas",
    
"Liza",
    
"Houmeris"
};
new const 
LEVELS[7] = {
    
100,
    
200,
    
400,
    
800,
    
1600,
    
3200,
    
4000
};
new 
PlayerXP[33], PlayerLevel[33], PlayerClass[33];
new 
gCvar_KillgCvar_KnifegCvar_HSgCvar_Enableg_Vault;

public 
plugin_init()
{
    
register_plugin("Simpsons Mod""1.0""Drakeris");
    
register_event("DeathMsg""eDeath""a");
    
// register_event("ResetHUD", "resetModel", "b")
    
register_event("ResetHUD""skill""be");
    
    
gCvar_Enable register_cvar("xp_save""1");
    
gCvar_Kill register_cvar("xp_per_kill""20");
    
gCvar_HS register_cvar("xp_hs_bonus""20");
    
gCvar_Knife register_cvar("xp_Knife_bonus""20");
    
g_Vault nvault_open("animod");

    
// register_concmd("amx_paimt_exp", "cmd_paimt_exp", ADMIN_KICK, "<target> <amount>");
    // register_concmd("amx_dot_exp", "cmd_dot_exp", ADMIN_KICK, "<target> <amount>");

    
register_clcmd("say /class""ChangeClass");
    
register_clcmd("say_team /class""ChangeClass");
    
register_clcmd("say /level""ShowHud");
    
register_clcmd("say_team /level""ShowHud");
}

public 
plugin_precache()
{
    
precache_model("models/player/witch/witch.mdl")
}

public 
eDeath()
{
    new 
attacker read_data);
    new 
headshot read_data);
    new 
clipammoweapon get_user_weapon(attackerclipammo);
    
PlayerXP[attacker] += get_pcvar_num(gCvar_Kill);
    if(
headshot)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_HS);
    if(
weapon == CSW_KNIFE)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_Knife);
    while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]])
    {
        
client_print(attackerprint_chat"[%s] Congratulations! You are a level %i %s!"PREFIXPlayerLevel[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)
{
    
client_print(idprint_chat"Hello")
    new 
menu menu_create("Class Menu" "Class_Handle");
    
menu_additem(menu ,"Marge""1" 0);
    
menu_additem(menu ,"Bartas""2" 0);
    
menu_additem(menu ,"Liza""3" 0);
    
menu_additem(menu ,"Houmeris""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,"[%s] Tu pasirinkai %s"PREFIXCLASSES[i]);
    }
    else
    {
        
client_print(id,print_chat,"[%s] Tu jau esi %s"PREFIXCLASSES[i]);
    }
    
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE;
}

public 
client_connect(id)
{
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
LoadData(id);
}

public 
client_disconnect(id)
{
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
SaveData(id);
    
    
PlayerXP[id]    = 0;
    
PlayerLevel[id]    = 0;
    
PlayerClass[id]    = 0;
}

public 
SaveData(id)
{
    new 
AuthID[35];
    
get_user_authid(idAuthID34);

    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_set(g_Vaultvaultkeyvaultdata);
    return 
PLUGIN_CONTINUE;
}

public 
LoadData(id)
{
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);

    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_get(g_Vaultvaultkeyvaultdata,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;
}

// doti/paimti XP addaon by Drakeris
public cmd_doti_expidlevel,cid )
{
    if( ! 
cmd_access idlevelcid) )
        return 
PLUGIN_HANDLED;
    
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv(2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    
    if( ! 
player )
        return 
PLUGIN_HANDLED;
    
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] += expnum;
    
    switch( 
get_cvar_num "amx_show_activity" ) )
    {
        case 
1client_print0print_chat"ADMINAS: Dave %i Tasku %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMINAS %s: Dave %i tasku %s."admin_nameexpnumplayer_name );
    }
    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}

public 
cmd_paimti_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
    return 
PLUGIN_HANDLED;
    
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    if( !
player )
        return 
PLUGIN_HANDLED;
    
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] -= expnum;
    switch(
get_cvar_num("amx_show_activity"))
    {
        case 
1client_print0print_chat"ADMINAS: ateme %i taskus is %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMINAS %s: ateme %i taskus is %s."admin_nameexpnumplayer_name );
    }
    
client_printplayerprint_chat"[%s] Tu praradai %i exp (isviso: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}

public 
skill(id)
{
    if(
PlayerClass[id] == CLASS_Houmeris)
    {
        
set_user_health(id100); // Jei tu esi homeris tau duoda 100hp
        
give_item(id,"weapon_knife");
        
set_user_armor(id300);
        
cs_reset_user_model(id)
        
cs_set_user_model(id"admin_te")
    } 
    else if(
PlayerClass[id] == CLASS_Bartas)
    {
        
set_user_health(id125); // Jei tu esi Bartas tau duoda 125hp
        
set_user_gravity(id0.8 )
        
fm_give_item(id,"weapon_hegrenade")
    }
    else if(
PlayerClass[id] == CLASS_Liza)
    {
        
set_user_health(id125); // Jei tu esi Liza tau duoda 125hp
        
set_user_maxspeed(id1.5)

    }
    else if(
PlayerClass[id] == CLASS_Marge)
    {
        
set_user_health(id500); // Jei tu esi Marge tau duoda 500hp
        
give_item(id,"weapon_knife")
    }

__________________
fysiks is offline
Reply


Thread Tools
Display Modes

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 18:29.


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