AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Error: Host_Error: Write_Dest:Parm: not a client - wtf? (https://forums.alliedmods.net/showthread.php?t=24541)

Jordan 02-25-2006 18:31

Error: Host_Error: Write_Dest:Parm: not a client - wtf?
 
Ok, so I thought I fixed this, but I guess not.

Code:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <vault> #define CLASS_NOTHING 0 #define CLASS_SHADOW 1 #define CLASS_SWIFT 2 #define CLASS_SHINOBI 3 #define CLASS_SEER 4 #define MAXCLASSES 5 new PlayerClass[33] new PlayerXP[33] new PlayerLevel[33] new CT[] = "models/player/ninja/ninja_ct.mdl" new T[] = "models/player/ninja/ninja_t.mdl" new const CLASSES[MAXCLASSES][] = {     "None",     "Shadow",     "Swift",     "Shinobi",     "Seer" } new msgtext new const LEVELS[10] = {     100,       200,       400,       800,     1600,     3200,     6400,     12800,     25600,     51200 } public plugin_init() {     register_plugin("Ninja Mod","1.1","Ninja Mod Team")     register_cvar("ninja_on","1")       register_cvar("ninja_xppk","20")     register_cvar("ninja_saved","1")         register_concmd("ninja_xp","cmd_xp",ADMIN_KICK,"<user> <xp to add> - Adds XP to the target player")     register_concmd("ninja_class","cmd_class",ADMIN_KICK,"<user> <class> - Sets the target player's class")     register_concmd("ninja_level","cmd_level",ADMIN_KICK,"<user> <level> - Sets the target player's level")         register_clcmd("say /changeninja","ChooseClass")     register_clcmd("say_team /changeninja","ChooseClass")     register_clcmd("say /savexp","SaveXP")     register_clcmd("say_team /savexp","SaveXP")     register_clcmd("say /ninjahelp","Help")     register_clcmd("say_team /ninjahelp","Help")         register_menucmd(register_menuid("menu_ChooseClass"),1023,"DoChooseClass");           register_event("ResetHUD","ResetHUD","b")     register_event("DeathMsg","DeathMsg","a")         msgtext = get_user_msgid("StatusText")     set_task(10.0,"ShowHUD") } public plugin_precahce() {     precache_model(CT)     precache_model(T) } public client_connect(id) {     if(get_cvar_num("ninja_saved") == 1)     {         LoadXP(id)     } } public client_disconnect(id) {     if(get_cvar_num("ninja_saved") == 1)     {         SaveXP(id)     } } public SaveXP(id) {     new authid[32];       get_user_authid(id,authid,31);           new vaultkey[64], vaultdata[64];           format(vaultkey,63,"NINJA-%s-class",authid);       format(vaultdata,63,"%d",PlayerClass[id]);       set_vaultdata(vaultkey,vaultdata);           format(vaultkey,63,"NINJA-%s-xp",authid);       format(vaultdata,63,"%d",PlayerXP[id]);       set_vaultdata(vaultkey,vaultdata);           format(vaultkey,63,"NINJA-%s-level",authid);       format(vaultdata,63,"%d",PlayerLevel[id]);       set_vaultdata(vaultkey,vaultdata);         client_print(id,print_chat,"[Ninja Mod] XP saved successfully.") }   public LoadXP(id) {     new authid[32];       get_user_authid(id,authid,31);           new vaultkey[64], vaultdata[64];           format(vaultkey,63,"NINJA-%s-class",authid);       get_vaultdata(vaultkey,vaultdata,63);       PlayerClass[id] = str_to_num(vaultdata);           format(vaultkey,63,"NINJA-%s-xp",authid);       get_vaultdata(vaultkey,vaultdata,63);       PlayerXP[id] = str_to_num(vaultdata);             format(vaultkey,63,"NINJA-%s-level",authid);       get_vaultdata(vaultkey,vaultdata,63);     PlayerLevel[id] = str_to_num(vaultdata);         client_print(id, print_chat, "[Ninja Mod] XP Loaded!")     client_print(id, print_chat, "[Ninja Mod] You are a %s with level %s and %s XP", PlayerClass[id], PlayerLevel[id], PlayerXP[id]) } public Help(id) {     if(get_cvar_num("ninja_on") == 0)         return PLUGIN_HANDLED         show_motd(id,"addons/amxmodx/configs/ninjahelp.txt")     return PLUGIN_HANDLED } public ChooseClass(id) {     new menu[192]       format(menu,191,"Ninja Mod: Choose Class^n1. Shadow^n2. Swift^n3. Shinobi^n4. Seer^n^n0. Exit")       new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4     show_menu(id,keys,menu,-1,"menu_ChooseClass")     return PLUGIN_CONTINUE } public DoChooseClass(id, key) {     if(key == 0)     {         if(PlayerClass[id] == CLASS_SHADOW)             {                   client_print(id,print_chat,"[Ninja Mod] You are already this Class, please choose another.")                 ChooseClass(id)                 return PLUGIN_HANDLED             }           PlayerClass[id] = CLASS_SHADOW         find_team(id)         client_print(id,print_chat,"[Ninja Mod] Shadow Class selected.")     }             if(key == 1)     {         if(PlayerClass[id] == CLASS_SWIFT)             {                   client_print(id,print_chat,"[Ninja Mod] You are already this Class, please choose another.")                 ChooseClass(id)                 return PLUGIN_HANDLED             }                 PlayerClass[id] = CLASS_SWIFT         find_team(id)         client_print(id,print_chat,"[Ninja Mod] Swift Class selected.")     }         if(key == 2)     {         if(PlayerClass[id] == CLASS_SHINOBI)             {                   client_print(id,print_chat,"[Ninja Mod] You are already this Class, please choose another.")                 ChooseClass(id)                 return PLUGIN_HANDLED             }                 PlayerClass[id] = CLASS_SHINOBI         find_team(id)         client_print(id, print_chat, "[Ninja Mod] Shinobi Class selected.")     }         if(key == 3)     {         if(PlayerClass[id] == CLASS_SEER)             {                   client_print(id,print_chat,"[Ninja Mod] You are already this Class, please choose another.")                 ChooseClass(id)                 return PLUGIN_HANDLED             }                 PlayerClass[id] = CLASS_SEER         find_team(id)         client_print(id,print_chat,"[Ninja Mod] Seer Class selected.")     }         if(key == 9)     {         return PLUGIN_HANDLED;     }     ShowHUD(id)     return PLUGIN_HANDLED } public ResetHUD(id) {     if(PlayerClass[id] == CLASS_NOTHING)     {         ChooseClass(id)         return PLUGIN_HANDLED;     }     return PLUGIN_HANDLED } public DeathMsg() {     if(get_cvar_num("ninja_on") == 0)     {         return PLUGIN_HANDLED;     }     new attacker = read_data(1)         if(PlayerClass[attacker] == CLASS_NOTHING)     {         return PLUGIN_HANDLED;     }         PlayerXP[attacker] += get_cvar_num("ninja_xppk")           if(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]])     {         PlayerLevel[attacker] += 1         client_print(attacker,print_chat,"[Ninja Mod] Congratulations! You are now level %i!", PlayerLevel[attacker])         if(get_cvar_num("ninja_saved") == 1)         {             SaveXP(attacker)         }         ShowHUD(attacker)     }         ShowHUD(attacker)     return PLUGIN_CONTINUE } public ShowHUD(id)     {       new HUD[51]     format(HUD,50,"[%s] Level: %i XP: %i/%i",CLASSES[PlayerClass[id]],PlayerLevel[id],PlayerXP[id],LEVELS[PlayerLevel[id]])           message_begin(MSG_ONE, msgtext, {0,0,0}, id)       write_byte(0)       write_string(HUD)       message_end()       return PLUGIN_CONTINUE }   public cmd_xp(id,level,cid) {     if(!cmd_access(id,level,cid,3))     return PLUGIN_HANDLED         new arg[32], arg2[32]     read_argv(1,arg,31)     read_argv(2,arg2,31)         new target=cmd_target(id,arg,2)         if(!target)     return PLUGIN_HANDLED         PlayerXP[target] += str_to_num(arg2)         return PLUGIN_HANDLED } public cmd_class(id,level,cid) {     if(!cmd_access(id,level,cid,3))     return PLUGIN_HANDLED         new arg[32], arg2[32]     read_argv(1,arg,31)     read_argv(2,arg2,31)         new target=cmd_target(id,arg,2)         if(!target)     return PLUGIN_HANDLED         if(equali(arg2,"shadow"))     {         PlayerClass[target] = CLASS_SHADOW         ShowHUD(target)     }     if(equali(arg2,"swift"))     {         PlayerClass[target] = CLASS_SWIFT         ShowHUD(target)     }     if(equali(arg2,"shinobi"))     {         PlayerClass[target] = CLASS_SHINOBI         ShowHUD(target)     }     if(equali(arg2,"seer"))     {         PlayerClass[target] = CLASS_SEER         ShowHUD(target)     }     client_print(target, print_chat, "[Ninja Mod] Admin has set your class to %s",arg2)     SaveXP(target)     return PLUGIN_HANDLED } public cmd_level(id,level,cid) {     if(!cmd_access(id,level,cid,3))     return PLUGIN_HANDLED         new arg[32], arg2[32]     read_argv(1,arg,31)     read_argv(2,arg2,31)         new target=cmd_target(id,arg,2)         if(!target)     return PLUGIN_HANDLED         PlayerLevel[target] = str_to_num(arg2)     client_print(target,print_chat,"[Ninja Mod] Admin has set your level to %i",str_to_num(arg2))     return PLUGIN_HANDLED } stock find_team(id) {     new CsTeams:team = cs_get_user_team(id)     if (team == CS_TEAM_T)     {         cs_set_user_model(id, T)     }     else if(team == CS_TEAM_CT)     {         cs_set_user_model(id, CT)     } }

Code I'm using now - I still get the message =\ Anyone know how to fix?

P.S. This is specifically for a dedicated server.

p3tsin 02-25-2006 18:41

Code:
set_task(10.0,"ShowHUD")
Code:
public ShowHUD(id)       {       new HUD[51]       format(HUD,50,"[%s] Level: %i XP: %i/%i",CLASSES[PlayerClass[id]],PlayerLevel[id],PlayerXP[id],LEVELS[PlayerLevel[id]])             message_begin(MSG_ONE, msgtext, {0,0,0}, id)       write_byte(0)       write_string(HUD)       message_end()       return PLUGIN_CONTINUE }

since there's no index param set, its 0 = not a client :)

Jordan 02-25-2006 20:25

Thank you :D


All times are GMT -4. The time now is 20:22.

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