|
Member
|

01-14-2014
, 07:06
Re: Help with a Knife Shop. (Natives)
|
#3
|
Hello,
I have removed the g_xp array and replaced the _get_xp with hnsxp_sub_user_xp.
I am still getting some errors, i know i am probably doing something terribly stupid..
Could you please explain to me how i could do this right?
PHP Code:
native hnsxp_get_user_xp(client);
native hnsxp_set_user_xp(client, xp);
stock hnsxp_add_user_xp(client, xp)
{
return hnsxp_set_user_xp(client, hnsxp_get_user_xp(client) + xp);
}
stock hnsxp_sub_user_xp(client, xp)
{
return hnsxp_set_user_xp(client, hnsxp_get_user_xp(client) - xp);
}
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#define SKINS 11
new g_knife[33];
new const g_knifemodels[SKINS][64] = {
"models/v_knife.mdl", // The default model, don't touch
"models/v_knife.mdl",
"models/v_knife.mdl",
"models/v_knife.mdl",
"models/v_knife.mdl",
"models/v_knife.mdl",
"models/v_knife.mdl",
"models/v_knife.mdl",
"models/v_knife.mdl",
"models/v_knife.mdl",
"models/v_knife.mdl"
}
new const g_knifenames [SKINS][32] = {
"Default Knife",
"Dorex Knife",
"Lightning Knife",
"Master Knife",
"Traker Knife",
"Ultimate Knife",
"Ice Knife",
"Bloody Knife",
"Evolution Knife",
"Simple Knife",
"Crool Knife"
}
new g_knifecosts[SKINS][] = {
"0",
"5",
"5",
"5",
"5",
"5",
"10",
"10",
"15",
"15",
"15"
}
new g_knifeflag[SKINS][] = {
"0",
"0",
"0",
"0",
"0",
"0",
"1",
"1",
"1",
"1",
"1"
}
static const PORTAL [ ] = "^4[Website coming soon]^1"
static const DIE [ ] = "You can not open this shop, you must be alive !"
static const MONEY [ ] = "You dont have enough money for this knife skin !"
static const BUY [ ] = "You have bought ^3"
#define PLUGIN ""
#define VERSION ""
#define AUTHOR ""
#define VIP_FLAG ADMIN_LEVEL_G
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /knifeshop", "cmd_knife")
register_clcmd("say /knife", "cmd_knife")
register_event("CurWeapon","Event_CurWeapon","be","1=1");
}
public plugin_precache(){
for (new i; i <= sizeof g_knifemodels; i++)
precache_model(g_knifemodels[i]);
}
public client_putinserver(client)
g_knife[client] = 0;
public Event_CurWeapon(client){
if (read_data(2) == CSW_KNIFE)
set_pev(client,pev_viewmodel2,g_knifemodels[g_knife[client]]);
}
public cmd_knife(id){
new szSome[256];
if(is_user_alive(id))
{
new knife = menu_create("Select your Knife", "cmd_knife_h");
new cb = menu_makecallback("knife_callback");
for (new i; i <= SKINS - 1; i++)
{
formatex(szSome,255,"%s \r[%i$] \y%s",g_knifenames[i],str_to_num(g_knifecosts[i]),(str_to_num(g_knifeflag[i]) ? "[VIP]":""));
menu_additem(knife,szSome,g_knifeflag[i],.callback=cb);
}
menu_display(id,knife);
}
else
ChatColor(id, "%s %s", PORTAL, DIE);
}
public knife_callback(client,knife,item){
new access,callback,szInfo[8],szName[32];
menu_item_getinfo(knife,item,access,szInfo,8,szName,32,callback);
if (str_to_num(szInfo) == 1 && !(get_user_flags(client) & VIP_FLAG))
return ITEM_DISABLED;
return ITEM_ENABLED;
}
public cmd_knife_h(client, knife, item)
{
if(item == MENU_EXIT)
{
menu_destroy(knife);
return;
}
if (hnsxp_sub_user_xp(client) < str_to_num(g_knifecosts[item]))
{
ChatColor(client,"%s %s",PORTAL,MONEY);
return;
}
hnsxp_sub_user_xp(client,(hnsxp_sub_user_xp(client) - str_to_num(g_knifecosts[item])),1);
g_knife[client] = item;
ChatColor(client,"%s %s%s",PORTAL,BUY,g_knifenames[g_knife[client]]);
}
stock ChatColor(const id, const input[], any:...) {
new count = 1, players[ 32 ]
static msg[ 191 ]
vformat( msg, 190, input, 3 )
replace_all( msg, 190, "!g", "^4" )
replace_all( msg, 190, "!y", "^1" )
replace_all( msg, 190, "!t", "^3" )
if(id) players[ 0 ] = id;
else get_players( players, count, "ch" )
for(new i = 0; i < count; i++)
{
if( is_user_connected( players[ i ] ) )
{
message_begin( MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[ i ] )
write_byte( players[ i ] )
write_string( msg )
message_end( )
}
}
}
Quote:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team
Error: Number of arguments does not match definition on line 154
Error: Number of arguments does not match definition on line 160
2 Errors.
|
Thank you
__________________
Learning amxx/pawn and all that good stuff.
|
|