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

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

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

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

> Правила форума

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

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Телепорты на картах.

, deathrun =) [РЕШЕНО]
Статус пользователя Danjkeee^
сообщение 6.2.2016, 22:37
Сообщение #1
Стаж: 14 лет
Город: Волгоград

Сообщений: 628
Благодарностей: 215
Полезность: 508

Приветствую, на многих deathrun картах используются телепорты, для перемещения к террористу или просто в другую точку.
Возникло 2 вопроса:
1. Можно ли отловить, если игрок зашел в телепорт.
2 .Можно ли при определенном условии заблокировать телепорт, т.е. чтоб он не перемещал.

Если да, то как?

Отредактировал: Danjkeee^, - 6.2.2016, 22:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя qvadro
сообщение 6.2.2016, 22:48
Сообщение #2


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Касание игроком ентити trigger_teleport , а дальше действия на сколько фантазии хватит.


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Danjkeee^
сообщение 6.2.2016, 23:40
Сообщение #3
Стаж: 14 лет
Город: Волгоград

Сообщений: 628
Благодарностей: 215
Полезность: 508

Цитата(qvadro @ 6.2.2016, 23:48) *
Касание игроком ентити trigger_teleport , а дальше действия на сколько фантазии хватит.


Так, касание с телепортом я отловил, а как же теперь можно заблокировать действие телепорта? Что бы когда игрок соприкасался с ним, его не телепортировало?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kritic
сообщение 6.2.2016, 23:42
Сообщение #4


Стаж: 11 лет

Сообщений: 1128
Благодарностей: 832
Полезность: 1488

Danjkeee^, как выше было верно сказано ответственны брашевая энтити trigger_teleport (вход) и точечная info_teleport_destination (выход). но не ясно что значит "отловить" и какое "определённое условие"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Danjkeee^
сообщение 6.2.2016, 23:44
Сообщение #5
Стаж: 14 лет
Город: Волгоград

Сообщений: 628
Благодарностей: 215
Полезность: 508

Цитата(kritic @ 7.2.2016, 0:42) *
Danjkeee^, как выше было верно сказано ответственны брашевая энтити trigger_teleport (вход) и точечная info_teleport_destination (выход). но не ясно что значит "отловить" и какое "определённое условие"


Например если идет дуэль
Код:

public fd_TouchTeleport(ent, id)
{
if(duel)
{
код который заблокирует игроку использование ent trigger_teleport (вход), т.е. игрок не сможет использовать телепорт.
}
}

Как реализовать?

Отредактировал: Danjkeee^, - 6.2.2016, 23:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kritic
сообщение 6.2.2016, 23:55
Сообщение #6


Стаж: 11 лет

Сообщений: 1128
Благодарностей: 832
Полезность: 1488

Danjkeee^, с плагинами не работаю, я только по мапам) думаю тут много товарищей в плагинах шарят - смогут подсказать.
мне кажется идея такая, что плагин обратимо (сохраняет в конфиг) блокирует/удаляет указанные энтити.
а если рассуждать вне плагинов, то нужно юзать другие энтити. т.е. если игрок где-то пробежит, выстрелит куда-то, то сработает то-то. но такой подход удобен если у нас мапа в разработке - на готовых мапах сложнее это редактировать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Danjkeee^
сообщение 6.2.2016, 23:57
Сообщение #7
Стаж: 14 лет
Город: Волгоград

Сообщений: 628
Благодарностей: 215
Полезность: 508

kritic,

Идея такая, что на время дуэли, необходимо заблокировать действия телепортов, чтоб не убегали друг от друга.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kritic
сообщение 7.2.2016, 0:08
Сообщение #8


Стаж: 11 лет

Сообщений: 1128
Благодарностей: 832
Полезность: 1488

Цитата(Danjkeee^ @ 7.2.2016, 1:57) *
kritic,

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

мне к вышенаписанному добавить особо нечего. ну разве что посмотри исходник какого-нибудь entity remover'a
и разберись как энтити временно удаляются. ну и исходник плагина дуэли - какой там код при её активации
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 7.2.2016, 1:09
Сообщение #9


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

trigger_teleport
Код:
#include <amxmodx>
#include <fakemeta>

new g_MaxPlayers;

public plugin_init()
{
register_plugin("", "", "");
g_MaxPlayers = global_get(glb_maxClients);
register_forward(FM_Touch, "fw_Touch");
}

public fw_Touch(ent, toucher)
{
if(ent && pev_valid(ent) && 1 <= toucher <= g_MaxPlayers)
{
static szClassname[18];
pev(ent, pev_classname, szClassname, sizeof(szClassname)-1);
if(equal(szClassname, "trigger_teleport"))
{
return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
}


Действие оценить можно на kz_hopez она без ресурсов, сразу у спавна вода в ней зона телепорта.

Отредактировал: qvadro, - 7.2.2016, 1:16


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Mistrick
сообщение 7.2.2016, 2:10
Сообщение #10


Стаж: 13 лет

Сообщений: 543
Благодарностей: 426
Полезность: 1034

Код:
register_touch("trigger_teleport", "player", "Engine_DuelTouch");

public Engine_DuelTouch(ent, toucher)
{
return g_bDuelStarted ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя dialyabev
сообщение 7.2.2016, 8:27
Сообщение #11


Стаж: 11 лет

Сообщений: 243
Благодарностей: 120
Полезность: 596

qvadro, сложна.


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