AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   problem with argument copy (https://forums.alliedmods.net/showthread.php?t=82115)

Owyn 12-17-2008 12:42

problem with argument copy
 
problem is when i do persontoban() and ban person, it gives me value of reason = 8 , not what there was in reason =0 where does this number comes from? O_o how do i fix it?

here's the code

Code:

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Ban with proof"
#define VERSION "1.0.4"
#define AUTHOR "[lego]F34R and re-scripted by kuddo"

static const banurl[] = ""

new Bantype

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_concmd("amx_banshot","banwithproof",ADMIN_BAN,"<name> <time> <reason>")
    register_cvar("amx_banurl",banurl)
    Bantype = register_cvar("amx_banshot_type", "2")   
}


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

    new authid[32], ipadd[32], name[32], admin_name[32], reason[32], CurrentTime[9], hostname[64] ,banurl[64]
    new arg[32], arg2[32], temp[36]
   
    read_argv(1,arg,31)
    read_argv(2,arg2,31)
   
    new target = cmd_target(id,arg,1)
   
    if (!target) return PLUGIN_HANDLED
   
    get_user_ip(target,ipadd,31)
    get_cvar_string("hostname",hostname,63)
    get_user_name(target,name,31)
    get_user_authid(target,authid,31)
    get_cvar_string("amx_banurl", banurl,63)
    get_user_name(id, admin_name, 31)
    read_argv(3, reason, 31)
   
    log_to_file("BannedwithSS.txt","    %s | IP: %s | STEAMid: %s | ADMIN: %s | REASON: %s^n",name,ipadd,authid,admin_name,reason)
   
    client_print(target,print_chat, "[Server] %s",hostname)
    client_print(target,print_chat, "[Name] %s [STEAMid] %s [IP] %s",name,authid,ipadd)
    client_print(target,print_chat, "[Admin] %s [Reason] %s",admin_name,reason)
    get_time("%m/%d/%Y - %H:%M:%S",CurrentTime,31)
   
    client_print(target,print_chat, "[Date/Hour] %s",CurrentTime)
    client_print(target,print_chat, "[Website] Visit %s to be unbanned",banurl)
   
    console_print(target,"[Server] %s",hostname)
    console_print(target,"[Name] %s [STEAMid] %s [IP] %s",name,authid,ipadd)
    console_print(target,"[Admin] %s [Reason] %s",admin_name,reason)
    console_print(target,"[Date/Hour] %s",CurrentTime)
    console_print(target,"[Website] Visit %s to be unbanned",banurl)
   
    client_cmd(target,"wait;wait;snapshot;wait;snapshot")
   
    temp[0] = target
    temp[1] = str_to_num(arg2)
    temp[2] = id
    copy( temp[3], 35, reason )
   
    set_task(0.5,"persontoban", target, temp, 36)
   
    return PLUGIN_HANDLED
}

public persontoban(arg[]){
    new name2[32]
   
    new target = arg[0]
    new bantime = arg[1]
    new id = arg[2]
    new reason[32]
    copy(reason, 31, arg[3])
   
    get_user_name(target,name2,31)
   
    switch (get_pcvar_num(Bantype)){
        case 1:{
            client_cmd(id, "amx_ban %s %d %s",name2,bantime,reason)
        }
        case 2:{
            client_cmd(id, "amx_banip %s %d %s",name2,bantime,reason)
        }
        case 3:{
            client_cmd(id, "amx_ban %d %s %s",bantime,name2,reason)
        }
        case 4:{
            client_cmd(id, "amx_say Visit %s",banurl)
        }
    }
   
}


danielkza 12-17-2008 12:44

Re: problem with argument copy
 
Indentation please or I won't even care to read it.

Owyn 12-17-2008 12:48

Re: problem with argument copy
 
Quote:

Indentation
i fixed it

danielkza 12-17-2008 12:58

Re: problem with argument copy
 
Why are you using a task for this? Just call persontoban() normally. Also, I don't get what was the original problem. How can you want persontoban to return anything if you're scheduling it for later?

Owyn 12-17-2008 13:00

Re: problem with argument copy
 
but it worked with all other arguments, like target, id and bantime =0

danielkza 12-17-2008 13:01

Re: problem with argument copy
 
Quote:

Originally Posted by .Owyn. (Post 728829)
but it worked with all other arguments, like name, name2 and bantime =0

I still don't get what you're trying to achieve. Could please explain what you want to retrieve exactly?

Owyn 12-17-2008 13:04

Re: problem with argument copy
 
i type amx_banshot name time reason, it bans a person, makes two screens, prints info on their screen ane do amx_banip name time reason

only problem is amx_banip name time reason, where reason is allways set to "8" and i have no idea why 8

everything works xept reason =3

Spunky 12-18-2008 01:25

Re: problem with argument copy
 
PHP Code:

if(!cmd_access(id,level,cid,2)) 

Should be:

PHP Code:

if (!cmd_access(idlevelcid4)) 

Since you have 4 arguments, including the command itself.

Owyn 12-18-2008 06:36

Re: problem with argument copy
 
oh, i fixed that, but i'm still getting
Reason: 8

anakin_cstrike 12-18-2008 11:51

Re: problem with argument copy
 
PHP Code:

// global variable
new g_reason32 ];

// ....

public yourfunc()
{
    
// read reason
    
new reason32 ];
    
read_argv3reasonsizeof reason );
    
    
copyg_reason31reason );
    
    
set_task3.0"something" );
    return 
1;
}

public 
something() client_print0print_chatg_reason ); 



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

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