Mam taką prośbę, w zw. z tym pluginem:
http://amxx.pl/viewtopic.php?t=415
czy byłaby możliwość, aby zamienić napis "BOT" na "pr0" albo ":- )" (emotka bez spacji ofc) oraz aby wszyscy gracze od razu po wejsciu na serwer mieli ten napis zamiast pingu?
Oto kod SMA
/* AMX Mod X script. Bot Marker plugin (c) Copyright 2007, Simon Logic '[email protected]' This file is provided AS IS (no warranties). Info: Allows admin to hide or show bot marker for bots & real users on score table. Requirements: * AMX/X 1.7x or higher * RegEx module New cvars: * amx_botmarker <-1|0|1> (default=-1) control bot marker for bots: -1 - do nothing 0 - hide 1 - show New commands: * amx_botmark <name|#userid|#ip> <0|1> set bot marker of custom user Changelog: v1.1.0 [2007-06-17] + added admin command 'amx_botmark' v1.0.0 [2007-06-16] * public release */ #include <amxmodx> #include <amxmisc> #include <regex> #pragma tabsize 4 #pragma ctrlchar '' #define MY_PLUGIN_NAME "Bot Marker" #define MY_PLUGIN_VERSION "1.1.0" #define MY_PLUGIN_AUTHOR "Simon Logic" #define MAX_CLIENTS 32 //#define _DEBUG //#define _ASSERT new g_cvarControl //----------------------------------------------------------------------------- public plugin_init() { register_plugin(MY_PLUGIN_NAME, MY_PLUGIN_VERSION, MY_PLUGIN_AUTHOR) g_cvarControl = register_cvar("amx_botmarker", "-1") register_concmd("amx_botmark", "cmdSet", ADMIN_SLAY, "<name|#userid|#ip> <0|1>") register_event("ResetHUD", "onPlayerSpawn", "be") } //----------------------------------------------------------------------------- public onPlayerSpawn(id) { if(is_user_bot(id)) { new iValue = get_pcvar_num(g_cvarControl) if(iValue > 0) set_user_info(id, "*bot", "1") else if(!iValue) set_user_info(id, "*bot", "0") } } //----------------------------------------------------------------------------- public cmdSet(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED new arg1[32], arg2[2] read_argv(1, arg1, sizeof(arg1)-1) // user address read_argv(2, arg2, sizeof(arg2)-1) // bool new player = cmd_target_ex(id, arg1, 1) if(!player) return PLUGIN_HANDLED new authid[32], name[32], authid2[32], name2[32] get_user_authid(id, authid, 31) get_user_name(id, name, 31) get_user_authid(player, authid2, 31) get_user_name(player, name2, 31) if(arg2[0] != '0') arg2 = "1" set_user_info(player, "*bot", arg2) log_amx("Cmd: "%s<%d><%s><>" changed bot marker to "%s" of "%s<%d><%s><>"", name, get_user_userid(id), authid, arg2, name2, get_user_userid(player), authid2) switch(get_cvar_num("amx_show_activity")) { case 2: client_print(0, print_chat, "ADMIN %s: changed bot marker of %s to %s", name, name2, arg2) case 1: client_print(0, print_chat, "ADMIN: changed bot marker of %s to %s", name2, arg2) } return PLUGIN_HANDLED } //----------------------------------------------------------------------------- stock bool:isIP(const ip[]) { static Regex:res new iRet new sErr[1] res = regex_match(ip, "^#d+.d+.d+.d+$", iRet, sErr, 0) if(!res) return false return true } //----------------------------------------------------------------------------- stock copyOffset(const src[], dest[], len, offset=0) { if(!offset) copy(dest, len, src) else if(offset < strlen(src)) { new iPos = 0 for(new i=offset; src[i] && iPos<len; i++,iPos++) { dest[iPos] = src[i] } dest[iPos] = 0 } } //----------------------------------------------------------------------------- /* Flags: * 1 - obey immunity * 2 - allow yourself * 4 - must be alive * 8 - can't be bot */ stock cmd_target_ex(id,const arg[],flags = 1) // extended cmd_target() to support ip { new player = find_player("bl", arg); if(player) { if (player != find_player("blj",arg)) { #if defined AMXMOD_BCOMPAT console_print(id, SIMPLE_T("There are more clients matching to your argument")); #else console_print(id,"%L",id,"MORE_CL_MATCHT"); #endif return 0; } } // NOTE: there is implicit search by authid! else if((player = find_player("c", arg)) == 0 && arg[0] == '#' && arg[1]) { player = find_player("k", str_to_num(arg[1])); // search by userid } if(!player && isIP(arg)) { new sIP[16] copyOffset(arg, sIP, sizeof(sIP)-1, 1) player = find_player("dh", sIP) // search by ip, skip bots } if (!player) { #if defined AMXMOD_BCOMPAT console_print(id, SIMPLE_T("Client with that name, userid or ip not found")); #else //console_print(id,"%L",id,"CL_NOT_FOUND"); console_print(id,"Client with that name, userid or ip not found"); #endif return 0; } if(flags & 1) { if ((get_user_flags(player)&ADMIN_IMMUNITY) && ((flags&2)?(id!=player):true) ) { new imname[32]; get_user_name(player,imname,31); #if defined AMXMOD_BCOMPAT console_print(id, SIMPLE_T("Client ^"%s^" has immunity"), imname); #else console_print(id,"%L",id,"CLIENT_IMM",imname); #endif return 0; } } if(flags & 4) { if (!is_user_alive(player)) { new imname[32]; get_user_name(player,imname,31); #if defined AMXMOD_BCOMPAT console_print(id, SIMPLE_T("That action can't be performed on dead client ^"%s^""), imname); #else console_print(id,"%L",id,"CANT_PERF_DEAD",imname); #endif return 0; } } if(flags & 8) { if (is_user_bot(player)) { new imname[32]; get_user_name(player,imname,31); #if defined AMXMOD_BCOMPAT console_print(id, SIMPLE_T("That action can't be performed on bot ^"%s^""), imname); #else console_print(id,"%L",id,"CANT_PERF_BOT",imname); #endif return 0; } } return player; } //-----------------------------------------------------------------------------
Pozdrawiam