AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Runtime Errors [Solved] (https://forums.alliedmods.net/showthread.php?t=51673)

mateo10 02-22-2007 06:09

Runtime Errors [Solved]
 
Hello, I get these runtime errors when I'm trying to run this plugin on my server.
Code:

L 02/22/2007 - 12:00:27: String formatted incorrectly - parameter 4 (total 4)
L 02/22/2007 - 12:00:27: [AMXX] Displaying debug trace (plugin "mattexpmod.amxx")
L 02/22/2007 - 12:00:27: [AMXX] Run time error 25: parameter error
L 02/22/2007 - 12:00:27: [AMXX]    [0] mattexpmod.sma::upgradesmenu (line 323)
L 02/22/2007 - 12:00:27: [AMXX]    [1] mattexpmod.sma::logevent_round_start (line 67)

This is the plugin code:
Code:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <vault> #include <fun> new PlayerLevel[33]; new PlayerXP[33]; new messagetext; //PCvars new pcvar_xpperkill, pcvar_tkloss, pcvar_savexp, pcvar_buyxp, pcvar_hsincrease, pcvar_buyxpprice1, pcvar_buyxpprice2, pcvar_buyxpprice3, pcvar_buyxpamount1,pcvar_buyxpamount2, pcvar_buyxpamount3; new const LEVELS[10] = {     2000,     5000,     10000,     17000,     26000,     38000,     53000,     71000,     92000,     116000 } public plugin_init() {     register_plugin("MaTTe's Expirience Mod", "1.0", "MaTTe");         register_dictionary("mattexpmod.txt");         pcvar_xpperkill = register_cvar("mxpm_xpperkill", "250");     pcvar_tkloss = register_cvar("mxpm_tkloss", "150");     pcvar_savexp = register_cvar("mxpm_savexp", "1");     pcvar_buyxp = register_cvar("mxpm_buyxp", "1");     pcvar_hsincrease = register_cvar("mxpm_hsincrease", "50");     pcvar_buyxpprice1 = register_cvar("mxpm_buyxpprice1", "5000");     pcvar_buyxpprice2 = register_cvar("mxpm_buyxpprice2", "10000");     pcvar_buyxpprice3 = register_cvar("mxpm_buyxpprice3", "15000");     pcvar_buyxpamount1 = register_cvar("mxpm_buyxpamount1", "250");     pcvar_buyxpamount2 = register_cvar("mxpm_buyxpamount2", "500");     pcvar_buyxpamount3 = register_cvar("mxpm_buyxpamount3", "750");         register_concmd("mxpm_setxp", "action_setxp", ADMIN_LEVEL_A, "<name> <amount> ");     register_concmd("mxpm_setlevel", "action_setlevel", ADMIN_LEVEL_A, "<name> <amount> ");         register_clcmd("say !buyxp", "action_buyxp");     register_clcmd("say !transferxp", "action_transferxp");     register_clcmd("say !upgrades", "upgradesmenu");         register_menucmd(register_menuid("choose_upgrades"), 1023, "action_upgradesmenu");         register_event("DeathMsg", "event_deathmsg", "a");         register_logevent("logevent_round_start", 2, "1=Round_Start");         messagetext = get_user_msgid("StatusText"); } public logevent_round_start() {     new players[32], num;     get_players(players, num);     new player;         for(new i=0;i<num;i++) {         player = players[i];         upgradesmenu(player);         ShowHUD(player);     } } public event_deathmsg() {     new killer = read_data(1);     new victim = read_data(2);     new headshot = read_data(3);         new killername[32];     get_user_name(killer, killername, 31);         new victimname[32];     get_user_name(victim, victimname, 31);         new killer_team = get_user_team(killer);     new victim_team = get_user_team(victim);         new hskill = get_pcvar_num(pcvar_xpperkill) + get_pcvar_num(pcvar_hsincrease);     new kill = get_pcvar_num(pcvar_xpperkill);         if(killer_team == victim_team) {         PlayerXP[killer] -= get_pcvar_num(pcvar_tkloss);         client_print(killer, print_chat, "%L", "KILL_TK");     }         if(headshot && killer_team != victim_team) {         PlayerXP[killer] += hskill;         client_print(killer, print_chat, "%L", "KILL_HS", hskill, victimname);     } else if(killer_team != victim_team) {         PlayerXP[killer] += kill;         client_print(killer, print_chat, "%L", "KILL", kill, victimname)     }         if(PlayerXP[killer] < LEVELS[PlayerLevel[killer]]) {         PlayerLevel[killer] -= 1;                 client_print(killer, print_chat, "%L", "LEVEL_LOST");                 if(get_pcvar_num(pcvar_savexp))             action_savexp(killer);                     ShowHUD(killer);     }         if(PlayerXP[killer] >= LEVELS[PlayerLevel[killer]]) {         PlayerLevel[killer] += 1;                 client_print(killer, print_chat, "%L", "LEVEL_UP");                 if(get_pcvar_num(pcvar_savexp))             action_savexp(killer);                     ShowHUD(killer);     }     ShowHUD(killer); } public client_connect(id) {     new authid[32];     get_user_authid(id, authid, 31);         if(get_pcvar_num(pcvar_savexp)) {         action_loadxp(id);         client_print(id, print_chat, "%L", "XP_LOADED", authid);     } } public client_disconnect(id) {     new authid[32];     get_user_authid(id, authid, 31);         if(get_pcvar_num(pcvar_savexp)) {         action_savexp(id);     } } public action_setxp(id) {     new arg[32], arg2[12];     read_argv(1, arg, 31);     read_argv(2, arg2, 11);         new target = cmd_target(id, arg);     new amount = str_to_num(arg2);         new target_name[32];     get_user_name(target, target_name, 31);         PlayerXP[target] += amount;     client_print(target, print_chat, "%L", "XP_GOTFROMADMIN", amount);         if(PlayerXP[target] >= LEVELS[PlayerLevel[target]]) {         PlayerLevel[target] += 1;                 client_print(target, print_chat, "%L", "LEVEL_UP");                 if(get_pcvar_num(pcvar_savexp))             action_savexp(target);                     ShowHUD(target);     }         ShowHUD(target);     console_print(id, "%L", "SETXP_SUCCEDED"); } public action_setlevel(id) {     new arg[32], arg2[12];     read_argv(1, arg, 31);     read_argv(2, arg2, 11);         new target = cmd_target(id, arg);     new amount = str_to_num(arg2);         new target_name[32];     get_user_name(target, target_name, 31);         PlayerLevel[target] = amount;     client_print(target, print_chat, "%L", "LEVEL_GOTFROMADMIN", amount);         ShowHUD(target); } public action_buyxp(id) {     if(!get_pcvar_num(pcvar_buyxp))         return PLUGIN_HANDLED;             new buyxpprice1 = get_pcvar_num(pcvar_buyxpprice1);     new buyxpprice2 = get_pcvar_num(pcvar_buyxpprice2);     new buyxpprice3 = get_pcvar_num(pcvar_buyxpprice3);         new buyxpamount1 = get_pcvar_num(pcvar_buyxpamount1);     new buyxpamount2 = get_pcvar_num(pcvar_buyxpamount2);     new buyxpamount3 = get_pcvar_num(pcvar_buyxpamount3);         new money = cs_get_user_money(id);         if(money < buyxpprice1)     {         client_print(id, print_chat, "%L", "BUYXP_NOMONEY");         return PLUGIN_HANDLED;     }     else if(money >= buyxpprice1)     {         cs_set_user_money(id, money - buyxpprice1);         PlayerXP[id] += buyxpamount1;         client_print(id, print_chat, "%L", "BUYXP", buyxpamount1, buyxpprice1);     }     else if(money >= buyxpprice2)     {         cs_set_user_money(id, money - buyxpprice2);         PlayerXP[id] += buyxpamount2;         client_print(id, print_chat, "%L", "BUYXP", buyxpamount2, buyxpprice2);     }     else if(money >= buyxpprice3)     {         cs_set_user_money(id, money - buyxpprice3);         PlayerXP[id] += buyxpamount3;         client_print(id, print_chat, "%L", "BUYXP", buyxpamount3, buyxpprice3);     }         if(PlayerXP[id] >= LEVELS[PlayerLevel[id]]) {         PlayerLevel[id] += 1;                 client_print(id, print_chat, "%L", "LEVEL_UP");                 if(get_pcvar_num(pcvar_savexp))             action_savexp(id);                     ShowHUD(id);     }     ShowHUD(id);         return PLUGIN_HANDLED; } public action_transferxp(id) {     new arg[32], arg2[6];     read_argv(1, arg, 31);     read_argv(2, arg2, 5);         new receiver = cmd_target(id, arg, 3);     new amount = str_to_num(arg2);         new givername[32];     get_user_name(id, givername, 31);         new receivername[32];     get_user_name(receiver, receivername, 31);         PlayerXP[receiver] += amount;     PlayerXP[id] -= amount;         client_print(id, print_chat, "%L", "TRANSFERXP_GAVEXP", amount, receivername);     client_print(receiver, print_chat, "%L", "TRANSFERXP_GOTXP", amount, givername);         if(PlayerXP[receiver] >= LEVELS[PlayerLevel[receiver]]) {         PlayerLevel[receiver] += 1;                 client_print(receiver, print_chat, "%L", "LEVEL_UP");                 if(get_pcvar_num(pcvar_savexp))             action_savexp(receiver);                     ShowHUD(receiver);     }         if(PlayerXP[id] < LEVELS[PlayerLevel[id]]) {         PlayerLevel[id] -= 1;                 client_print(id, print_chat, "%L", "LEVEL_LOST");                 if(get_pcvar_num(pcvar_savexp))             action_savexp(id);                     ShowHUD(id);     }         ShowHUD(receiver);     ShowHUD(id); } public action_savexp(id) {     new authid[32];     get_user_authid(id, authid, 31);         new vaultdata[64], vaultkey[64];         format(vaultkey, 63, "PLAYER-%s-xp", authid);     format(vaultdata, 63, "%d", PlayerXP[id]);     set_vaultdata(vaultkey, vaultdata);         format(vaultkey, 63, "PLAYER-%s-level", authid);     format(vaultdata, 63, "%d", PlayerLevel[id]);     set_vaultdata(vaultkey, vaultdata); } public action_loadxp(id) {     new authid[32];     get_user_authid(id, authid, 31);         new vaultdata[64], vaultkey[64];         format(vaultkey, 63, "PLAYER-%s-xp", authid);     get_vaultdata(vaultkey, vaultdata, 63);     PlayerXP[id] = str_to_num(vaultdata);         format(vaultkey, 63, "PLAYER-%s-level", authid);     get_vaultdata(vaultkey, vaultdata, 63);     PlayerLevel[id] = str_to_num(vaultdata); } public upgradesmenu(id) {     new menu[192];     new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9;             format(menu, 191, "%L", "UPGRADES_MENU");     show_menu(id, keys, menu, -1, "choose_upgrades");     return PLUGIN_HANDLED; } public action_upgradesmenu(id, key) {     switch(key) {         case 0:         {                           if(PlayerLevel[id] < 1)                 return PLUGIN_HANDLED;                             set_user_health(id, 125);             client_print(id, print_chat, "%L", "HEALTH");         }         case 1:         {                           if(PlayerLevel[id] < 3)                 return PLUGIN_HANDLED;                             regeneration(id);             client_print(id, print_chat, "%L", "REGENERATION");         }         case 2:         {                           if(PlayerLevel[id] < 4)                 return PLUGIN_HANDLED;                             resupply(id);             client_print(id, print_chat, "%L", "RESUPPLY");         }         case 3:         {                           if(PlayerLevel[id] < 2)                 return PLUGIN_HANDLED;                             set_user_armor(id, 150);             client_print(id, print_chat, "%L", "ARMOR");         }         case 4:         {                       if(PlayerLevel[id] < 5)                 return PLUGIN_HANDLED;                             set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 50);             client_print(id, print_chat, "%L", "STEALTH");         }     }     return PLUGIN_HANDLED; } public regeneration(id) {     set_user_health(id, get_user_health(id) + 4);     set_task(1.0, "regeneration", id); } public resupply(id) {     new wpnid, ammo, clip = get_user_weapon(id, clip, ammo);         cs_set_user_bpammo(id, wpnid, cs_get_user_bpammo(id, wpnid) + 1);     set_task(5.0, "resupply", id); } public ShowHUD(id) {     new HUD[51];     format(HUD, 50, "[MXPM] Level; %i XP; %i", PlayerLevel[id], PlayerXP[id]);         message_begin(MSG_ONE, messagetext, {0,0,0}, id)     write_byte(0);     write_string(HUD);     message_end();         return; }

Thanks,
MaTTe

Davidos 02-22-2007 06:17

Re: Runtime Errors
 
That upgrade menu is... looking... weird...

Sorry I ain't an expert but something tells me it's really wrong...

mateo10 02-22-2007 06:42

Re: Runtime Errors
 
What is wrong with it?
It exactly as it should be. BTW the %L is for multi-language.

Davidos 02-22-2007 07:19

Re: Runtime Errors
 
I dunno what's wrong... yet... ah well...

OFT- why would you write return PLUGIN_HANDELED; there and on other stuff you don't?

<I really don't know...>

mateo10 02-22-2007 08:09

Re: Runtime Errors
 
1 Attachment(s)
Is there something wrong with my for statement?
I'll attach my language file here.

[ --<-@ ] Black Rose 02-22-2007 15:49

Re: Runtime Errors
 
Shouldn't it be
Code:
client_print(id, print_chat, "%L", id, "HEALTH");
For using "id's" lang.

mateo10 02-23-2007 05:05

Re: Runtime Errors
 
Maybe it is, but that isn't my problem.

[ --<-@ ] Black Rose 02-23-2007 09:52

Re: Runtime Errors
 
Quote:

Originally Posted by mateo10 (Post 444235)
Maybe it is, but that isn't my problem.

How do you know?

mateo10 02-23-2007 15:20

Re: Runtime Errors
 
Omg, that was the problem. Thank you very much.


All times are GMT -4. The time now is 00:37.

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