AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   NS Admin Weapons [Help Needed] (https://forums.alliedmods.net/showthread.php?t=19327)

XunTric 10-14-2005 11:31

NS Admin Weapons [Help Needed]
 
I stole some code from v3x's port of mattcocks "Admin Weapons II" for Counter-Strike and made my own Natural-Selection version.

The diffrence here is that you type the weapon name instead of numbers.

"amx_weapon xuntric 43" - CS Version
"amx_weapon xuntric claws" - My version :P

I get this error on all the if lines in "give_weapon":
Quote:

error 035: argument type mismatch (argument 1)
I'll give you karma and credit you if you help.

Code:
#include <amxmodx> #include <amxmisc> #include <engine> #include <ns> public plugin_init() {     register_plugin("NS Admin Weapons", "1.0", "XunTric")     register_concmd("amx_weapon", "admin_weapon", ADMIN_KICK, "<name> <weapon>^ntype ^"amx_weapon list^" to see the list of weapons")     register_cvar("amx_weaponmsg", "0") }   public admin_weapon(id, level, cid) {     if(!cmd_access(id, level, cid, 3))         return PLUGIN_HANDLED     new target[32]     new weapon[32]     read_argv(1, target, 31)     read_argv(2, weapon, 31)     if(equali(target, "list") || !weapon[0]) {         weapon_list(id)     }     else {         new pName[32]         new player = cmd_target(id, target, 6)         if(!player)             return PLUGIN_HANDLED         give_weapon(player, weapon)         get_user_name(player, pName, 31)         client_print(id, print_console, "[AMXX] You gave %s the weapon %s!", pName, weapon)         if(get_cvar_num("amx_weaponmsg")) {             set_hudmessage(10, 200, 10, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)             show_hudmessage(0, "%s has been given a weapon!", pName)         }     }     return PLUGIN_HANDLED } give_weapon(id, weapon) {     if(equali(weapon, "claws"))     ns_give_item(id, "WEAPON_CLAWS")     else if(equali(weapon, "spit"))     ns_give_item(id, "WEAPON_SPIT")     else if(equali(weapon, "spores"))   ns_give_item(id, "WEAPON_SPORES")     else if(equali(weapon, "spikes"))   ns_give_item(id, "WEAPON_SPIKE")     else if(equali(weapon, "biteskulk"))    ns_give_item(id, "WEAPON_BITE")     else if(equali(weapon, "bitelerk")) ns_give_item(id, "WEAPON_BITE2")     else if(equali(weapon, "swipe"))    ns_give_item(id, "WEAPON_SWIPE")     else if(equali(weapon, "web"))      ns_give_item(id, "WEAPON_WEBSPINNER")     else if(equali(weapon, "metabolize"))   ns_give_item(id, "WEAPON_METABOLIZE")     else if(equali(weapon, "parasite")) ns_give_item(id, "WEAPON_PARASITE")     else if(equali(weapon, "blink"))    ns_give_item(id, "WEAPON_BLINK")     else if(equali(weapon, "divinewind"))   ns_give_item(id, "WEAPON_DIVINEWIND")     else if(equali(weapon, "knife"))    ns_give_item(id, "WEAPON_KNIFE")     else if(equali(weapon, "pistol"))   ns_give_item(id, "WEAPON_PISTOL")     else if(equali(weapon, "lmg"))      ns_give_item(id, "WEAPON_LMG")     else if(equali(weapon, "shotgun"))  ns_give_item(id, "WEAPON_SHOTGUN")     else if(equali(weapon, "hmg"))      ns_give_item(id, "WEAPON_HMG")     else if(equali(weapon, "welder"))   ns_give_item(id, "WEAPON_WELDER")     else if(equali(weapon, "mine"))     ns_give_item(id, "WEAPON_MINE")     else if(equali(weapon, "gl"))       ns_give_item(id, "WEAPON_GRANADE_GUN")     else if(equali(weapon, "leap"))     ns_give_item(id, "WEAPON_LEAP")     else if(equali(weapon, "charge"))   ns_give_item(id, "WEAPON_CHARGE")     else if(equali(weapon, "umbra"))    ns_give_item(id, "WEAPON_UMBRA")     else if(equali(weapon, "primal"))   ns_give_item(id, "WEAPON_PRIMALSCREAM")     else if(equali(weapon, "bilebomb")) ns_give_item(id, "WEAPON_BILEBOMB")     else if(equali(weapon, "acid"))     ns_give_item(id, "WEAPON_ACIDROCKET")     else if(equali(weapon, "healing"))  ns_give_item(id, "WEAPON_HEALINGSPRAY")     else if(equali(weapon, "granade"))  ns_give_item(id, "WEAPON_GRANADE")     else if(equali(weapon, "stomp"))    ns_give_item(id, "WEAPON_STOMP")     else if(equali(weapon, "devour"))   ns_give_item(id, "WEAPON_DEVOUR")     else if(equali(weapon, "max"))      ns_give_item(id, "WEAPON_MAX")     else                    return false     return true } weapon_list(id) {     //Doing this way to reduce console_print's....     //Looks more clean too.     new list0[] = "-----------------------------------------------------------------"     new list1[] = "claws, spit, spores, spikes^nbiteskulk, bitelerk, swipe, web^nmetabolize, parasite, blink, divinewind"     new list2[] = "knife, pistol, lmg, shotgun^nhmg, welder, mine, gl^nleap, charge, umbra, primal"     new list3[] = "bilebomb, acid, healing, granade^nstomp, devour, max"     console_print(id, list0)     console_print(id, list1)     console_print(id, list2)     console_print(id, list3)     console_print(id, list0) }

Zenith77 10-14-2005 12:45

Because it looking for a number

All the weapons are already defined so, do not pass it as a string

just like


Code:
ns_give_item(id, WEAPON_BLA )

XunTric 10-14-2005 13:11

I cant find where its looking for a number?
It was
Code:
case number: give the weapon :O
in the cs version so I changed to
Code:
if(equali(weapon, "the weapon name :O"))
here to make it look for a name instead.

Zenith77 10-14-2005 13:13

no


Code:
ns_give_item()

looks for a number, but those numbers are already defined


in order for it to work just use what you have except take out the string like so

Code:
   ns_give_item(id, "WEAPON_CLAWS")

to

Code:
   ns_give_item(id, WEAPON_CLAWS)

XunTric 10-14-2005 13:15

Tryed, same errors :shock:

Zenith77 10-14-2005 13:25

Ok i managed to fix most of the errors, all thats left are the Type Mismatches in argument 2 under giveweapon.



Code:
#include <amxmodx> #include <amxmisc> #include <engine> #include <ns> public plugin_init()     {     register_plugin("NS Admin Weapons", "1.0", "XunTric")     register_concmd("amx_weapon", "admin_weapon", ADMIN_KICK, "<name> <weapon>^ntype ^"amx_weapon list^" to see the list of weapons")     register_cvar("amx_weaponmsg", "0") }     public admin_weapon(id, level, cid)     {     if(!cmd_access(id, level, cid, 3))         return PLUGIN_HANDLED         new target[32]     new weapon[32]         read_argv(1, target, 31)     read_argv(2, weapon, 31)         if(equali(target, "list") || !weapon[0]) {                 weapon_list(id)     }         else {                 new pName[32]         new player = cmd_target(id, target, 6)                 if(!player)             return PLUGIN_HANDLED                 give_weapon(player, weapon)         get_user_name(player, pName, 31)         client_print(id, print_console, "[AMXX] You gave %s the weapon %s!", pName, weapon)                 if(get_cvar_num("amx_weaponmsg")) {                         set_hudmessage(10, 200, 10, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)             show_hudmessage(0, "%s has been given a weapon!", pName)         }     }         return PLUGIN_HANDLED } give_weapon(id, weapon[]) {     if(equali(weapon, "claws"))        ns_give_item(id, WEAPON_CLAWS)     else if(equali(weapon, "spit"))        ns_give_item(id, WEAPON_SPIT)     else if(equali(weapon, "spores"))    ns_give_item(id, WEAPON_SPORES)     else if(equali(weapon, "spikes"))    ns_give_item(id, WEAPON_SPIKE)     else if(equali(weapon, "biteskulk"))    ns_give_item(id, WEAPON_BITE)     else if(equali(weapon, "bitelerk"))    ns_give_item(id, WEAPON_BITE2)     else if(equali(weapon, "swipe"))    ns_give_item(id, WEAPON_SWIPE)     else if(equali(weapon, "web"))        ns_give_item(id, WEAPON_WEBSPINNER)     else if(equali(weapon, "metabolize"))    ns_give_item(id, WEAPON_METABOLIZE)     else if(equali(weapon, "parasite"))    ns_give_item(id, WEAPON_PARASITE)     else if(equali(weapon, "blink"))    ns_give_item(id, WEAPON_BLINK)     else if(equali(weapon, "divinewind"))    ns_give_item(id, WEAPON_DIVINEWIND)     else if(equali(weapon, "knife"))    ns_give_item(id, WEAPON_KNIFE)     else if(equali(weapon, "pistol"))    ns_give_item(id, WEAPON_PISTOL)     else if(equali(weapon, "lmg"))        ns_give_item(id, WEAPON_LMG)     else if(equali(weapon, "shotgun"))    ns_give_item(id, WEAPON_SHOTGUN)     else if(equali(weapon, "hmg"))        ns_give_item(id, WEAPON_HMG)     else if(equali(weapon, "welder"))    ns_give_item(id, WEAPON_WELDER)     else if(equali(weapon, "mine"))        ns_give_item(id, WEAPON_MINE)     else if(equali(weapon, "gl"))        ns_give_item(id, WEAPON_GRANADE_GUN)     else if(equali(weapon, "leap"))        ns_give_item(id, WEAPON_LEAP)     else if(equali(weapon, "charge"))    ns_give_item(id, WEAPON_CHARGE)     else if(equali(weapon, "umbra"))    ns_give_item(id, WEAPON_UMBRA)     else if(equali(weapon, "primal"))    ns_give_item(id, WEAPON_PRIMALSCREAM)     else if(equali(weapon, "bilebomb"))    ns_give_item(id, WEAPON_BILEBOMB)     else if(equali(weapon, "acid"))        ns_give_item(id, WEAPON_ACIDROCKET)     else if(equali(weapon, "healing"))    ns_give_item(id, WEAPON_HEALINGSPRAY)     else if(equali(weapon, "granade"))    ns_give_item(id, WEAPON_GRANADE)     else if(equali(weapon, "stomp"))    ns_give_item(id, WEAPON_STOMP)     else if(equali(weapon, "devour"))    ns_give_item(id, WEAPON_DEVOUR)     else if(equali(weapon, "max"))        ns_give_item(id, WEAPON_MAX)         else                     return false         return true     } weapon_list(id) {     //Doing this way to reduce console_print's....     //Looks more clean too.     new list0[] = "-----------------------------------------------------------------"     new list1[] = "claws, spit, spores, spikes^nbiteskulk, bitelerk, swipe, web^nmetabolize, parasite, blink, divinewind"     new list2[] = "knife, pistol, lmg, shotgun^nhmg, welder, mine, gl^nleap, charge, umbra, primal"     new list3[] = "bilebomb, acid, healing, granade^nstomp, devour, max"         console_print(id, list0)     console_print(id, list1)     console_print(id, list2)     console_print(id, list3)     console_print(id, list0) }

XunTric 10-14-2005 13:31

The same error that i started with...
Quote:

Originally Posted by me!! omgomgomg!!!!!111one
I get this error on all the if lines in "give_weapon":
Quote:

error 035: argument type mismatch (argument 1)

Its just argument 2 now :D

Zenith77 10-14-2005 13:37

Yes i know thats what i said :P, but i dont get why, its comparing string to string :/


p.s you spelled WEAPON_GRANADE_GUN wrong :P


tis WEAPON_GRENADE_GUN :)

