Raised This Month: $ Target: $400
 0% 

Help with a Knife Shop. (Natives)


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Going Dutch
Member
Join Date: Dec 2013
Old 01-14-2014 , 07:06   Re: Help with a Knife Shop. (Natives)
Reply With Quote #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(clientxp);

stock hnsxp_add_user_xp(clientxp)
{
    return 
hnsxp_set_user_xp(clienthnsxp_get_user_xp(client) + xp);
}

stock hnsxp_sub_user_xp(clientxp)
{
    return 
hnsxp_set_user_xp(clienthnsxp_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(PLUGINVERSIONAUTHOR)
    
    
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<= sizeof g_knifemodelsi++)
        
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<= SKINS 1i++)
        {
            
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) == && !(get_user_flags(client) & VIP_FLAG))
        return 
ITEM_DISABLED;
    
    return 
ITEM_ENABLED;
}

public 
cmd_knife_h(clientknifeitem)
{
    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 1players32 ]
    static 
msg191 ]
    
vformatmsg190input)
    
    
replace_allmsg190"!g""^4" )
    
replace_allmsg190"!y""^1" )
    
replace_allmsg190"!t""^3" )
    
    
    if(
idplayers] = id
    else 
get_playersplayerscount"ch" )
    
    for(new 
0counti++)
    {
        if( 
is_user_connectedplayers] ) )
        {
            
message_beginMSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players] )  
            
write_byteplayers] )
            
write_stringmsg )
            
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.
Going Dutch is offline
 


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 16:51.


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