AMX MOD X
Пятница, 06.03.2026, 09:47:14



Приветствую Вас Гость | RSS
[ Главная ] [ Как убрать egon из hl1? - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: AlMod, slogic  
Как убрать egon из hl1?
ArgusДата: Понедельник, 18.08.2008, 18:24:37 | Сообщение # 1
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
как убрать egon из hl1?

Правила форума
Поиск плагинов
Последние сообщения форума
 
DaTaДата: Понедельник, 18.08.2008, 19:52:19 | Сообщение # 2
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (Argus)
как убрать egon из hl1?

Code
#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
   register_plugin("Remove egon", "1.1", "DaTa")
   new eEnt
   while(  ( eEnt = engfunc(EngFunc_FindEntityByString, eEnt, "classname", "weapon_egon") ) )
    engfunc(EngFunc_RemoveEntity, eEnt)
}
 
unKn0wnДата: Понедельник, 18.08.2008, 20:03:07 | Сообщение # 3
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
DaTa пасиба, атличный анти-бот :)
А как переписать чтобы заменить его на патроны от него? Всётаки многие берут egon только из-за патронов...


 
DaTaДата: Понедельник, 18.08.2008, 20:24:26 | Сообщение # 4
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
ну у него свои патроны, насколько я понял - нужны патроны для гаусса?
Code
#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
  register_plugin("Replace egon", "1.2", "DaTa")
   
  new eEnt, Float:vOrigin[3]
   
  new ipsz_ammo_gaussclip = engfunc(EngFunc_AllocString, "ammo_gaussclip")
   
  while(  ( eEnt = engfunc(EngFunc_FindEntityByString, eEnt, "classname", "weapon_egon") ) )
  {
   pev(eEnt, pev_origin, vOrigin)
   engfunc(EngFunc_RemoveEntity, eEnt)
    
   eEnt = engfunc(EngFunc_CreateNamedEntity, ipsz_ammo_gaussclip)
   dllfunc(DLLFunc_Spawn, eEnt)
   engfunc(EngFunc_SetOrigin, vOrigin)
  }
}

не уверен, что работает, нет возможности проверить
 
unKn0wnДата: Понедельник, 18.08.2008, 20:30:28 | Сообщение # 5
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
у него такие же патроны как и у tau_canon, или gauss. Плагин неработает а точнее серв перестаёт работать :) . Вобщем при запуске сервера, он сразу же закрываеться.

 
DaTaДата: Понедельник, 18.08.2008, 21:52:47 | Сообщение # 6
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (unKn0wn)
него такие же патроны как и у tau_canon, или gauss. Плагин неработает а точнее серв перестаёт работать :) . Вобщем при запуске сервера, он сразу же закрываеться.

будет время - поколдую над kve
 
unKn0wnДата: Понедельник, 18.08.2008, 22:04:19 | Сообщение # 7
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Смотря на первый код я думал, что бдует проще.. :)

 
DaTaДата: Вторник, 19.08.2008, 01:27:01 | Сообщение # 8
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (unKn0wn)
у него такие же патроны как и у tau_canon, или gauss. Плагин неработает а точнее серв перестаёт работать :) . Вобщем при запуске сервера, он сразу же закрываеться.

попробуй это
Code
#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
   
  register_plugin("Replace egon", "1.3", "DaTa")
   
   
  new eEnt, Float:vOrigin[3]
   
  new ipsz_ammo_gaussclip = engfunc(EngFunc_AllocString, "ammo_gaussclip")
   
  while(  ( eEnt = engfunc(EngFunc_FindEntityByString, eEnt, "classname", "weapon_egon") ) )
  {
   pev(eEnt, pev_origin, vOrigin)
   engfunc(EngFunc_RemoveEntity, eEnt)
    
   eEnt = engfunc(EngFunc_CreateNamedEntity, ipsz_ammo_gaussclip)
   set_pev(eEnt, pev_origin, vOrigin)
   dllfunc(DLLFunc_Spawn, eEnt)
  }
}
 
unKn0wnДата: Вторник, 19.08.2008, 02:36:08 | Сообщение # 9
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Всё работает, спасибо за плагин, хоть он и не по теме топикстертера :)

 
ArgusДата: Вторник, 19.08.2008, 10:47:02 | Сообщение # 10
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
спасибо, Data, то что надо :)

