AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   my 2nd function just returns its usage but 1st work, but they are almost the same =_= (https://forums.alliedmods.net/showthread.php?t=82254)

Owyn 12-19-2008 21:04

my 2nd function just returns its usage but 1st work, but they are almost the same =_=
 
Code:

#include <amxmodx>
#include <amxmisc>

#define BLIND        (1<<0)

new PlayerFlags[33]
new gmsgFade

public amx_blind(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED

    new arg[32]
    read_argv(1, arg, 31)
    new user = cmd_target(id, arg, 5)
    if(!user)
        return PLUGIN_HANDLED

    new authid[16], name2[32], authid2[16], name[32]
    get_user_authid(id, authid, 15)
    get_user_name(id, name, 31)
    get_user_authid(user, authid2, 15)
    get_user_name(user, name2, 31)

    if(PlayerFlags[user] & BLIND)
    {
        console_print(id, "Client ^"%s^" is already blind", name2)
        return PLUGIN_HANDLED
    }
    else
    {
        new bIndex[2]
        bIndex[0] = user
        PlayerFlags[user] += BLIND
        set_task(1.0, "delay_blind", 0, bIndex, 2)
        message_begin(MSG_ONE, gmsgFade, {0,0,0}, user) // use the magic #1 for "one client" 
        write_short(1<<12) // fade lasts this long duration 
        write_short(1<<8) // fade lasts this long hold time 
        write_short(1<<0) // fade type IN
        write_byte(0) // fade red 
        write_byte(0) // fade green 
        write_byte(0) // fade blue   
        write_byte(255) // fade alpha   
        message_end()
    }
    switch(get_cvar_num("amx_show_activity"))
    {
        case 2:  server_cmd("amx_chat ADMIN %s: blinded %s", name, name2)
        case 1:  server_cmd("amx_chat ADMIN: blinded %s", name2)

    }
    console_print(id, "Client ^"%s^" blinded", name2)
    return PLUGIN_HANDLED
}

public amx_unblind(id, level, cid)
{
    if(!cmd_access(id, level, cid, 4))
        return PLUGIN_HANDLED

    new arg[32]
    read_argv(1, arg, 31)
    new user = cmd_target(id, arg, 5)
    if(!user)
        return PLUGIN_HANDLED

    new authid[16], name2[32], authid2[16], name[32]
    get_user_authid(id, authid, 15)
    get_user_name(id, name, 31)
    get_user_authid(user, authid2, 15)
    get_user_name(user, name2, 31)
   
    if(PlayerFlags[user] & BLIND)
    {
        new bIndex[2]
        bIndex[0] = user
        PlayerFlags[user] -= BLIND
        message_begin(MSG_ONE, gmsgFade, {0,0,0}, user) // use the magic #1 for "one client" 
        write_short(1<<12) // fade lasts this long duration 
        write_short(1<<8) // fade lasts this long hold time 
        write_short(1<<1) // fade type OUT
        write_byte(0) // fade red 
        write_byte(0) // fade green 
        write_byte(0) // fade blue   
        write_byte(255) // fade alpha   
        message_end()
    }
    else
    {
        console_print(id, "Client ^"%s^" is already unblind", name2)
        return PLUGIN_HANDLED
    }
    switch(get_cvar_num("amx_show_activity"))
    {
        case 2:  server_cmd("amx_chat ADMIN %s: unblinded %s", name, name2)
        case 1:  server_cmd("amx_chat ADMIN: unblinded %s", name2)
    }
    console_print(id, "Client ^"%s^" unblinded", name2)
    return PLUGIN_HANDLED
}

public screen_fade(id)
{
    new bIndex[2]
    bIndex[0] = id
    set_task(0.5, "delay_blind", 0, bIndex, 2)
    return PLUGIN_CONTINUE
}

public delay_blind(bIndex[])
{
    new id = bIndex[0]
    if(PlayerFlags[id])
    {
        // Blind Bit 
        message_begin(MSG_ONE, gmsgFade, {0,0,0}, id) // use the magic #1 for "one client"
        write_short(1<<0) // fade lasts this long duration
        write_short(1<<0) // fade lasts this long hold time
        write_short(1<<2) // fade type HOLD
        write_byte(0) // fade red
        write_byte(0) // fade green
        write_byte(0) // fade blue 
        write_byte(255) // fade alpha 
        message_end()
    }
    return PLUGIN_CONTINUE
}

public plugin_init()
{
    register_plugin("AMX Blind","v1.0","T(+)rget")
   
    gmsgFade = get_user_msgid("ScreenFade")
    register_event("ScreenFade", "screen_fade", "b")

    register_concmd("amx_blind","amx_blind", ADMIN_KICK, "<authid, nick or #userid>")
    register_concmd("amx_unblind","amx_unblind", ADMIN_KICK, "<authid, nick or #userid>")
    register_cvar("amx_show_activity","2")

    return PLUGIN_CONTINUE
}

i can use amx_blind name fine but when i want to use amx_unblind
it just returns its usage in console:

Quote:

amx_unblind name
Usage: amx_unblind <authid, nick or #userid
happened to me after updating my server to new version, please help me to fix unblind command, thx

danielkza 12-19-2008 21:06

Re: my 2nd function just returns its usage but 1st work, but they are almost the same
 
You inverted the cmd_targets' parameter count. In amx_blind it should be 4, and in amx_unblind it should be 2.

Owyn 12-20-2008 05:58

Re: my 2nd function just returns its usage but 1st work, but they are almost the same
 
thx, that was suspicious =)


All times are GMT -4. The time now is 09:11.

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