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 , 08:04   Re: Help with a Knife Shop. (Natives)
Reply With Quote #5

Hi,

I almost got it, only getting one error now.

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 169

1 Error.
This line is wrong:

PHP Code:
hnsxp_set_user_xp(client, (hnsxp_get_user_xp(client) - str_to_num(g_knifecosts[item])),1); 


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 
g_xp[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 XP 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_natives()
{
    
register_library("hns_xp");
    
register_native("hnsxp_get_user_xp""_get_xp");
    
register_native("hnsxp_set_user_xp""_set_xp");
}

public 
_get_xp(pluginparams)
{
    return 
g_xp[get_param(1)];
}
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_get_user_xp(client) < str_to_num(g_knifecosts[item]))
    {
        
ChatColor(client,"%s %s",PORTAL,MONEY);
        return;
    }
    
    
hnsxp_set_user_xp(client, (hnsxp_get_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( )
        }
    }

Sorry if i am asking too much, but i really want to get this right.

Thank you
__________________
Learning amxx/pawn and all that good stuff.

Last edited by Going Dutch; 01-14-2014 at 08:06.
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