XunTric 10-14-2005 13:42

You know what?
I saw in one of my other old ns plugins which gives jetpack and heavy armor, that you have to use normall "weapon_" names...
Like:
Code:
ns_give_item(id, "weapon_heavymachinegun")
instead of
Code:
ns_give_item(id, WEAPON_HMG)

But where can I find all those names? :shock:

Zenith77 10-14-2005 13:46

Never mind, i think it needs to be a string.

Code:
#include <amxmodx> #include <amxmisc> #include <engine> #include <ns> public plugin_init() {     register_plugin("NS Admin Weapons", "1.0", "XunTric")     register_concmd("amx_weapon", "admin_weapon", ADMIN_KICK, "<name> <weapon>^ntype ^"amx_weapon list^" to see the list of weapons")     register_cvar("amx_weaponmsg", "0") }     public admin_weapon(id, level, cid) {     if(!cmd_access(id, level, cid, 3))         return PLUGIN_HANDLED     new target[32]     new weapon[32]     read_argv(1, target, 31)     read_argv(2, weapon, 31)     if(equali(target, "list") || !weapon[0]) {         weapon_list(id)     }     else {         new pName[32]         new player = cmd_target(id, target, 6)         if(!player)             return PLUGIN_HANDLED         give_weapon(player, weapon)         get_user_name(player, pName, 31)         client_print(id, print_console, "[AMXX] You gave %s the weapon %s!", pName, weapon)         if(get_cvar_num("amx_weaponmsg")) {             set_hudmessage(10, 200, 10, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)             show_hudmessage(0, "%s has been given a weapon!", pName)         }     }     return PLUGIN_HANDLED } give_weapon(id, weapon[]) {     if(equali(weapon, "claws"))        ns_give_item(id, "WEAPON_CLAWS")     else if(equali(weapon, "spit"))        ns_give_item(id, "WEAPON_SPIT")     else if(equali(weapon, "spores"))    ns_give_item(id, "WEAPON_SPORES")     else if(equali(weapon, "spikes"))    ns_give_item(id, "WEAPON_SPIKE")     else if(equali(weapon, "biteskulk"))    ns_give_item(id, "WEAPON_BITE")     else if(equali(weapon, "bitelerk"))    ns_give_item(id, "WEAPON_BITE2")     else if(equali(weapon, "swipe"))    ns_give_item(id, "WEAPON_SWIPE")     else if(equali(weapon, "web"))        ns_give_item(id, "WEAPON_WEBSPINNER")     else if(equali(weapon, "metabolize"))    ns_give_item(id, "WEAPON_METABOLIZE")     else if(equali(weapon, "parasite"))    ns_give_item(id, "WEAPON_PARASITE")     else if(equali(weapon, "blink"))    ns_give_item(id, "WEAPON_BLINK")     else if(equali(weapon, "divinewind"))    ns_give_item(id, "WEAPON_DIVINEWIND")     else if(equali(weapon, "knife"))    ns_give_item(id, "WEAPON_KNIFE")     else if(equali(weapon, "pistol"))    ns_give_item(id, "WEAPON_PISTOL")     else if(equali(weapon, "lmg"))        ns_give_item(id, "WEAPON_LMG")     else if(equali(weapon, "shotgun"))    ns_give_item(id, "WEAPON_SHOTGUN")     else if(equali(weapon, "hmg"))        ns_give_item(id, "WEAPON_HMG")     else if(equali(weapon, "welder"))    ns_give_item(id, "WEAPON_WELDER")     else if(equali(weapon, "mine"))        ns_give_item(id, "WEAPON_MINE")     else if(equali(weapon, "gl"))        ns_give_item(id, "WEAPON_GRANADE_GUN")     else if(equali(weapon, "leap"))        ns_give_item(id, "WEAPON_LEAP")     else if(equali(weapon, "charge"))    ns_give_item(id, "WEAPON_CHARGE")     else if(equali(weapon, "umbra"))    ns_give_item(id, "WEAPON_UMBRA")     else if(equali(weapon, "primal"))    ns_give_item(id, "WEAPON_PRIMALSCREAM")     else if(equali(weapon, "bilebomb"))    ns_give_item(id, "WEAPON_BILEBOMB")     else if(equali(weapon, "acid"))        ns_give_item(id, "WEAPON_ACIDROCKET")     else if(equali(weapon, "healing"))    ns_give_item(id, "WEAPON_HEALINGSPRAY")     else if(equali(weapon, "granade"))    ns_give_item(id, "WEAPON_GRANADE")     else if(equali(weapon, "stomp"))    ns_give_item(id, "WEAPON_STOMP")     else if(equali(weapon, "devour"))    ns_give_item(id, "WEAPON_DEVOUR")     else if(equali(weapon, "max"))        ns_give_item(id, "WEAPON_MAX")     else                     return false     return true } weapon_list(id) {     //Doing this way to reduce console_print's....     //Looks more clean too.     new list0[] = "-----------------------------------------------------------------"     new list1[] = "claws, spit, spores, spikes^nbiteskulk, bitelerk, swipe, web^nmetabolize, parasite, blink, divinewind"     new list2[] = "knife, pistol, lmg, shotgun^nhmg, welder, mine, gl^nleap, charge, umbra, primal"     new list3[] = "bilebomb, acid, healing, granade^nstomp, devour, max"     console_print(id, list0)     console_print(id, list1)     console_print(id, list2)     console_print(id, list3)     console_print(id, list0) }

Compiles fine no errors


All times are GMT -4. The time now is 23:38.

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