Raised This Month: $51 Target: $400
 12% 

Help with a plugin please =D


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Danny.Domb
Junior Member
Join Date: Sep 2010
Old 09-27-2010 , 20:59   Help with a plugin please =D
Reply With Quote #1

Yeah, my first plugin in sourcepawn, I got some errors wehn I try to compile it, somebody could help me please?


Code:
/groups/sourcemod/upload_tmp/textnqL1bS.sp(29) : error 033: array must be indexed (variable "-unknown-") 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(31) : error 027: invalid character constant 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(31) : error 027: invalid character constant 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : error 014: invalid statement; not in switch 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : warning 215: expression has no effect 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : error 001: expected token: ";", but found "-identifier-" 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : error 017: undefined symbol "eagle" 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : fatal error 127: too many error messages on one line
PHP Code:
//Importations
#include <sourcemod>
#include <sdktools>

public Plugin:myinfo =
{
    
name "cZs Supporters Weapons",
    
author "Danny",
    
description "Give weapons to supporters",
    
version "1.0.0.0",
    
url "http://sourcemod.net"
}

public 
OnPluginStart()
{
    
RegAdminCmd("sm_w"Command_WeaponADMFLAG_RESERVATION);
}

public 
Action:Command_Weapon(clientargs)
{
    if (
client)
    {
        new 
String:arme[256]
 
        
GetCmdArgString(armesizeof(arme));
        
        if (
IsPlayerAlive(client))
        {
            switch (
arme)
            {
                case 
'p228':
                {
                    
GivePlayerItem(client"weapon_p228");
                }
                case 
'deagle':
                {
                    
GivePlayerItem(client"weapon_deagle");
                }
                case 
'fiveseven':
                {
                    
GivePlayerItem(client"weapon_fiveseven");
                }
                case 
'elite':
                {
                    
GivePlayerItem(client"weapon_elite");
                }
                case 
'm3':
                {
                    
GivePlayerItem(client"weapon_m3");
                }
                case 
'tmp':
                {
                    
GivePlayerItem(client"weapon_tmp");
                }
                case 
'mac10':
                {
                    
GivePlayerItem(client"weapon_mac10");
                }
                case 
'ump45':
                {
                    
GivePlayerItem(client"weapon_ump45");
                }
                case 
'mp5':
                {
                    
GivePlayerItem(client"weapon_mp5");
                }
                case 
'p90':
                {
                    
GivePlayerItem(client"weapon_p90");
                }
                case 
'galil':
                {
                    
GivePlayerItem(client"weapon_galil");
                }
                case 
'ak':
                {
                    
GivePlayerItem(client"weapon_ak47");
                }
                case 
'ak47':
                {
                    
GivePlayerItem(client"weapon_ak47");
                }
                case 
'm4':
                {
                    
GivePlayerItem(client"weapon_m4a1");
                }
                case 
'm4a1':
                {
                    
GivePlayerItem(client"weapon_m4a1");
                }
                case 
'aug':
                {
                    
GivePlayerItem(client"weapon_aug");
                }
                case 
'sg552':
                {
                    
GivePlayerItem(client"weapon_sg552");
                }
                case 
'awp':
                {
                    
GivePlayerItem(client"weapon_awp");
                }
                default:
                {
                    
PrintToServer("Weapon do not exist.");
                }
            }
        }
        else
        {
            
PrintToChat(client"Vous devez être en vie pour utiliser cette commande!");
        }
    }
    else
    {
       return 
Plugin_Handled
    
}
return 
Plugin_Handled

Danny.Domb is offline
Oshroth
Senior Member
Join Date: Dec 2009
Old 09-27-2010 , 22:12   Re: Help with a plugin please =D
Reply With Quote #2

Switch Cases can only use int constants. The following uses if-else-ifs to achieve what you are trying to do with the Switch Cases.
PHP Code:
//Importations
#include <sourcemod>
#include <sdktools>

public Plugin:myinfo =
{
    
name "cZs Supporters Weapons",
    
author "Danny",
    
description "Give weapons to supporters",
    
version "1.0.0.0",
    
url "http://sourcemod.net"
}

public 
OnPluginStart()
{
    
RegAdminCmd("sm_w"Command_WeaponADMFLAG_RESERVATION);
}

public 
Action:Command_Weapon(clientargs)
{
    if (
client)
    {
        new 
String:arme[256]

        
GetCmdArgString(armesizeof(arme));
        
        if (
IsPlayerAlive(client))
        {
            if(
StrEqual(arme"p228"false))
            {
                
GivePlayerItem(client"weapon_p228");
            }
            else if(
StrEqual(arme"deagle"false))
            {
                
GivePlayerItem(client"weapon_deagle");
            }
            else if(
StrEqual(arme"fiveseven"false))
            {
                
GivePlayerItem(client"weapon_fiveseven");
            }
            else if(
StrEqual(arme"elite"false))
            {
                
GivePlayerItem(client"weapon_elite");
            }
            else if(
StrEqual(arme"m3"false))
            {
                
GivePlayerItem(client"weapon_m3");
            }
            else if(
StrEqual(arme"tmp"false))
            {
                
GivePlayerItem(client"weapon_tmp");
            }
            else if(
StrEqual(arme"mac10"false))
            {
                
GivePlayerItem(client"weapon_mac10");
            }
            else if(
StrEqual(arme"ump45"false))
            {
                
GivePlayerItem(client"weapon_ump45");
            }
            else if(
StrEqual(arme"mp5"false))
            {
                
GivePlayerItem(client"weapon_mp5");
            }
            else if(
StrEqual(arme"p90"false))
            {
                
GivePlayerItem(client"weapon_p90");
            }
            else if(
StrEqual(arme"galil"false))
            {
                
GivePlayerItem(client"weapon_galil");
            }
            else if(
StrEqual(arme"ak"false))
            {
                
GivePlayerItem(client"weapon_ak47");
            }
            else if(
StrEqual(arme"ak47"false))
            {
                
GivePlayerItem(client"weapon_ak47");
            }
            else if(
StrEqual(arme"m4"false))
            {
                
GivePlayerItem(client"weapon_m4a1");
            }
            else if(
StrEqual(arme"m4a1"false))
            {
                
GivePlayerItem(client"weapon_m4a1");
            }
            else if(
StrEqual(arme"aug"false))
            {
                
GivePlayerItem(client"weapon_aug");
            }
            else if(
StrEqual(arme"sg552"false))
            {
                
GivePlayerItem(client"weapon_sg552");
            }
            else if(
StrEqual(arme"awp"false))
            {
                
GivePlayerItem(client"weapon_awp");
            }
            else
            {
                
PrintToServer("Weapon do not exist.");
            }
        }
        else
        {
            
PrintToChat(client"Vous devez être en vie pour utiliser cette commande!");
        }
    }
    else
    {
        return 
Plugin_Handled
    
}
    return 
Plugin_Handled

__________________
Oshroth is offline
honorcode23
BANNED
Join Date: Mar 2010
Location: Chile
Old 09-27-2010 , 22:12   Re: Help with a plugin please =D
Reply With Quote #3

Quote:
Originally Posted by Danny.Domb View Post
Yeah, my first plugin in sourcepawn, I got some errors wehn I try to compile it, somebody could help me please?


Code:
/groups/sourcemod/upload_tmp/textnqL1bS.sp(29) : error 033: array must be indexed (variable "-unknown-") 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(31) : error 027: invalid character constant 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(31) : error 027: invalid character constant 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : error 014: invalid statement; not in switch 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : warning 215: expression has no effect 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : error 001: expected token: ";", but found "-identifier-" 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : error 017: undefined symbol "eagle" 
/groups/sourcemod/upload_tmp/textnqL1bS.sp(35) : fatal error 127: too many error messages on one line
PHP Code:
//Importations
#include <sourcemod>
#include <sdktools>

public Plugin:myinfo =
{
    
name "cZs Supporters Weapons",
    
author "Danny",
    
description "Give weapons to supporters",
    
version "1.0.0.0",
    
url "http://sourcemod.net"
}

public 
OnPluginStart()
{
    
RegAdminCmd("sm_w"Command_WeaponADMFLAG_RESERVATION);
}

public 
Action:Command_Weapon(clientargs)
{
    if (
client)
    {
        new 
String:arme[256]
 
        
GetCmdArgString(armesizeof(arme));
        
        if (
IsPlayerAlive(client))
        {
            switch (
arme)
            {
                case 
'p228':
                {
                    
GivePlayerItem(client"weapon_p228");
                }
                case 
'deagle':
                {
                    
GivePlayerItem(client"weapon_deagle");
                }
                case 
'fiveseven':
                {
                    
GivePlayerItem(client"weapon_fiveseven");
                }
                case 
'elite':
                {
                    
GivePlayerItem(client"weapon_elite");
                }
                case 
'm3':
                {
                    
GivePlayerItem(client"weapon_m3");
                }
                case 
'tmp':
                {
                    
GivePlayerItem(client"weapon_tmp");
                }
                case 
'mac10':
                {
                    
GivePlayerItem(client"weapon_mac10");
                }
                case 
'ump45':
                {
                    
GivePlayerItem(client"weapon_ump45");
                }
                case 
'mp5':
                {
                    
GivePlayerItem(client"weapon_mp5");
                }
                case 
'p90':
                {
                    
GivePlayerItem(client"weapon_p90");
                }
                case 
'galil':
                {
                    
GivePlayerItem(client"weapon_galil");
                }
                case 
'ak':
                {
                    
GivePlayerItem(client"weapon_ak47");
                }
                case 
'ak47':
                {
                    
GivePlayerItem(client"weapon_ak47");
                }
                case 
'm4':
                {
                    
GivePlayerItem(client"weapon_m4a1");
                }
                case 
'm4a1':
                {
                    
GivePlayerItem(client"weapon_m4a1");
                }
                case 
'aug':
                {
                    
GivePlayerItem(client"weapon_aug");
                }
                case 
'sg552':
                {
                    
GivePlayerItem(client"weapon_sg552");
                }
                case 
'awp':
                {
                    
GivePlayerItem(client"weapon_awp");
                }
                default:
                {
                    
PrintToServer("Weapon do not exist.");
                }
            }
        }
        else
        {
            
PrintToChat(client"Vous devez être en vie pour utiliser cette commande!");
        }
    }
    else
    {
       return 
Plugin_Handled
    
}
return 
Plugin_Handled

You can't switch strings, only entire numbers.

Try doing

PHP Code:
if(StrEqual(arme"p228"))
{
     
GivePlayerItem(client"weapon_p228");
}
else if(
StrEqual(arme"deagle"))
{
     
GivePlayerItem(client"weapon_deagle");

and so on
honorcode23 is offline
McFlurry
Veteran Member
Join Date: Mar 2010
Location: RemoveEdict(0);
Old 09-27-2010 , 22:21   Re: Help with a plugin please =D
Reply With Quote #4

Also if your command only needs 1 argument do this
PHP Code:
if(args == 1)
{
    
GetCmdArg(1armesizeof(arme));
    
// as honorcode said use StrEqual
}
else
{
    
ReplyToCommand(client"[SM] Usage: sm_w [weapon name]");

__________________
McFlurry is offline
Send a message via Skype™ to McFlurry
Monkeys
Veteran Member
Join Date: Jan 2010
Old 09-28-2010 , 04:27   Re: Help with a plugin please =D
Reply With Quote #5

Quote:
Originally Posted by Oshroth View Post
Switch Cases can only use int constants. The following uses if-else-ifs to achieve what you are trying to do with the Switch Cases.
-Snip-
Ints and chars, just so you know
__________________
Get a lid on that zombie,
he's never gonna be alri-i-ight.
Oooh get a lid on that zombie,
or he's gonna feed all night.
Monkeys is offline
Death [GER]
Senior Member
Join Date: Mar 2010
Old 09-28-2010 , 07:08   Re: Help with a plugin please =D
Reply With Quote #6

Monkeys fuck off and do your work
__________________
Death [GER] is offline
FaTony
Veteran Member
Join Date: Aug 2008
Old 09-28-2010 , 09:24   Re: Help with a plugin please =D
Reply With Quote #7

I was using tries for this.
PHP Code:
ItemPrintNameTrie=CreateTrie();
    
SetTrieString(ItemPrintNameTrie"pistol_scout""pistol");
    
SetTrieString(ItemPrintNameTrie"force_a_nature""force-a-nature");
    
SetTrieString(ItemPrintNameTrie"lunchbox_drink""bonk! atomic punch");
    
SetTrieString(ItemPrintNameTrie"taunt_scout""bonk");
    
SetTrieString(ItemPrintNameTrie"tf_projectile_rocket""rocket launcher");
    
SetTrieString(ItemPrintNameTrie"rocketlauncher""rocket launcher");
    
SetTrieString(ItemPrintNameTrie"shotgun_soldier""shotgun");
    
SetTrieString(ItemPrintNameTrie"rocketlauncher_directhit""direct hit");
    
SetTrieString(ItemPrintNameTrie"buff_item""buff banner");
    
SetTrieString(ItemPrintNameTrie"pickaxe""equalizer");
    
SetTrieString(ItemPrintNameTrie"unique_pickaxe""equalizer");
    
SetTrieString(ItemPrintNameTrie"taunt_soldier""grenade");
    
SetTrieString(ItemPrintNameTrie"deflect_rocket""deflected rocket");
    
SetTrieString(ItemPrintNameTrie"deflect_flare""deflected flare");
    
SetTrieString(ItemPrintNameTrie"deflect_promode""deflected grenade");
    
SetTrieString(ItemPrintNameTrie"deflect_sticky""deflected sticky bomb");
    
SetTrieString(ItemPrintNameTrie"deflect_arrow""deflected arrow");
    
SetTrieString(ItemPrintNameTrie"shotgun_pyro""shotgun");
    
SetTrieString(ItemPrintNameTrie"taunt_pyro""hadouken");
    
SetTrieString(ItemPrintNameTrie"fireaxe""fire axe");
    
SetTrieString(ItemPrintNameTrie"flaregun""flare gun");
    
SetTrieString(ItemPrintNameTrie"tf_projectile_pipe""grenade launcher");
    
SetTrieString(ItemPrintNameTrie"grenadelauncher""grenade launcher");
    
SetTrieString(ItemPrintNameTrie"tf_projectile_pipe_remote""sticky bomb launcher");
    
SetTrieString(ItemPrintNameTrie"pipebomblauncher""sticky bomb launcher");
    
SetTrieString(ItemPrintNameTrie"sticky_resistance""scottish resistance");
    
SetTrieString(ItemPrintNameTrie"stickybomb_defender""scottish resistance");
    
SetTrieString(ItemPrintNameTrie"sword""eyelander");
    
SetTrieString(ItemPrintNameTrie"taunt_demoman""eyelander taunt");
    
SetTrieString(ItemPrintNameTrie"shotgun_hwg""shotgun");
    
SetTrieString(ItemPrintNameTrie"taunt_heavy""showdown");
    
SetTrieString(ItemPrintNameTrie"lunchbox""sanvich");
    
SetTrieString(ItemPrintNameTrie"gloves""K.G.B.");
    
SetTrieString(ItemPrintNameTrie"shotgun_primary""shotgun");
    
SetTrieString(ItemPrintNameTrie"obj_sentrygun""level 1 sentry");
    
SetTrieString(ItemPrintNameTrie"obj_sentrygun2""level 2 sentry");
    
SetTrieString(ItemPrintNameTrie"obj_sentrygun3""level 3 sentry");
    
SetTrieString(ItemPrintNameTrie"pda_engineer_build""build PDA");
    
SetTrieString(ItemPrintNameTrie"pda_engineer_destroy""destroy PDA");
    
SetTrieString(ItemPrintNameTrie"syringegun_medic""syringe gun");
    
SetTrieString(ItemPrintNameTrie"sniperrifle""sniper rifle");
    
SetTrieString(ItemPrintNameTrie"smg""SMG");
    
SetTrieString(ItemPrintNameTrie"club""kukri");
    
SetTrieString(ItemPrintNameTrie"tf_projectile_arrow""huntsman");
    
SetTrieString(ItemPrintNameTrie"compound_bow""huntsman");
    
SetTrieString(ItemPrintNameTrie"taunt_sniper""arrow");
    
SetTrieString(ItemPrintNameTrie"jar""jarate");
    
SetTrieString(ItemPrintNameTrie"obj_attachment_sapper""sapper");
    
SetTrieString(ItemPrintNameTrie"taunt_spy""fencing");
    
SetTrieString(ItemPrintNameTrie"pda_spy""spy PDA");
    
SetTrieString(ItemPrintNameTrie"invis""invisibility");
    
SetTrieString(ItemPrintNameTrie"item_healthkit_small""small healthkit");
    
SetTrieString(ItemPrintNameTrie"item_healthkit_medium""medium healthkit");
    
SetTrieString(ItemPrintNameTrie"item_healthkit_full""full healthkit");
    
SetTrieString(ItemPrintNameTrie"item_ammopack_small""small ammopack");
    
SetTrieString(ItemPrintNameTrie"item_ammopack_medium""medium ammopack");
    
SetTrieString(ItemPrintNameTrie"item_ammopack_full""full ammopack");
    
SetTrieString(ItemPrintNameTrie"item_teamflag""intelligence"); 
And using like:
PHP Code:
if (!GetTrieString(ItemPrintNameTrieweapon_logclassnameweaponprintname64)) {
            
weaponprintname=weapon_logclassname;
            } 
FaTony is offline
Monkeys
Veteran Member
Join Date: Jan 2010
Old 09-28-2010 , 09:25   Re: Help with a plugin please =D
Reply With Quote #8

Quote:
Originally Posted by Death [GER] View Post
Monkeys fuck off and do your work
How kind of you! >:/
FYI, we're finished and setting things up for testing.
All that's delaying the opening is because every 20 seconds we think of some new small feature x)
__________________
Get a lid on that zombie,
he's never gonna be alri-i-ight.
Oooh get a lid on that zombie,
or he's gonna feed all night.
Monkeys is offline
Death [GER]
Senior Member
Join Date: Mar 2010
Old 09-29-2010 , 03:32   Re: Help with a plugin please =D
Reply With Quote #9

Quote:
Originally Posted by Monkeys View Post
How kind of you! >:/
FYI, we're finished and setting things up for testing.
All that's delaying the opening is because every 20 seconds we think of some new small feature x)
Let me do new small features.. Im fucking bored every 20 seconds..
__________________
Death [GER] is offline
Reply



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 15:48.


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