хмм, тока тут проблемка - остановка плагина не отменяет его действий, потому что весь код написан в plugin_init, что не есть хорошо.

в общем, я добавил cvar amx_removeegon, которым можно регулировать работоспособность плагина ;)

+ ещё на некоторых картах weapon_egon неуместно заменять на ammo_gaussclip, ибо респавнишся, а возле тебя одни патроны -_-

для этого в amx_entityset пишем названия entity, которую хотим вместо weapon_egon, например weapon_shotgun или weapon_crossbow.

вообще, можно плагин так доработать, чтобы на каждой карте каждый раз был случайный набор оружия. это освежит приевшиеся карты, внеся в них новые стволы, которые, до этого, на этой карте не попадались.

Code
#include <amxmodx>
#include <fakemeta>

new pcvar_amx_removeegon
new pcvar_amx_entityset

public plugin_init()
{
       register_plugin("Replace egon", "1.3.1", "DaTa & Argus")
       pcvar_amx_removeegon = register_cvar("amx_removeegon","1")
       pcvar_amx_entityset = register_cvar("amx_entityset","ammo_gaussclip")
       admin_removeegon()
}
             
public admin_removeegon()
{        

       if (!(get_pcvar_num(pcvar_amx_removeegon)))
         return PLUGIN_HANDLED

       new eEnt, Float:vOrigin[3]
       new entitystr[64]
                          
       get_pcvar_string(pcvar_amx_entityset, entitystr, 63);
             
       new ipsz_ammo_gaussclip = engfunc(EngFunc_AllocString, entitystr)
             
       while(  ( eEnt = engfunc(EngFunc_FindEntityByString, eEnt, "classname", "weapon_egon") ) )
       {
        pev(eEnt, pev_origin, vOrigin)
        engfunc(EngFunc_RemoveEntity, eEnt)
              
        eEnt = engfunc(EngFunc_CreateNamedEntity, ipsz_ammo_gaussclip)
        set_pev(eEnt, pev_origin, vOrigin)
        dllfunc(DLLFunc_Spawn, eEnt)

       }
       return PLUGIN_HANDLED
}


Правила форума
Поиск плагинов
Последние сообщения форума


Сообщение отредактировал Argus - Среда, 20.08.2008, 14:26:17
 
DaTaДата: Вторник, 19.08.2008, 18:48:06 | Сообщение # 11
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (Argus)
в общем, я добавил cvar amx_removeegon, которым можно регулировать работоспособность плагина ;)

вообщем если ты добавляешь что-то незначительное - дописывай свое имя, т.к. это уже не является чисто моим кодом

если тебе понравилась идея, и ты хочешь ее в нечто другое развить - создай отдельный плагин, так где в авторах будет только твое имя(даже если он и использует часть моего кода)

 
AlModДата: Вторник, 19.08.2008, 19:26:33 | Сообщение # 12
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
Гы! Баян ^_^
я написал заменялку оружия для хл еще год назад примерно, управляется все через файл, в котором указывается какое оружие на какое надо заменить


 
ArgusДата: Вторник, 19.08.2008, 20:36:55 | Сообщение # 13
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
Quote (AlMod)
я написал заменялку оружия для хл еще год назад примерно

ну и де она)


Правила форума
Поиск плагинов
Последние сообщения форума
 
unKn0wnДата: Среда, 20.08.2008, 13:47:21 | Сообщение # 14
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Argus,
Ошибка так и должна быть?
Code
//// no_egon.sma
// C:\Games\ValveS\valve\addons\amxmodx\scripting\no_egon.sma(42) : warning 217:
  loose indentation
// Header size:            312 bytes
// Code size:              844 bytes
// Data size:              376 bytes
// Stack/heap size:      16384 bytes; estimated max. usage=83 cells (332 bytes)
// Total requirements:   17916 bytes
//
// 1 Warning.
// Done.
//
// Compilation Time: 0,41 sec
// ----------------------------------------


 
ArgusДата: Среда, 20.08.2008, 14:24:57 | Сообщение # 15
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
Quote (unKn0wn)
Argus, Ошибка так и должна быть?

друг, мегатрюк - поставь ещё 2 пробела перед return PLUGIN_HANDLED в конце плагина и эта "ошибка" пропадёт. или заново скопируй код из моего поста.


Правила форума
Поиск плагинов
Последние сообщения форума
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

AMX Mod X Russian Community © 2006-2026