PDA

View Full Version : Putting minute variable into server_cmd


spiderbites
04-16-2008, 09:57
how do put 'minute' entered in command:
amx_ban2 "name" "min"

into

this:
server_cmd("amx_banip #%d "x min" Banned!",get_user_userid(id));

here's the script portion:
public plugin_init() {

register_plugin(PLUGIN, VERSION, AUTHOR);

register_concmd("amx_ban2", "cmdBan", ADMIN_RCON, "<#name/userid> <#time>");
}


public cmdBan(id, level, cid)
{
if(!cmd_access(id, level, cid, 3))
return 1;

new sArg[32], sArg1[10];
read_argv(1, sArg, sizeof sArg - 1);
read_argv(2, sArg1, sizeof sArg1 - 1);

new iTarget = cmd_target(id, sArg, 8;

if(!iTarget)
return 1;

new iBanTime = ((str_to_num(sArg1) * 60) + get_systime());

if(str_to_num(sArg1) <= 0)
iBanTime = 9999999999;

// blablablabla........

server_cmd("amx_banip #%d "x min" Banned!",get_user_userid(id));
return 1;
}

Arkshine
04-16-2008, 10:03
It should work like that.

server_cmd("amx_banip #%d %d Banned!",get_user_userid(id), iBanTime);

Also, you don't need to use the command : amx_banip.

You can wite directly something like :

new address[32]
get_user_ip(player, address, 31, 1)

server_cmd("kick #%d ^"Banned!^";wait;addip ^"%s^" ^"%s^";wait;writeip", get_user_userid(id), minutes, address)

Take a look in admincmd.sma.

spiderbites
04-16-2008, 10:24
It should work like that.

Code:
server_cmd("amx_banip #%d %d Banned!",get_user_userid(id), iBanTime);



nah..i cannot take minutes from "ibantime" as it's not the minutes originally entered in command amx_ban2 "name" "min"

new iBanTime = ((str_to_num(sArg1) * 60) + get_systime());


how do i create variable to hold "minutes" from this command: amx_ban2 "name" "min"

Arkshine
04-16-2008, 10:53
It doesn't matter. You get the idea. sArg1 seems to be the orginal value, so :

server_cmd("amx_banip #%d %s ^"Banned!^"",get_user_userid(id), sArg1 );

how do i create variable to hold "minutes" from this command: amx_ban2 "name" "min"

I don't understand what you want. "min" is already saved in 'sArg1'...

spiderbites
04-23-2008, 04:55
yep it's sArg1.

btw i run this plugin on my test server at localhost and when i try to ban someone else from other lan ip, this script will ban me instead. not sure why

public cmdBanConfig(id, level, cid)
{
if(!cmd_access(id, level, cid, 3))
return 1;

new name[32]
new address[32]
new sArg[32], sArg1[10];

get_user_name(id,name,31)
get_user_ip(id, address, 31, 1)

read_argv(1, sArg, sizeof sArg - 1);
read_argv(2, sArg1, sizeof sArg1 - 1);

new iTarget = cmd_target(id, sArg, 8);

if(!iTarget)
return 1;

new iBanTime = ((str_to_num(sArg1) * 60) + get_systime());

if(str_to_num(sArg1) <= 0)
iBanTime = 9999999999;

//bla blabla

server_cmd("kick #%d ^"Banned!^";wait;addip ^"%s^" ^"%s^";wait;writeip", get_user_userid(id), sArg1, address)
log_to_file("ban2.log", "Banned: ^"%s^" %s %s min", name, address, sArg1)
return 1;
}


ban2.log:

L 04/23/2008 - 16:33:48: Banned: "Localhost" 192.168.123.115 1 min

I used other nick but in the log it writes my server name - Localhost :shock: also after i was banned, the ban reason showed was "Added to banned list" or something instead of "Banned".

how to fix all these bugs?

Howdy!
04-23-2008, 09:38
server_cmd("kick #%d ^"Banned!^";wait;addip ^"%s^" ^"%s^";wait;writeip", get_user_userid(iTarget), sArg1, address)

Since you wan't get targets steamid not the person who used the command (id).


get_user_name(iTarget, name, 31)
get_user_ip(iTarget, address, 31, 1)


Same here.

spiderbites
04-23-2008, 10:58
ah..no wonder it banned me. thanks alot howdy!

soccdoodcss
04-23-2008, 16:55
All LAN players share steamids.