AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Plugin Error [NEW PROBLEM] (https://forums.alliedmods.net/showthread.php?t=60520)

X-Script 09-05-2007 17:49

Plugin Error [NEW PROBLEM]
 
NEW PROBLEM

-Read Post Below my second post-

[ --<-@ ] Black Rose 09-05-2007 17:52

Re: Arguements > Definition
 
cs_get_user_money(id, playercash - maincost)
I assume you meant to write "set".

X-Script 09-05-2007 17:53

Re: Arguements > Definition
 
Ahh, common typo error.
Thank you Black Rose, help appriciated.

X-Script 09-05-2007 18:00

Re: Plugin Error
 
Hm, it compiles fine and everything but when I open the menu up and attempt to select a Shoe it doesn't do anything; the hudmessage doesn't appear, the health / gravity / speed doesn't change but the menu destroys. Any idea why?

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Shoes Mod"
#define VERSION "1.0"
#define AUTHOR "X-Script"

new ShoesMod
new ShoesCost

public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_menucmd(register_menuid("Shoes Choose"),(1<<0)|(1<<1)|(1<<2)|(1<<3),"SelectShoes")
    
    
register_concmd("say /shoes""selectshoes")
    
register_concmd("say_team /shoes""selectshoes")
    
register_concmd("say /shoesinfo""shoesinfo")
    
register_concmd("say_team /shoesinfo""shoesinfo")
    
    
ShoesMod register_cvar("amx_shoesmod""1")
    
ShoesCost register_cvar("amx_shoesmod_cost""10000")
}

public 
client_putinserver(id)
{
    
set_task(11.0,"advertise",id)
}

public 
advertise(id)
{
    
client_print(idprint_chat"[ShoesMod] This server is running 'Shoes Mod' by X-Script VERSION 1.0!")
    
client_print(idprint_chat"[ShoesMod] Type /shoes too select a shoe, type /shoesinfo to display information!")
    return 
PLUGIN_HANDLED
}

public 
selectshoes(id)
{
    new 
menuBody[1024]
    
format(menuBody,1023,"ShoeMod Main Menu ^n^n 1. Gravity Shoes [+Gravity / -Speed]^n^n 2. Speed Shoes [+Speed / -Gravity]^n^n 3. Health Shoes [+Health / -Armor]^n^n^n 0. Finished")
    
show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3),menuBody,13,"Shoes Choose")
}

