|
Senior Member
Join Date: Sep 2010
Location: Romania
|

01-06-2014
, 07:06
Need verify addadmin if already exists
|
#1
|
Hello,
As i wrote in tittle can someone help me with this modify
PHP Code:
public cmdAddAdmin(id, level, cid) { if(!(get_user_flags(id) & ADMIN_IMMUNITY)) { console_print(id, "Nu ai primit access la aceasta comanda")
client_cmd(id, "spk ^"vox/access is denied^"") return PLUGIN_HANDLED; } new idtype = ADMIN_STEAM | ADMIN_LOOKUP
if (read_argc() >= 5) { new t_arg[16] read_argv(4, t_arg, 15) if (equali(t_arg, "steam")) { idtype = ADMIN_STEAM } else if (equali(t_arg, "ip")) { idtype = ADMIN_IPADDR } else if (equali(t_arg, "name")) { idtype = ADMIN_NAME if (equali(t_arg, "name")) { idtype |= ADMIN_LOOKUP } } else { console_print(id, "Acest nume sau authid: ^"%s^" nu poate fi gasit", t_arg) return PLUGIN_HANDLED; } }
new arg[33] read_argv(1, arg, 32) new player = -1 if (idtype & ADMIN_NAME) { player = cmd_target(id, arg, CMDTARGET_ALLOW_SELF | CMDTARGET_NO_BOTS) if (player) { idtype |= ADMIN_LOOKUP } else { idtype &= ~ADMIN_LOOKUP } } else if (idtype & ADMIN_STEAM) { if (containi(arg, "STEAM_0:") == -1) { idtype |= ADMIN_LOOKUP player = cmd_target(id, arg, CMDTARGET_ALLOW_SELF | CMDTARGET_NO_BOTS) } else { new _steamid[44] static _players[32], _num, _pv get_players(_players, _num) for (new _i=0; _i<_num; _i++) { _pv = _players[_i] get_user_authid(_pv, _steamid, sizeof(_steamid)-1) if (!_steamid[0]) { continue } if (equal(_steamid, arg)) { player = _pv break } } if (player < 1) { idtype &= ~ADMIN_LOOKUP } } } else if (idtype & ADMIN_IPADDR) { new len = strlen(arg) new dots, chars for (new i = 0; i < len; i++) { if (arg[i] == '.') { if (!chars || chars > 3) { break } if (++dots > 3) { break } chars = 0 } else { chars++ } if (dots != 3 || !chars || chars > 3) { idtype |= ADMIN_LOOKUP player = find_player("dh", arg) } } } if (idtype & ADMIN_LOOKUP && !player) { console_print(id, "Jucatorul cu acest nume / ip nu este conectat sau exista deja") return PLUGIN_HANDLED; } new flags[64]; read_argv(2, flags, 63)
new password[64]; if (read_argc() >= 4) { read_argv(3, password, 63) } new auth[33]; new Comment[33]; if (idtype & ADMIN_LOOKUP) { get_user_name(player, Comment, sizeof(Comment)-1) if (idtype & ADMIN_STEAM) { get_user_authid(player, auth, 32) } else if (idtype & ADMIN_IPADDR) { get_user_ip(player, auth, 32) } else if (idtype & ADMIN_NAME) { get_user_name(player, auth, 32) } } else { copy(auth, 32, arg) } new type[16], len if (idtype & ADMIN_STEAM) { len += format(type[len], 15-len, "c") } else if (idtype & ADMIN_IPADDR) { len += format(type[len], 15-len, "d") } if (strlen(password) > 0) { len += format(type[len], 15-len, "a") } else { len += format(type[len], 15-len, "e") } AddAdmin(id, auth, flags, password, type, Comment)
if (player > 0) { new name[32] get_user_info(player, "name", name, 31) accessUser(player, name) } client_cmd(id, "spk ^"vox/access granted for user^"") cmdReloadAdmins(id, ADMIN_CFG, 0)
return PLUGIN_HANDLED; }
AddAdmin(id, auth[], accessflags[], password[], flags[], comment[]="") { new configsDir[64] get_configsdir(configsDir, 63) format(configsDir, 63, "%s/users.ini", configsDir) if (!file_exists(configsDir)) { console_print(id, "Fisierul ^"%s^" nu exista", configsDir) return }
new line = 0, textline[256], len const SIZE = 63 new line_steamid[SIZE + 1], line_password[SIZE + 1], line_accessflags[SIZE + 1], line_flags[SIZE + 1], parsedParams while ((line = read_file(configsDir, line, textline, 255, len))) { if (len == 0 || equal(textline, ";", 1)) continue
parsedParams = parse(textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE) if (parsedParams != 4) continue if (containi(line_flags, flags) != -1 && equal(line_steamid, auth)) { console_print(id, "Adminul cu SteamID: ^"%s^" exista deja", auth) return } }
new linetoadd[512] if (comment[0]==0) { formatex(linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", auth, password, accessflags, flags) } else { formatex(linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", auth, password, accessflags, flags) } console_print(id, "Ai adaugat cu succes adminul ^"%s^"", auth)
if (!write_file(configsDir, linetoadd)) { console_print(id, "Nu s-a putut adauga adminul in %s", configsDir) } new name[32]; get_user_name(id, name, 31) chat_color(0, "!nADMIN !t%s!n: adauga admin (!g%s!n) acces (!g%s!n)", name, auth, accessflags) console_print(id, "Admin ^"%s^" cu acces ^"%s^" a fost adaugat in baza de date", auth, accessflags) log_to_file("admin.log", "ADMIN %s: adauga admin (%s) acces (%s)", name, auth, accessflags) }
I need to verify when someone add an admin and if his IP/name already exists to print a message
I see it's only for adding on steam id:
PHP Code:
if (containi(line_flags, flags) != -1 && equal(line_steamid, auth)) { console_print(id, "Adminul cu SteamID: ^"%s^" exista deja", auth) return }
Also is for this message:
PHP Code:
if (idtype & ADMIN_LOOKUP && !player) { console_print(id, "Jucatorul cu acest nume / ip nu este conectat sau exista deja") return PLUGIN_HANDLED; }
But server print this message in both case (if ip/name already exists, ori ip/name is not connect to server)
Can someone help?
Last edited by daNzEt; 01-06-2014 at 07:09.
|
|