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

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

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

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

weapon_c4

Статус пользователя Slavik
сообщение 10.8.2017, 19:52
Сообщение #1


Стаж: 10 лет

Сообщений: 185
Благодарностей: 13
Полезность: < 0

Здравствуйте.

Как при спавне добавить C4 случайному террористу 1 бомбу С4 или заспавнить по координатам около спавна террористов ее. (Хотелось бы менее нагружаемый на сервер вариант)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ssx
сообщение 11.8.2017, 17:30
Сообщение #2


Стаж: 9 лет

Сообщений: 2234
Благодарностей: 1341
Полезность: 836

чтобы не только на de_ картах было ?



[CS 1.6 Public] 78.152.169.100:27014
[CS 1.6 DM FFA] 78.152.169.100:27015
[CS 1.6 DM AIM] 78.152.169.100:27017
[Half-Life DM FFA] 78.152.169.100:27016
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя artist666
сообщение 11.8.2017, 21:39
Сообщение #3


Стаж: 9 лет

Сообщений: 17
Благодарностей: 7
Полезность: 0

Нужно просто создать объект func_bomb_target(бокс) или info_bomb_target(точка).
И она автоматом будет выдаваться...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Slavik
сообщение 11.8.2017, 22:20
Сообщение #4


Стаж: 10 лет

Сообщений: 185
Благодарностей: 13
Полезность: < 0

Да, на всех картах. Лишнего нечего не надо, именно так как написал в первом посте:)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя artist666
сообщение 11.8.2017, 22:53
Сообщение #5


Стаж: 9 лет

Сообщений: 17
Благодарностей: 7
Полезность: 0

Цитата(Slavik @ 11.8.2017, 22:20) *
Да, на всех картах.


Без зон установки ты не сможешь поставить бомбу...

Что-то типа того:
Код:
#include <amxmodx>
#include <fakemeta>

new map[33]
new g_target_index

new maps[][] =
{
"cs_militia",
"cs_assault"
}
new Float:orig[][] =
{
{184.0, 889.0, 20.0},
{-269.0, 2455.0, 164.0}
}

public plugin_precache()
{
register_clcmd("say y", "functions")

g_target_index = engfunc(EngFunc_DecalIndex, "{target")

get_mapname(map, charsmax(map))

new ent, i = -1

while(++i < sizeof(maps))
{
if(!equali(map, maps[i])) continue

server_print("^n%s^n", map)

ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_bomb_target"))

if(!pev_valid(ent)) continue

engfunc(EngFunc_SetOrigin, ent, orig[i])

end[0] = orig[i][0]
end[1] = orig[i][1]
end[2] = orig[i][2] - 500.0

engfunc(EngFunc_TraceLine, orig[i], end, DONT_IGNORE_MONSTERS, 0, 0)
get_tr2(0, TR_vecEndPos, end)

message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_WORLDDECAL)
engfunc(EngFunc_WriteCoord, end[0])
engfunc(EngFunc_WriteCoord, end[1])
engfunc(EngFunc_WriteCoord, end[2])
write_byte(g_target_index)
message_end()
}
set_task(4.0, "func")
}
public func()
{
new Float:end[3], i = -1

while(++i < sizeof(maps))
{
if(!equali(map, maps[i])) continue

end[0] = orig[i][0]
end[1] = orig[i][1]
end[2] = orig[i][2] - 500.0

engfunc(EngFunc_TraceLine, orig[i], end, DONT_IGNORE_MONSTERS, 0, 0)
get_tr2(0, TR_vecEndPos, end)

message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_WORLDDECAL)
engfunc(EngFunc_WriteCoord, end[0])
engfunc(EngFunc_WriteCoord, end[1])
engfunc(EngFunc_WriteCoord, end[2])
write_byte(g_target_index)
message_end()
}
}
public functions(id)
{
new Float:o[3]; pev(id, pev_origin, o)
client_print(id, print_chat, "%f %f %f", o[0], o[1], o[2])
}


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