public 
SelectShoes(id,key)
{
    if ( 
get_pcvar_num(ShoesMod) == )
    {
        
client_print(idprint_chat"[ShoesMod] The function you tried to use is currently disabled.")
        return 
PLUGIN_HANDLED
    
}
    
    switch(
key)
    {
        case 
0:
        {
            new 
playercash cs_get_user_money(id)
            new 
maincost get_pcvar_num(ShoesCost)
            
            if ( 
playercash maincost )
            {
                
client_print(idprint_chat"[ShoesMod] You do not have enough money to purchase a shoe.")
                return 
PLUGIN_CONTINUE
            
}
            else
            {
                
cs_set_user_money(idplayercash maincost)
                
set_user_gravity(id0.5)
                
                new 
Float:speed get_user_maxspeed(id) - 40.3
                set_user_maxspeed
(idspeed)
                new 
name[32]
                
get_user_name(id,name,32)
                
set_hudmessage(200,255,2000.030.6220.022.00.010.11)
                
show_hudmessage(0"%i has just bought Gravity Shoes, beware!",name)
            }
        }
        case 
1:
        {
            new 
playercash cs_get_user_money(id)
            new 
maincost get_pcvar_num(ShoesCost)
            
            if ( 
playercash maincost )
            {
                
client_print(idprint_chat"[ShoesMod] You do not have enough money to purcahse a shoe.")
                return 
PLUGIN_CONTINUE
            
}
            else
            {
                
cs_set_user_money(idplayercash maincost)
                new 
Float:speed get_user_maxspeed(id) + 90.1
                set_user_maxspeed
(idspeed)
                
set_user_gravity(id1.5)
                
                new 
name[32]
                
get_user_name(id,name,32)
                
set_hudmessage(120,200,980.030.6220.022.00.010.11)
                
show_hudmessage(0"%i has just bought Speed Shoes, beware!",name)
            }
        }
        case 
2:
        {
            new 
playercash cs_get_user_money(id)
            new 
maincost get_pcvar_num(ShoesCost)
            
            if ( 
playercash maincost )
            {
                
client_print(idprint_chat"[ShoesMod] You do not have enough money to purchase a shoe.")
                return 
PLUGIN_CONTINUE
            
}
            else
            {
                
cs_set_user_money(idplayercash maincost)
                
set_user_health(id210)
                
client_cmd(0"spk ^"fvox/beep _comma beep _comma beep _comma administering_medical^"")
                
set_user_armor(id20)
                
                new 
name[32]
                
get_user_name(id,name,32)
                
set_hudmessage(200,50,1750.030.6220.022.00.010.11)
                
show_hudmessage(0"%i has just bought Speed Shoes, beware!",name)
            }
        }
        case 
3:
        {
        
        }
    }
    return 
PLUGIN_HANDLED



[ --<-@ ] Black Rose 09-05-2007 18:15

Re: Plugin Error [NEW PROBLEM]
 
Code:
float(get_user_maxspeed(id))

Code:
show_hudmessage(0, "%i has just bought Gravity Shoes, beware!",name)
What does %i mean?

Anyway that's probably the error. Change it ( on all hudmsgs ) to %s and try again.
Come back if it doesn't work.

[ --<-@ ] Black Rose 09-05-2007 18:20

Re: Plugin Error [NEW PROBLEM]
 
Code:
    switch(key)     {         case 0:         {             new playercash = cs_get_user_money(id)             new maincost = get_pcvar_num(ShoesCost)                         if ( playercash < maincost )             {                 client_print(id, print_chat, "[ShoesMod] You do not have enough money to purchase a shoe.")                 return PLUGIN_CONTINUE             }             else             {                 cs_set_user_money(id, playercash - maincost)                 set_user_gravity(id, 0.5)                                 new Float:speed = get_user_maxspeed(id) - 40.3                 set_user_maxspeed(id, speed)                 new name[32]                 get_user_name(id,name,32)                 set_hudmessage(200,255,200, 0.03, 0.62, 2, 0.02, 2.0, 0.01, 0.1, 1)                 show_hudmessage(0, "%i has just bought Gravity Shoes, beware!",name)             }         }         case 1:         {             new playercash = cs_get_user_money(id)             new maincost = get_pcvar_num(ShoesCost)                         if ( playercash < maincost )             {                 client_print(id, print_chat, "[ShoesMod] You do not have enough money to purcahse a shoe.")                 return PLUGIN_CONTINUE             }             else             {                 cs_set_user_money(id, playercash - maincost)                 new Float:speed = get_user_maxspeed(id) + 90.1                 set_user_maxspeed(id, speed)                 set_user_gravity(id, 1.5)                                 new name[32]                 get_user_name(id,name,32)                 set_hudmessage(120,200,98, 0.03, 0.62, 2, 0.02, 2.0, 0.01, 0.1, 1)                 show_hudmessage(0, "%i has just bought Speed Shoes, beware!",name)             }         }         case 2:         {             new playercash = cs_get_user_money(id)             new maincost = get_pcvar_num(ShoesCost)                         if ( playercash < maincost )             {                 client_print(id, print_chat, "[ShoesMod] You do not have enough money to purchase a shoe.")                 return PLUGIN_CONTINUE             }             else             {                 cs_set_user_money(id, playercash - maincost)                 set_user_health(id, 210)                 client_cmd(0, "spk ^"fvox/beep _comma beep _comma beep _comma administering_medical^"")                 set_user_armor(id, 20)                                 new name[32]                 get_user_name(id,name,32)                 set_hudmessage(200,50,175, 0.03, 0.62, 2, 0.02, 2.0, 0.01, 0.1, 1)                 show_hudmessage(0, "%i has just bought Speed Shoes, beware!",name)             }         }     }

Better looking, more effective -->

Code:
new playercash = cs_get_user_money(id) new maincost = get_pcvar_num(ShoesCost) if ( playercash < maincost ) {     client_print(id, print_chat, "[ShoesMod] You do not have enough money to purchase a pair of shoes.")     return PLUGIN_CONTINUE } cs_set_user_money(id, playercash - maincost) new name[32] get_user_name(id,name,32) set_hudmessage(200,255,200, 0.03, 0.62, 2, 0.02, 2.0, 0.01, 0.1, 1) switch(key) {     case 0: {         set_user_gravity(id, 0.5)                 new Float:speed = float(get_user_maxspeed(id)) - 40.3         set_user_maxspeed(id, speed)                 show_hudmessage(0, "%s has just bought Gravity Shoes, beware!",name)     }         case 1: {         set_user_gravity(id, 1.5)                 new Float:speed = float(get_user_maxspeed(id)) + 90.1         set_user_maxspeed(id, speed)                 show_hudmessage(0, "%i has just bought Speed Shoes, beware!",name)     }     case 2: {         set_user_health(id, 210)         client_cmd(0, "spk ^"fvox/beep _comma beep _comma beep _comma administering_medical^"")         set_user_armor(id, 20) // What if you never had any armor? What if you buy a new armor?                 show_hudmessage(0, "%i has just bought Speed Shoes, beware!",name)     } }

X-Script 09-05-2007 18:27

Re: Plugin Error [NEW PROBLEM]
 
Alright, I fixed that stuff and it still doesn't work.

Could it be because i'm using a cs_set_user_money function and i'm running Condition-Zero? I know some CS plugins run with CZ though.

Anyway, heres the latest code(Tested and Failed)

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Shoes Mod"
#define VERSION "1.0"
#define AUTHOR "X-Script"

new ShoesMod
new ShoesCost

public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_menucmd(register_menuid("Shoes Choose"),(1<<0)|(1<<1)|(1<<2)|(1<<3),"SelectShoes")
    
    
register_concmd("say /shoes""selectshoes")
    
register_concmd("say_team /shoes""selectshoes")
    
register_concmd("say /shoesinfo""shoesinfo")
    
register_concmd("say_team /shoesinfo""shoesinfo")
    
    
ShoesMod register_cvar("amx_shoesmod""1")
    
ShoesCost register_cvar("amx_shoesmod_cost""10000")
}

public 
client_putinserver(id)
{
    
set_task(11.0,"advertise",id)
}

public 
advertise(id)
{
    
client_print(idprint_chat"[ShoesMod] This server is running 'Shoes Mod' by X-Script VERSION 1.0!")
    
client_print(idprint_chat"[ShoesMod] Type /shoes too select a shoe, type /shoesinfo to display information!")
    return 
PLUGIN_HANDLED
}

public 
selectshoes(id)
{
    new 
menuBody[1024]
    
format(menuBody,1023,"ShoeMod Main Menu ^n^n 1. Gravity Shoes [+Gravity / -Speed]^n 2. Speed Shoes [+Speed / -Gravity]^n 3. Health Shoes [+Health / -Armor]^n^n 0. Finished")
    
show_menu(id,(1<<0)|(1<<1)|(1<<2)|(1<<3),menuBody,13,"Shoes Choose")
}

public 
SelectShoes(id,key)
{
    if ( 
get_pcvar_num(ShoesMod) == )
    {
        
client_print(idprint_chat"[ShoesMod] The function you tried to use is currently disabled.")
        return 
PLUGIN_HANDLED
    
}
    
    switch(
key)
    {
        case 
0:
        {
            new 
playercash cs_get_user_money(id)
            new 
maincost get_pcvar_num(ShoesCost)
            
            if ( 
playercash maincost )
            {
                
client_print(idprint_chat"[ShoesMod] You do not have enough money to purchase a shoe.")
                return 
PLUGIN_CONTINUE
            
}
            else
            {
                
cs_set_user_money(idplayercash maincost)
                
set_user_gravity(id0.5)
                
                
get_user_maxspeed(id)
                
set_user_maxspeed(id210)
                new 
name[32]
                
get_user_name(id,name,32)
                
set_hudmessage(200,255,2000.030.6220.022.00.010.11)
                
show_hudmessage(0"%s has just bought Gravity Shoes, beware!",name)
            }
        }
        case 
1:
        {
            new 
playercash cs_get_user_money(id)
            new 
maincost get_pcvar_num(ShoesCost)
            
            if ( 
playercash maincost )
            {
                
client_print(idprint_chat"[ShoesMod] You do not have enough money to purcahse a shoe.")
                return 
PLUGIN_CONTINUE
            
}
            else
            {
                
cs_set_user_money(idplayercash maincost)
                
get_user_maxspeed(id)
                
set_user_maxspeed(id860)
                
set_user_gravity(id1.5)
                
                new 
name[32]
                
get_user_name(id,name,32)
                
set_hudmessage(120,200,980.030.6220.022.00.010.11)
                
show_hudmessage(0"%s has just bought Speed Shoes, beware!",name)
            }
        }
        case 
2:
        {
            new 
playercash cs_get_user_money(id)
            new 
maincost get_pcvar_num(ShoesCost)
            
            if ( 
playercash maincost )
            {
                
client_print(idprint_chat"[ShoesMod] You do not have enough money to purchase a shoe.")
                return 
PLUGIN_CONTINUE
            
}
            else
            {
                
cs_set_user_money(idplayercash maincost)
                
set_user_health(id210)
                
client_cmd(0"spk ^"fvox/beep _comma beep _comma beep _comma administering_medical^"")
                
set_user_armor(id20)
                
                new 
name[32]
                
get_user_name(id,name,32)
                
set_hudmessage(200,50,1750.030.6220.022.00.010.11)
                
show_hudmessage(0"%s has just bought Speed Shoes, beware!",name)
            }
        }
        case 
3:
        {
        
        }
    }
    return 
PLUGIN_HANDLED



[ --<-@ ] Black Rose 09-05-2007 18:38

Re: Plugin Error [NEW PROBLEM]
 
Add "return PLUGIN_CONTINUE" at the end of selectshoes() func.

Debug the money function just by adding a msg right after getting money, saying how much money you've got.

Put some server_print("1"), server_print("2") et.c to see where it fails.

Is there any error in the log?


All times are GMT -4. The time now is 16:08.

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