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

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

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

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

Удалить оружие с карты

Статус пользователя vovan4ik1997
сообщение 30.12.2013, 23:02
Сообщение #1


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Собственно вопрос как удалить? Сделал дм, удаляю трупы с помощью
Код:
set_msg_block( get_user_msgid("ClCorpse"), BLOCK_SET ) 

А что делать с оружием)
Заранее благодарен


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя w0nd3r
сообщение 30.12.2013, 23:08
Сообщение #2


Стаж: 13 лет
Город: US

Сообщений: 1368
Благодарностей: 490
Полезность: 518

В конфиге csdm.cfg есть такая переменная.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 30.12.2013, 23:12
Сообщение #3


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

w0nd3r,забыл уточнить, сервер не ксдм)
https://c-s.net.ua/forum/topic57616.html вот из этого топика плагин дм

Отредактировал: vovan4ik1997, - 30.12.2013, 23:14


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 31.12.2013, 13:09
Сообщение #4


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Ребятки, помогите)


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 31.12.2013, 13:25
Сообщение #5


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

как вариант вызывать периодически через set_task
либо вызывать после убийства либо еще какого-либо события
Код:
removeweapons()
{
new weapon, nnumr

while ((weapon = find_ent_by_class(-1,"armoury_entity")))
{
remove_entity(weapon)
nnumr++
}
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 31.12.2013, 13:27
Сообщение #6


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Legenda, странно, глянул код ДМ, там точно такой же код. Ничего не удаляет.
Код:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <colorchat>

new cvar_enabled, cvar_hp, cvar_hp_hs, blokirovka[32]

public plugin_init()
{

set_msg_block( get_user_msgid("ClCorpse"), BLOCK_SET )
register_plugin("Knife+AWP", "1.2.01", "Lucky + modify Leg.")

register_event("DeathMsg", "on_Death", "a")
register_logevent("logevent_team_join", 3, "1=joined team")

register_clcmd("say /spawn","delay_spawn_user")
register_clcmd("say /respawn","delay_spawn_user")
register_concmd("amx_respawn","delay_spawn_user",_,"Test command for Spawn/ReSpawn player")

cvar_enabled = register_cvar("amx_dm", "1")


if(get_pcvar_num(cvar_enabled) == 1)
{
removeweapons()
server_cmd("sv_restart 3")
}

}

public logevent_team_join()
{
if(get_pcvar_float(cvar_enabled) == 1)
{
new id = get_loguser_index()
set_task(1.0, "spawn_user",id)
}
}

stock get_loguser_index()
{
static loguser[80], name[32];
read_logargv(0,loguser,79);
parse_loguser(loguser,name,31);

return get_user_index(name);
}

public on_Death()
{
if(get_pcvar_float(cvar_enabled) == 1)
{
new id = read_data(2)
set_task(1.0, "spawn_user", id)
}
}

public delay_spawn_user(id)
{
new systime = get_systime()
if (systime - blokirovka[id] >= 120.0)
{
ColorChat(id,NORMAL,"^x04Возрождение ^x01через^x03 5 ^x01секунд")
blokirovka[id] = systime
set_task(5.0, "spawn_user_no_cost", id)
}
return PLUGIN_HANDLED
}
public spawn_user_no_cost(id)
{
if(is_user_connected(id) && (cs_get_user_team(id) == CS_TEAM_SPECTATOR || cs_get_user_team(id) == CS_TEAM_UNASSIGNED))
{
return PLUGIN_HANDLED
}

ExecuteHamB(Ham_CS_RoundRespawn, id)

set_task(0.1,"del_weapon_user",id)

return PLUGIN_HANDLED
}

public del_weapon_user(id)
{
if (is_user_alive(id))
{
strip_user_weapons(id)
set_task(0.2, "give_weapons", id)

}
}

public give_weapons(id)
{
if (is_user_alive(id))
{
give_item(id, "weapon_knife")
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
}
}

public spawn_user(id)
{
if(is_user_connected(id) && (cs_get_user_team(id) == CS_TEAM_SPECTATOR || cs_get_user_team(id) == CS_TEAM_UNASSIGNED))
{
return PLUGIN_HANDLED
}

ExecuteHamB(Ham_CS_RoundRespawn, id)

if (is_user_connected(id))
{
set_task(0.1,"del_weapon_user",id)
}

return PLUGIN_HANDLED
}


removeweapons()
{
new weapon, nnumr
while ((weapon = find_ent_by_class(-1,"armoury_entity")))
{
remove_entity(weapon)
nnumr++
}
}



Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 31.12.2013, 13:54
Сообщение #7
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Удаление оружия карты:
Код:
// ...
#include <fakemeta>

// ...

public plugin_init() {
// ...

new iEnt = -1
while( ( iEnt = engfunc( EngFunc_FindEntityByString, iEnt, "classname", "armoury_entity" ) ) ) {
engfunc( EngFunc_RemoveEntity, iEnt )
}

// ...
}


Удаление оружия игроков выложу через пару-тройку часов. Не очень внимательно прочитал шапку)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 31.12.2013, 14:05
Сообщение #8


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

должно удалять при старте плагина
один раз только


если периодически надо удалять - код другой должен быть
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 31.12.2013, 14:06
Сообщение #9
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Ага, дропнутое оружие надо удалять каждый раз) Но и про оружие карты тоже не надо забывать)
ТС ещё тут тему создал, ему уже предложили варианты.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 31.12.2013, 14:13
Сообщение #10


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Safety1st, вопрос о нагрузке, если я поставлю TIME = 1сек, то будет совсем капец?
Код:
#include <amxmodx>
#include <engine>

#define PLUGIN "Remove Weapon Entity"
#define AUTHOR "MaJIou'"
#define VERSION "over 999999"

#define TIME 120.0//Через каждое указанное время (в десятичных) будет запущена чистка карты

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

set_task(TIME, "RemoveWeaponEntity", 123321, _, _, "b")
}

public RemoveWeaponEntity()
{
static g_Weapon

while((g_Weapon = find_ent_by_class(-1, "armoury_entity")))
remove_entity(g_Weapon)
}


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 31.12.2013, 14:20
Сообщение #11
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

vovan4ik1997, удаление оружия карты выполняется однократно тем способом, который я указал. Оружие игроков - это почти всегда entity weaponbox и может быть ещё weapon_shield (щит, наверное). Курите предложенный вариант от VEN'а пока. Повторяющимся таском такие вещи делать НЕ надо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 31.12.2013, 14:31
Сообщение #12


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(vovan4ik1997 @ 31.12.2013, 16:13) *
вопрос о нагрузке, если я поставлю TIME = 1сек, то будет совсем капец?

будет капец капец
раз в минуту еще ладно

но есть и другие методы
выше читай, все написано и мной и Safety1st
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: