Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

История благодарностей участнику ShaTalKiN ::: Спасибо сказали: 15
Дата поста: В теме: За сообщение: Спасибо сказали:
2.2.2016, 11:14 [knife_dm_engine] Author: ShaTalKiN
Глобальное обновление !
Изменения
- Удалена бомба, заложники, миссии, Buy Zone на картах
- Создан комфорт игры разделяющий такие возможностии как: Голос, Паутинка, Шаги, Звуки, Логотипы, Радио команды, возможность включать/отключать в конфиге мода, выдавать игрокам через Админ Меню
- Сделан профиль игрока, игрок сам может отключить то, что ему не к чему. Например: (Информер, Статус игрока при наведении прицела, и тд.)
- Костюмы, Ножи, Магазин, с удобной и гибкой настройкой
- Режимы:
[1] Классический режим без DM с призом ($) команде за победу (Глобальный, проходит в автоматическом режиме через определённый период времени, заданный в конфиге мода)
[2] Турнир с управлением и выбором противников (Данный режим позволит заинтересовать игроков, дать возможность показать свои навыки владения ножом)
- Мини игры на ($):
[1] Лото на билетах
[2] Дуель
- Сделано минимум hud сообщений, важные, выводятся в 1 и том же месте на экране (Dhud не юзаем)
CBETJIAHA
18.1.2015, 19:35 To Play Radio
Цитата(voed @ 8.1.2015, 19:15) *
Достаточно show_motd(id, "http://pofm.ru/pub/184_stat.html","[EUROPA PLUS]"), зачем делать кучу файлов и редиректы @_@


Проще наверно в .txt заменить, чем по 100 раз компилировать...
TheArtemMaps
29.12.2014, 16:54 hud informer убийства и смерти
Цитата(192168099 @ 29.12.2014, 17:41) *
Визуально посмотрел, вроде код одинаковый или я ошибаюсь ?


26 строка.
192168099
29.12.2014, 15:48 hud informer убийства и смерти
Цитата(192168099 @ 29.12.2014, 8:45) *
ShaTalKiN - слушай, а можно попросить, немного подправить этот плаг, а именно, чтобы этот информер был виден только Мёртвым и Живым.
А то он и на Спектаторов срабатывает. Если ты перешёл в Спектаторы, надо чтобы его не было видно, чтобы он им не выводился.
Заранее спс.

GDon - О каком ты плаге имеешь ввиду ?



Проще поставить проверку на живого, держи.
192168099
28.12.2014, 13:47 autoteambalancer
Цитата(server @ 26.12.2014, 20:57) *
Народ подскажите есть ли где teambalancer который посреди раунда делает автобаланс не убивая игроков (скажем раунд 8 минут длится и бывает скажем 10 на 20) Только бесконечный раунд не предлагайте) заранее спасибо


Я думаю это то, что вам подойдёт: https://shop.fungun.net/?p=show&id=77
ex3m777
28.12.2014, 13:41 hud informer убийства и смерти
Цитата(kadet094 @ 28.12.2014, 0:19) *
Привет, возможно кто то знает что за плагин спасибо заранее
[attachment=29990:2014_12_28_00002.jpg]



Держи, 5 минут и готово :)
192168099, Nebo
24.12.2014, 22:38 Может ли быть что сервер выкидывает игрока "SZ_GetSpace: overflow on Client Datagram" из-за плагина?
Цитата(Naiteki @ 24.12.2014, 16:17) *
Может ли быть что сервер выкидывает игроков с такой ошибкой из-за плагина "Admin Spec ESP"?
WARNING: msg overflowed for Player
SZ_GetSpace: overflow on Client Datagram


Нашёл что этот WARNING может быть из-за плагинов с "message_begin(MSG_ONE_UNRELIABLE, ...)". MAX Client Datagram buffer size 4000 bytes.

Admin Spec ESP v1.6

Код:

#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Admin Spectator ESP"
#define VERSION "1.6"
#define AUTHOR "KoST"

#define OFFSET_TEAM 114

enum {
ESP_ON = 0,
ESP_LINE,
ESP_BOX
}

new bool:admin[33], bool:first_person[33], bool:ducking[33], bool:admin_options[33][10], bool:is_in_menu[33]
new team_colors[4][3]={{0,0,0},{150,0,0},{0,0,150},{0,150,0}}
new esp_colors[5][3]={{0,255,0},{100,60,60},{60,60,100},{255,0,255},{128,128,128}}
new view_target[33], damage_done_to[33], spec[33], pcvar_esp_default_keys, laser, max_players

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

pcvar_esp_default_keys = register_cvar("esp_disable_default_keys","0")

register_clcmd("esp_menu", "cmd_esp_menu", ADMIN_KICK, "Shows ESP Menu")
register_clcmd("esp_toggle", "cmd_esp_toggle", ADMIN_KICK, "Toggle ESP on/off")
register_clcmd("esp_setting", "cmd_esp_settings", ADMIN_KICK, "ESP adasdsassdasd")

register_event("StatusValue", "spec_target", "bd", "1=2")
register_event("SpecHealth2", "spec_target", "bd")
register_event("TextMsg", "spec_mode", "b", "2&#Spec_Mode")
register_event("Damage", "event_Damage", "b", "2!0", "3=0", "4!0")
register_event("ResetHUD", "reset_hud_alive", "be")

register_forward(FM_PlayerPreThink, "fwdPlayerPreThink")

new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2
register_menucmd(register_menuid("Admin Specator ESP"), keys, "menu_esp")

max_players = get_maxplayers()

set_task(1.0, "esp_timer")
}

public plugin_precache()
laser=precache_model("sprites/laserbeam.spr")

public client_putinserver(id)
{
first_person[id]=false
if (get_user_flags(id) & ADMIN_KICK)
{
admin[id]=true
init_admin_options(id)
}
else
admin[id]=false
}

public client_disconnect(id)
{
save2vault(id)
admin[id] = false
spec[id] = 0
}

public reset_hud_alive(id)
spec[id] = 0

public cmd_esp_settings(id)
{
if (admin[id])
{
new out[11], len = strlen(out)
read_argv(1, out, 4)
for (new i=0;i<len;i++)
{
if (out[i]=='1')
admin_options[id][i]=true
else
admin_options[id][i]=false
}
}
}

public cmd_esp_menu(id)
{
if (admin[id])
{
show_esp_menu(id)
}
}

public cmd_esp_toggle(id)
{
if (admin[id])
{
change_esp_status(id, !admin_options[id][0])
}
}

show_esp_menu(id)
{
is_in_menu[id] = true
new menu[501]
new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2
new onoff[2][] = {{"\roff\w"},{"\yon\w"}}
new text[2][] = {{"(use move forward/backward to switch on/off)"},{"(use esp_toggle command to toggle)"}}
new text_index = get_pcvar_num(pcvar_esp_default_keys)
if (text_index!=1) text_index=0
formatex(menu, 500, "Admin Specator ESP^n %s %s^n^n1. Линии %s^n2. Квадраты %s^n^n0. Выход", onoff[admin_options[id][ESP_ON]], text[text_index],
onoff[admin_options[id][ESP_LINE]],
onoff[admin_options[id][ESP_BOX]])
show_menu(id, keys,menu)

return PLUGIN_HANDLED
}

public menu_esp(id, key)
{
if (key==9)
{
is_in_menu[id]=false
return PLUGIN_HANDLED
}
if (admin_options[id][key+1])
admin_options[id][key+1]=false
else
admin_options[id][key+1]=true

show_esp_menu(id)
return PLUGIN_HANDLED
}

public event_Damage(id)
{
if (id>0)
{
new attacker=get_user_attacker(id)
if (attacker>0 && attacker<=max_players)
{
if (view_target[attacker]==id)
damage_done_to[attacker]=id
}
}
return PLUGIN_CONTINUE
}

public spec_mode(id)
{
new specMode[12]
read_data(2, specMode, 11)

if(equal(specMode,"#Spec_Mode4"))
first_person[id]=true
else
first_person[id]=false

return PLUGIN_CONTINUE
}

public spec_target(id)
{
if (id>0)
{
new target=read_data(2)
if (target!=0)
spec[id]=target
}
return PLUGIN_CONTINUE
}

init_admin_options(id)
{
for (new i=0;i<4;i++)
{
admin_options[id][i] = true
}
load_vault_data(id)
}

save2vault(id)
{
if (admin[id])
{
new authid[35], tmp[11], key[41]
get_user_authid(id, authid, charsmax(authid))

for (new s=0;s<4;s++)
{
if (admin_options[id][s])
tmp[s]='1'
else
tmp[s]='0'
}
tmp[4]=0

formatex(key, charsmax(key), "ESP_%s", authid)
set_vaultdata(key, tmp)
}
}

load_vault_data(id)
{
if (admin[id])
{
new data[11], authid[35], key[41]
get_user_authid (id, authid, charsmax(authid))
formatex(key, 40, "ESP_%s", authid)
get_vaultdata(key, data, 4)
if (strlen(data) > 0)
{
for (new s=0;s<4;s++)
{
if (data[s]=='1')
admin_options[id][s]=true
else
admin_options[id][s]=false
}
}
}
}

change_esp_status(id, bool:on)
{
if (on)
{
admin_options[id][0] = true
if (!is_in_menu[id]) client_print(id, print_chat, "[%s] ON", PLUGIN)
if (is_in_menu[id]) show_esp_menu(id)
}
else
{
admin_options[id][0] = false
if (!is_in_menu[id]) client_print(id, print_chat, "[%s] OFF", PLUGIN)
if (is_in_menu[id]) show_esp_menu(id)
}
}

public fwdPlayerPreThink(id)
{
if (!is_user_connected(id)) return FMRES_IGNORED

static button, oldbutton
button=pev(id, pev_button)
if (button==0) return FMRES_IGNORED

oldbutton=pev(id, pev_oldbuttons)

if (button & IN_DUCK)
ducking[id]=true
else
ducking[id]=false

if (get_pcvar_num(pcvar_esp_default_keys) !=1)
{
if (admin[id])
{
if (first_person[id] && !is_user_alive(id))
{
if ((button & IN_FORWARD) && !(oldbutton & IN_FORWARD) && !admin_options[id][0])
{
change_esp_status(id, true)
}
if ((button & IN_BACK) && !(oldbutton & IN_BACK) && admin_options[id][0])
{
change_esp_status(id, false)
}
}
}
}
return FMRES_HANDLED
}

public esp_timer()
{
static spec_id, Float:my_origin[3], my_team, target_team, Float:target_origin[3], Float:distance, width, Float:v_middle[3],
Float:v_hitpoint[3], Float:distance_to_hitpoint, Float:scaled_bone_len, Float:scaled_bone_width, Float:v_bone_start[3],
Float:v_bone_end[3], Float:offset_vector[3], Float:eye_level[3], Float:distance_target_hitpoint, actual_bright, color

for (new i=1;i<=max_players;i++)
{
if (admin_options[i][ESP_ON] && first_person[i] && is_user_connected(i) && admin[i] && (!is_user_alive(i)) && (spec[i]>0) && is_user_alive(spec[i]))
{
spec_id=spec[i]
pev(i, pev_origin, my_origin)
my_team = get_pdata_int(spec_id, OFFSET_TEAM)

for (new s=1;s<=max_players;s++)
{
if (is_user_alive(s))
{
target_team = get_pdata_int(s, OFFSET_TEAM)
if (!(target_team ==3))
{
if (spec_id !=s)
{
if (((my_team != target_team && (target_team ==1 || target_team ==2))))
{
pev(s, pev_origin, target_origin)
distance=vector_distance(my_origin, target_origin)

if (admin_options[i][ESP_LINE])
{
if (distance<2040.0)
width=(255-floatround(distance/8.0))/3
else
width=1

make_TE_BEAMENTPOINT(i, target_origin, width,target_team)
}

subVec(target_origin,my_origin,v_middle)

engfunc(EngFunc_TraceLine, my_origin, target_origin, 1, -1, 0)
get_tr2(0, TR_vecEndPos, v_hitpoint)

distance_to_hitpoint = vector_distance(my_origin, v_hitpoint)

if (ducking[spec_id])
scaled_bone_len=distance_to_hitpoint/distance*(50.0-18.0)
else
scaled_bone_len=distance_to_hitpoint/distance*50.0

scaled_bone_len=distance_to_hitpoint/distance*50.0
scaled_bone_width=distance_to_hitpoint/distance*150.0
normalize(v_middle,offset_vector,distance_to_hitpoint-10.0)

copyVec(my_origin,eye_level)

if (ducking[spec_id])
eye_level[2]+=12.3
else
eye_level[2]+=17.5

addVec(offset_vector,eye_level)

copyVec(offset_vector,v_bone_start)
copyVec(offset_vector,v_bone_end)
v_bone_end[2]-=scaled_bone_len

distance_target_hitpoint=distance-distance_to_hitpoint
actual_bright=255

if (admin_options[i][ESP_BOX])
{
if (distance_target_hitpoint<2040.0)
actual_bright=(255-floatround(distance_target_hitpoint/12.0))
else
actual_bright=85

if (distance_to_hitpoint!=distance)
color=0
else
color=target_team

if (damage_done_to[spec_id]==s)
{
color=3
damage_done_to[spec_id]=0
}
make_TE_BEAMPOINTS(i,color,v_bone_start,v_bone_end,floatround(scaled_bone_width)
,actual_bright)
}
}
}
}
}
}
}
}
set_task(0.3, "esp_timer")
return PLUGIN_CONTINUE
}

Float:getVecLen(Float:Vec[3])
{
new Float:VecNull[3]={0.0,0.0,0.0}
new Float:len=vector_distance(Vec,VecNull)
return len
}

normalize(Float:Vec[3],Float:Ret[3],Float:multiplier)
{
new Float:len=getVecLen(Vec)
copyVec(Vec,Ret)
Ret[0]/=len
Ret[1]/=len
Ret[2]/=len
Ret[0]*=multiplier
Ret[1]*=multiplier
Ret[2]*=multiplier
}

copyVec(Float:Vec[3],Float:Ret[3])
{
Ret[0]=Vec[0]
Ret[1]=Vec[1]
Ret[2]=Vec[2]
}

subVec(Float:Vec1[3],Float:Vec2[3],Float:Ret[3])
{
Ret[0]=Vec1[0]-Vec2[0]
Ret[1]=Vec1[1]-Vec2[1]
Ret[2]=Vec1[2]-Vec2[2]
}

addVec(Float:Vec1[3],Float:Vec2[3])
{
Vec1[0]+=Vec2[0]
Vec1[1]+=Vec2[1]
Vec1[2]+=Vec2[2]
}

make_TE_BEAMPOINTS(id,color,Float:Vec1[3],Float:Vec2[3],width,brightness)
{
message_begin(MSG_ONE_UNRELIABLE ,SVC_TEMPENTITY,{0,0,0},id)
write_byte(0)
write_coord(floatround(Vec1[0]))
write_coord(floatround(Vec1[1]))
write_coord(floatround(Vec1[2]))
write_coord(floatround(Vec2[0]))
write_coord(floatround(Vec2[1]))
write_coord(floatround(Vec2[2]))
write_short(laser)
write_byte(3)
write_byte(0)
write_byte(3)
write_byte(width)
write_byte(0)
write_byte(esp_colors[color][0])
write_byte(esp_colors[color][1])
write_byte(esp_colors[color][2])
write_byte(brightness)
write_byte(0)
message_end()
}

make_TE_BEAMENTPOINT(id,Float:target_origin[3],width,target_team)
{
message_begin(MSG_ONE_UNRELIABLE,SVC_TEMPENTITY,{0,0,0},id)
write_byte(1)
write_short(id)
write_coord(floatround(target_origin[0]))
write_coord(floatround(target_origin[1]))
write_coord(floatround(target_origin[2]))
write_short(laser)
write_byte(1)
write_byte(1)
write_byte(3)
write_byte(width)
write_byte(0)
write_byte(team_colors[target_team][0])
write_byte(team_colors[target_team][1])
write_byte(team_colors[target_team][2])
write_byte(255)
write_byte(0)
message_end()
}



https://c-s.net.ua/forum/topic42127.html
Naiteki
24.12.2014, 18:30 Kill Manager Sound, система звуков при убийствах.
Автор: ShaTalKiN
Версия: 1.2
Официальный релиз: 15.12.2014
Исходник присутствует.
Идеи плагина взяты из знакомого всеми QuakeSounds и MiscStats.

Описание:
Плагин подойдёт для тех, кто любит слышать приятные звуки при убийстве противников.
Плагин очень хорошо оптимизирован и легко настраивается.

В нём присутствуют:
Переведённый на 2 языка Lang файл и два файла для конфигурации плагина .cfg и .ini.
Звук - Кол-во убийств для него настраиваемое в .cfg/.ini .
Звук убийства с гранаты.
Звук убийства с ножа.
Звук убийства своего тиммейта.
Звук убийства в голову.

FAQ:
Как заменить своё название звуков ?
- Заходим в папку: configs->kmansound и открываем файл kmansound.ini , дальше смотрим номер звука и его название, меняем на своё, сохраняем.
- Кол-во убийств для настроенного вами звука в kmansound.ini смотрим тут: configs/kmansound/kmansound.cfg, меняем по желанию.

Я осуществляю поддержку, и ваши предложения по этому плагину. Пишите по контактам ниже.
Контакты:
(Skype) - shatacs16 или в [BK] - vk.com/shatalkin123

Update:
v1.1: Добавлен новый квар.
v1.2: Исправлены некоторые баги, исправлены случаи убийств (Граната, Нож и TeamKill).
v1.3: Последняя стабильная версия.
BariN, ladders, Nebo, sot100, TJhack
21.12.2014, 15:20 убрать суицид
Цитата(Kasper55 @ 21.12.2014, 8:20) *
Можно , получается это нужно вырезать ?


Код
#include amxmodx
#include fakemeta

#pragma dynamic 16384

new bool:g_bClientInGame[33];

public plugin_init()
{
   register_plugin("Auto Join", "1.0.2", "neygomon");
   register_clcmd("chooseteam", "ShowMenu");
   register_menucmd(register_menuid("Team Menu"), MENU_KEY_0|MENU_KEY_1|MENU_KEY_2, "HandleMenu");
    
   register_message(96, "MessageMenu");
   register_message(114, "MessageMenu");
}

public client_disconnect(id)
   g_bClientInGame[id] = false;  

public ShowMenu(id)
{
   static szMenu[190], iKeys; szMenu[0] = 0;
   add(szMenu, charsmax(szMenu), "\yВыберите действие^n^n^n"), iKeys = MENU_KEY_0;
    
   switch(g_bClientInGame[id])
   {
      case false:
      {
         add(szMenu, charsmax(szMenu), "\y[\r1\y] \wВойти в игру^n^n");
         iKeys |= MENU_KEY_1;
      }
      case true: add(szMenu, charsmax(szMenu), "\y[\r1\y] \dВойти в игру^n^n");
   }
    
   add(szMenu, charsmax(szMenu), "\y[\r2\y] \wСмотреть за игрой^n^n^n");
   iKeys |= MENU_KEY_2;
   add(szMenu, charsmax(szMenu), "\y[\r0\y] \wВыход");
   show_menu(id, iKeys, szMenu, -1, "Team Menu");
   return PLUGIN_HANDLED;
}

public HandleMenu(id, iKey)
{
   switch(iKey)
   {
      case 0:
      {
         static iNumTT, iNumCT, players[32];
         get_players(players, iNumTT, "e", "TERRORIST");
         get_players(players, iNumCT, "e", "CT");
          
         if(iNumTT > iNumCT) SetPlayerTeam(id, 2);
         else SetPlayerTeam(id, 1);
          
         g_bClientInGame[id] = true;
      }
      case 1:
      {
         engclient_cmd(id, "jointeam", "6");
         g_bClientInGame[id] = false;
      }
   }
   return PLUGIN_HANDLED;
}

public MessageMenu(iMsgId, iMsgDest, iReceiver)
{
   static szArg4[20]; get_msg_arg_string(4, szArg4, charsmax(szArg4));
   if(get_msg_arg_int(1) == 2 || (!strcmp(szArg4, "#Team_Select", 12) || !strcmp(szArg4, "#IG_Team_Select", 15) || !strcmp(szArg4, "#IG_VIP_Team_Select", 19)))
   {
      set_pdata_int(iReceiver, 205, 0);
      ShowMenu(iReceiver);
      return PLUGIN_HANDLED;
   }  
   return PLUGIN_CONTINUE;
}

SetPlayerTeam(const player, const team)
{
   set_msg_block(96|114, BLOCK_ONCE);

   set_pdata_int(player, 114, team);
   set_pdata_int(player, 121, 5);
    
   set_task(1.2, "SpawnPlayer", player);
}

public SpawnPlayer(id) if(!is_user_alive(id)) dllfunc(DLLFunc_Spawn, id);
Kasper55
21.9.2014, 14:14 [JBE] Drugs by ShaTalKiN
Цитата(Affl @ 21.9.2014, 14:07) *
ТС, Welcome
И насчет исходников - зачем вообще выкладывать плагин если тебе нет доверия на форуме? (дата реги+кол-во сообщений+кол-во благодарностей)


Кому надо тот возьмёт, я не держусь за доверие.
MYXA