Inmate#9 Posted November 19, 2006 Report Share Posted November 19, 2006 Seit ir plugins(afkbombtransfer) kr4 ja T ir afk un pie vina ir BOMB bombu parmet pie tuvaaka T!!! Kas seit nav pareizi??? #include <amxmodx> #include <fakemeta> // plugin's main information #define PLUGIN_NAME "AFK Bomb Transfer" #define PLUGIN_VERSION "0.4" #define PLUGIN_AUTHOR "VEN" // comment to avoid autodisabling the plugin on maps which not contain bomb targets #define BOMB_MAP_CHECK // float value, hud messages display time (in seconds) #define MSG_TIME 7.0 // CVAR name, affects on spawned AFK bomb carrier which never moved after spawn new CVAR_SPAWN[] = "afk_bombtransfer_spawn" // CVAR value, max. allowed bomb carrier AFK time (in seconds) new DEFAULT_SPAWN[] = "7" // CVAR name, affects on any AFK bomb carrier except one which obey previous CVAR new CVAR_TIME[] = "afk_bombtransfer_time" // CVAR value, max. allowed bomb carrier AFK time (in seconds) new DEFAULT_TIME[] = "15" // do not set this value less than "maxplayers" #define MAX_PLAYERS 32 // initial AMXX version number supported CVAR pointers in get/set_pcvar_* natives #define CVAR_POINTERS_AMXX_INIT_VER_NUM 170 // determine if get/set_pcvar_* natives can be used #if defined AMXX_VERSION_NUM && AMXX_VERSION_NUM >= CVAR_POINTERS_AMXX_INIT_VER_NUM #define CVAR_POINTERS new g_pcvar_spawn new g_pcvar_time #endif new TEAM[] = "TERRORIST" new WEAPON[] = "weapon_c4" #define FL_ONGROUND (1<<9) new bool:g_freezetime = true new bool:g_spawn new bool:g_planting new g_carrier new g_pos[MAX_PLAYERS + 1][3] new g_time[MAX_PLAYERS + 1] new g_maxplayers public plugin_init() { register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR) #if defined CVAR_POINTERS g_pcvar_spawn = register_cvar(CVAR_SPAWN, DEFAULT_SPAWN) g_pcvar_time = register_cvar(CVAR_TIME, DEFAULT_TIME) #else register_cvar(CVAR_SPAWN, DEFAULT_SPAWN) register_cvar(CVAR_TIME, DEFAULT_TIME) #endif #if defined BOMB_MAP_CHECK // is current map not contain bomb targets? if (!engfunc(EngFunc_FindEntityByString, -1, "classname", "func_bomb_target")) return #endif register_event("WeapPickup", "event_got_bomb", "be", "1=6") register_event("BarTime", "event_bar_time", "be") register_event("TextMsg", "event_bomb_drop", "bc", "2=#Game_bomb_drop") register_event("TextMsg", "event_bomb_drop", "a", "2=#Bomb_Planted") register_event("HLTV", "event_new_round", "a", "1=0", "2=0") register_logevent("logevent_round_start", 2, "1=Round_Start") set_task(1.0, "task_afk_check", _, _, _, "b") // plugin's core loop g_maxplayers = get_maxplayers() } /* *************************************************** Base **************************************************** */ public event_new_round() { g_freezetime = true g_spawn = true g_planting = false g_carrier = 0 } public event_got_bomb(id) { g_carrier = id } public event_bar_time(id) { if (id == g_carrier) { g_planting = bool:read_data(1) get_user_origin(id, g_pos[id]) g_time[id] = 0 } } public event_bomb_drop() { g_spawn = false g_planting = false g_carrier = 0 } public logevent_round_start() { new id[32], num get_players(id, num, "ae", TEAM) if (!num) // is server empty? return g_freezetime = false // update afk timers and current positions new x for (new i = 0; i < num; ++i) { x = id[i] get_user_origin(x, g_pos[x]) g_time[x] = 0 } } public task_afk_check() { if (g_freezetime) // is freezetime right now? return // afk check new id[32], num, x, origin[3] get_players(id, num, "ae", TEAM) for (new i = 0; i < num; ++i) { x = id[i] get_user_origin(x, origin) if (origin[0] != g_pos[x][0] || origin[1] != g_pos[x][1] || (x == g_carrier && g_planting)) { g_time[x] = 0 g_pos[x][0] = origin[0] g_pos[x][1] = origin[1] if (g_spawn && x == g_carrier) g_spawn = false } else g_time[x]++ } // is bomb not currently carried or Ts number less than 2? if (!g_carrier || num < 2) return #if defined CVAR_POINTERS new max_time = get_pcvar_num(g_spawn ? g_pcvar_spawn : g_pcvar_time) #else new max_time = get_cvar_num(g_spawn ? CVAR_SPAWN : CVAR_TIME) #endif // is plugin disabled (cvar <= 0) or carrier isn't afk? if (max_time <= 0 || g_time[g_carrier] < max_time) return // find who from non-afk Ts is the closest to the afk carrier get_user_origin(g_carrier, origin) new min_dist = 999999, dist, recipient, origin2[3] for (new i = 0; i < num; ++i) { x = id[i] if (g_time[x] < max_time) { get_user_origin(x, origin2) dist = get_distance(origin, origin2) if (dist < min_dist) { min_dist = dist recipient = x } } } if (!recipient) // is all Ts afk? return new carrier = g_carrier engclient_cmd(carrier, "drop", WEAPON) // drop the backpack new c4 = engfunc(EngFunc_FindEntityByString, -1, "classname", WEAPON) // find weapon_c4 entity if (!c4) return new backpack = pev(c4, pev_owner) // get backpack entity if (backpack <= g_maxplayers) return // my backpack transfer trick (improved) set_pev(backpack, pev_flags, pev(backpack, pev_flags) | FL_ONGROUND) dllfunc(DLLFunc_Touch, backpack, recipient) // hud messages stuff below set_hudmessage(0, 255, 0, 0.35, 0.8, _, _, MSG_TIME) new message[128], c_name[32], r_name[32] get_user_name(carrier, c_name, 31) get_user_name(recipient, r_name, 31) format(message, 127, "Bomb transferred to ^"%s^"^nsince ^"%s^" is AFK", r_name, c_name) for (new i = 0; i < num; ++i) show_hudmessage(id[i], "%s", message) set_hudmessage(255, 255, 0, 0.42, 0.3, _, _, MSG_TIME, _, _, 3) show_hudmessage(recipient, "You got the bomb!") } Link to comment Share on other sites More sharing options...
[TerRor_SquaD]LiL_Ew!L Posted November 19, 2006 Report Share Posted November 19, 2006 ja tas ir kachaats no http://amxmodx.org tad ieej velreiz unj lasi kartiigak tur ir par sito parakstiits vismaz 1 lapa ir Link to comment Share on other sites More sharing options...
Inmate#9 Posted November 19, 2006 Author Report Share Posted November 19, 2006 Ko lai es tur skatos??? itka visiem parejiem strada...kas man noticis...amxx atbalsta, modules visi ir, viss itkaa ir bet nestraadaa....es uzrakstu amxmodmenu spiezu 9 tad 6 (pauseplugins)skatos...atrodu to pluginu(man vins ir pedejais) a tur raada unknown!!! Ko tad lai es statos tani foruma??? Link to comment Share on other sites More sharing options...
tankeris Posted November 19, 2006 Report Share Posted November 19, 2006 sito prikolu nonemi --> ; <--- Link to comment Share on other sites More sharing options...
Inmate#9 Posted November 19, 2006 Author Report Share Posted November 19, 2006 sito prikolu nonemi --> ; <--- Kas pa prikolu??? Link to comment Share on other sites More sharing options...
Norek Posted November 20, 2006 Report Share Posted November 20, 2006 Parasti jau kompilātors parāda, kura rindiņa viņam tieši nepatīk. Link to comment Share on other sites More sharing options...
real men Posted November 20, 2006 Report Share Posted November 20, 2006 nokačā pajaunam to pluginu un kačā tikai .sma failu un tad kompilē un ja viņam kas nepatiks tad viņš tew parādīs kas viņam nepatīk cerams ka tew sanāks man šis plugins aizgāja ar 1. reizi Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now