AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Glow plugin, please help! (https://forums.alliedmods.net/showthread.php?t=29121)

TheDemonIII 05-29-2006 22:45

Glow plugin, please help!
 
im trying to make a plugin to make players glow (red, blue, green, etc..)

i get them to glow, but now i want the player to be able to set their color

Code:

public player_glow(id,level,cid)
        {
        if(!cmd_access(id,level,cid,3))
                {
                return PLUGIN_HANDLED
        }
       
        //Find the player
        new szPlayer[33],iPlayer, GlowColor[33]
        read_argv(1,szPlayer,32)
        read_argv(2,GlowColor,32)
        iPlayer = cmd_target(id,szPlayer,0)
       
        //Make the player glow
        strtolower(GlowColor)
       
        if(GlowColor == "red")
                set_user_rendering(iPlayer, kRenderFxGlowShell,255,0,0,kRenderNormal,16)
        else if(GlowColor == "blue")
                set_user_rendering(iPlayer, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 16)
        else if(GlowColor == "green")
                set_user_rendering(iPlayer, kRenderFxGlowShell,0,255,0,kRenderNormal,16)
        else if(GlowColor == "purple")
                set_user_rendering(iPlayer, kRenderFxGlowShell, 255, 0, 255, kRenderNormal, 16)
        else if(GlowColor == "cyan")
                set_user_rendering(iPlayer, kRenderFxGlowShell, 0, 255, 255, kRenderNormal, 16)
        else if(GlowColor == "yellow")
                set_user_rendering(iPlayer, kRenderFxGlowShell,255,255,0,kRenderNormal,16)
        else if(GlowColor == "magenta"
                set_user_rendering(iPlayer, kRenderFxGlowShell,255,54,173,kRenderNormal,16)
        else if(GlowColor == "black")
                set_user_rendering(iPlayer, kRenderFxGlowShell,0,0,0,kRenderNormal,16)
        else if(GlowColor == "white")
                set_user_rendering(iPlayer, kRenderFxGlowShell, 255, 255, 255, kRenderNormal, 16)
        else if(GlowColor == "orange")
                set_user_rendering(iPlayer, kRenderFxGlowShell,255,131,0,kRenderNormal,16)
        else        console_print(id, "Color not found")
        return PLUGIN_HANDLED
}

i thought that would be right, but when i compile i get an error: array must be indexed(variable "GlowColorLower")
its in the place where i say if(GlowColor == "red" and "blue" and "green" and so on)
are you not allowed to compared strings? and if so how do i fix this

Peli 05-29-2006 23:54

Well, you need to make this variable.
Code:
new GlowColor[33]

And in your command you don't need to check for access, if you want all players to use it, so in the glow function lets just say the function is glow and this is how it should look:
Code:
public glow(id) {    if( equali(GlowColor , "red"))    {     set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25)      }      if( equali(GlowColor , "green"))    {     set_user_rendering(id,kRenderFxGlowShell,0,255,0,kRenderNormal,25)      }    if( equali(GlowColor , "blue"))    {     set_user_rendering(id,kRenderFxGlowShell,0,0,255,kRenderNormal,25)      }    return PLUGIN_HANDLED }

Did this fast, kinda didn't understand your post but I think that's what you want shortened and less complicated.

*EDIT* Fixed it, thanks Suicide.

Xanimos 05-30-2006 00:03

Quote:

Originally Posted by Peli
Well to fix one of your problems, you need to make this:
Code:
if(GlowColor == "red/green/blue") to if(GlowColor[id] == "red[id]/green[id]/blue[id]")

And set these variables:
Code:
new GlowColor[33] new red[33] new green[33] new blue[33]

Then in another function, perhaps reset_hud event:
Code:
if(GlowColor[id] == red[id]) {    set_user_rendering(blah) } // and so on...

WHAT?!?!


No just use if( equali(GlowColor , "red") ) instead of if( GlowColor == "red")

Peli 05-30-2006 00:05

Quote:

Originally Posted by Suicid3
Quote:

Originally Posted by Peli
Well to fix one of your problems, you need to make this:
Code:
if(GlowColor == "red/green/blue") to if(GlowColor[id] == "red[id]/green[id]/blue[id]")

And set these variables:
Code:
new GlowColor[33] new red[33] new green[33] new blue[33]

Then in another function, perhaps reset_hud event:
Code:
if(GlowColor[id] == red[id]) {    set_user_rendering(blah) } // and so on...

WHAT?!?!


No just use if( equali(GlowColor , "red") ) instead of if( GlowColor == "red")

Yeah, noticed that, redid post, and wouldn't that way work too?

Xanimos 05-30-2006 00:08

Nope.


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

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