купить рекламу
 
SkilleR.Ru - GunGame Old School

SkilleR.Ru:27017

карта:
игроков: 0 из 0

SkilleR.Ru - Public Old School

SkilleR.Ru:27015

карта:
игроков: 0 из 0

Мы+Яндекс=мониторинг любого сервера
Ya

Единственный в своём роде виджет

Добавить на Yandex.ru

Лента комментариев
Обсуждаем обзор Интерес игроков к серверам. Статистика за Декабрь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Ноябрь 2020 года < Admin в общих темах
TheAbyss 1.6 39 Jump Bhop < csTheAbyss в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Сентябрь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Август 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Июль 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Июнь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Май 2020 года < Admin в общих темах
Flash Point < spec в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Март 2020 года < Admin в общих темах
GunGame ИРКУТСК ВЛАСТЬ НАРОДУ < virys336855 в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Январь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Декабрь 2019 года < Admin в общих темах
Morozilka 7plus css34 < FantOzer в обсуждениях серверов
Набор в клан css v.34 ProRedDevils < saha123 в кланах

client_PreThink / client_PostThink

Автор Сообщение
YodL 
Карма: 1
Добавлено: 14:57 23 февраля 2010 | Исправлялось: 2 раз (23-02-10 15:01, YodL)

Кто-нибудь может мне объяснить когда они выполняются.
Мне интересна именно последовательность для игроков,
то есть
client_PreThink(1)
client_PreThink(2)
...
client_PreThink(32)
Think
client_PostThink(1)
client_PostThink(2)
...
или
client_PreThink(1) Think(1) client_PostThink(1)
client_PreThink(2) Think(2) client_PostThink(2)
client_PreThink(3) Think(3) client_PostThink(3)
...

Как я понял 1й вариант, но тогда я что-то не врубаюсь в некоторые плагинчики =)
Заранее всем спасибо.
Admin
Карма: 9
Добавлено: 16:03 23 февраля 2010

а что это вообще за фигня?
YodL 
Карма: 1
Добавлено: 17:44 23 февраля 2010

Как я представляю себе, это 2 функции которые выполняются до и после просчета физики.
только я не понимаю физика сразу вся просчитывается или для каждого игрока отдельно.
Admin
Карма: 9
Добавлено: 19:43 23 февраля 2010

а зачем считать физику ПОСЛЕ?
Light 
Карма: 0
Добавлено: 21:04 23 февраля 2010 | Исправлялось: 1 раз (23-02-10 21:06, Light)

ссылка
Если с англицким плохо, могу перевести, а так время тратить не охота.

А следуя этому ссылка
client_PreThink ( id ) - для каждого отдельно.
YodL 
Карма: 1
Добавлено: 23:48 23 февраля 2010

Автор: Light Цитата:
ссылка
Если с англицким плохо, могу перевести, а так время тратить не охота.

А следуя этому ссылка
client_PreThink ( id ) - для каждого отдельно.

Я знаю что Префинки и пост для каждого, интересно именно последовательность их выполнения.
Например, встречаются 3 контра они должны друг через друга пройти, и снова стать солидными.
И тут несколько вариантов.
1й у каждого на пре поставить прохождение сквозь себя. На пост поставить солидность.
2й у каждого на пре поставить прохождение сквозь других На пост поставить солидный бокс.

То что пре и пост у каждого свой это понятно, а то что между ними у каждого свое или одно на всех?
Hafner 
Карма: 0
Добавлено: 00:31 24 февраля 2010

Автор: YodL Цитата:
одно на всех?


Именно.
YodL 
Карма: 1
Добавлено: 03:24 24 февраля 2010

То есть если я, например, на пре последнего игрока поставлю всем НОТ_СОЛИД, а на пост первого игрока поставлю всем обратно СОЛИД_БОКС, они все спокойно пройдут друг сквозь друга?
Hafner 
Карма: 0
Добавлено: 10:18 24 февраля 2010 | Исправлялось: 4 раз (24-02-10 21:07, Hafner)

Автор: YodL Цитата:
То есть если я, например, на пре последнего игрока поставлю всем НОТ_СОЛИД, а на пост первого игрока поставлю всем обратно СОЛИД_БОКС, они все спокойно пройдут друг сквозь друга?


Да, по идее. Только мне интересно, как ты это точечно именно для последнего и первого организуешь и зачем так извращаться.
YodL 
Карма: 1
Добавлено: 11:25 25 февраля 2010

Автор: Hafner Цитата:
Автор: YodL Цитата:
То есть если я, например, на пре последнего игрока поставлю всем НОТ_СОЛИД, а на пост первого игрока поставлю всем обратно СОЛИД_БОКС, они все спокойно пройдут друг сквозь друга?


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

Я просто пример привел, мне не нужно так изгаляться.
У меня есть випы, через них можно проходить, но так же хотелось что бы и они могли через всех проходить. правильно ли я понял что ты не на 100% уверен, а это лишь твои догадки?
Hafner 
Карма: 0
Добавлено: 16:56 25 февраля 2010

Автор: YodL Цитата:
правильно ли я понял что ты не на 100% уверен, а это лишь твои догадки?


Нельзя быть на 100% уверенным в чем-то.
То что я написал это теория, по которой должно быть так, а как на самом деле будет на практике - это надо тестить.
sjgunner 
Карма: 0
Добавлено: 18:52 25 февраля 2010 | Исправлялось: 1 раз (25-02-10 18:56, sjgunner)

Автор: YodL Цитата:
Я знаю что Префинки и пост для каждого, интересно именно последовательность их выполнения.
Например, встречаются 3 контра они должны друг через друга пройти, и снова стать солидными.
И тут несколько вариантов.
1й у каждого на пре поставить прохождение сквозь себя. На пост поставить солидность.
2й у каждого на пре поставить прохождение сквозь других На пост поставить солидный бокс.

То что пре и пост у каждого свой это понятно, а то что между ними у каждого свое или одно на всех?


Последовательность зависит от клиентского FPS, то есть если у одного клиента например 50 FPS, а у другого 100, то и вызываться эти функции для одного будет 50 раз в секунду, а для другого 100.
Реализовать прохождение друг через друга можно таким образом (2й вариант) наверное, но ведь тогда как в префинк так и в постфинк придется проверять расстояние между 1 конкретным игроком и всеми остальными игроками в команде, для того чтобы в пре включить прохождение а в пост - вовремя выключить если оно включено. Если игроков много, то возможно такие проверки могут серьезно кушать ресурсы... Если допустим 16 игроков в команде, то подсчетов расстояний между двумя отдельно взятыми игроками будет 16*15 = 240 (приблизительно, так как у клиентов будет разный фпс). Прибавим еще столько же в другой команде - получим 480. Если предположить что у всех 100 фпс, то будет 48000 таких подсчетов в секунду. Не знаю, может быть сервер легко справится с такой нагрузкой, но это как-то нерационально на мой взгляд...
Я бы делал через register_touch или hamsandwich...
YodL 
Карма: 1
Добавлено: 19:34 25 февраля 2010 | Исправлялось: 5 раз (25-02-10 19:54, YodL)

Автор: sjgunner Цитата:
Автор: YodL Цитата:
Я знаю что Префинки и пост для каждого, интересно именно последовательность их выполнения.
Например, встречаются 3 контра они должны друг через друга пройти, и снова стать солидными.
И тут несколько вариантов.
1й у каждого на пре поставить прохождение сквозь себя. На пост поставить солидность.
2й у каждого на пре поставить прохождение сквозь других На пост поставить солидный бокс.

То что пре и пост у каждого свой это понятно, а то что между ними у каждого свое или одно на всех?


Последовательность зависит от клиентского FPS, то есть если у одного клиента например 50 FPS, а у другого 100, то и вызываться эти функции для одного будет 50 раз в секунду, а для другого 100.
Реализовать прохождение друг через друга можно таким образом (2й вариант) наверное, но ведь тогда как в префинк так и в постфинк придется проверять расстояние между 1 конкретным игроком и всеми остальными игроками в команде, для того чтобы в пре включить прохождение а в пост - вовремя выключить если оно включено. Если игроков много, то возможно такие проверки могут серьезно кушать ресурсы... Если допустим 16 игроков в команде, то подсчетов расстояний между двумя отдельно взятыми игроками будет 16*15 = 240 (приблизительно, так как у клиентов будет разный фпс). Прибавим еще столько же в другой команде - получим 480. Если предположить что у всех 100 фпс, то будет 48000 таких подсчетов в секунду. Не знаю, может быть сервер легко справится с такой нагрузкой, но это как-то нерационально на мой взгляд...
Я бы делал через register_touch или hamsandwich...

Я правильно понял что финк у каждого клиента свой и Hafner ошибался?
А до пост финка одного плеера может начаться префинк другого?
^^^Жду ответа только на этот вопрос^^^


Все подобные плагины которые я видел делают это через
set_pev(i, pev_solid, SOLID_NOT); fakemeta
или
entity_set_int( i, EV_INT_solid, SOLID_NOT ); engine
Все это либо просто в функции client_PreThink
или вот так register_forward(FM_PlayerPreThink, "fwdPlayerPreThink", 0);
Как я понял можно сделать менее загрузнее, так?

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

Не мог бы ты чуть подробнее че-нить рассказать)


Вот сегодня потестили все же у каждого игрока свой финк. Ибо можно сделать так что бы для одного чела второй был проходимый а для другого нет )

А вот вариант который я приведу ниже не оптимальнее будет?

ВИП всегда солиднот
Пре:
Если ты вип все солиднот
Если ты Т все Т солид нот, CT солидбокс
Если ты СТ все СТ солид нот, Т солидбокс

Или можно как-то поумнее все же?
sjgunner 
Карма: 0
Добавлено: 21:48 25 февраля 2010

Автор: YodL Цитата:

Я правильно понял что финк у каждого клиента свой и Hafner ошибался?
А до пост финка одного плеера может начаться префинк другого?
^^^Жду ответа только на этот вопрос^^^


Для каждого свой, безусловно, так что конечно может.
Поэтому в основном эти функции используют только для взаимодействия самого отдельно взятого клиента с сервером а не с другими клиентами. Например некоторые эффекты от нажатия игроком определенных клавиш и т.д. Вот в плагине soccerjam в этих функциях реализовано турбо и лонгджамп.
То есть игрок нажал определенную кнопку - он на время ускоряется. Нажал некоторую последовательность кнопок - на время изменяется для него физика и он делает лонгджамп. Но все для одного конкретного игрока.

Автор: YodL Цитата:
Просто У меня HNS сервер, там что бы блоков меньше было игроки своих команд проходят друг через друга. Но ресурсов реально что-то много ест, но я внушил себе что мне просто это кажется.

Не мог бы ты чуть подробнее че-нить рассказать)


Вот сегодня потестили все же у каждого игрока свой финк. Ибо можно сделать так что бы для одного чела второй был проходимый а для другого нет )

А вот вариант который я приведу ниже не оптимальнее будет?

ВИП всегда солиднот
Пре:
Если ты вип все солиднот
Если ты Т все Т солид нот, CT солидбокс
Если ты СТ все СТ солид нот, Т солидбокс

Или можно как-то поумнее все же?


Вот как реализовать не знаю, в fakemeta особо не шарю, так что тут подумать надо... Вот только алгоритм не совсем понимаю... Кто такой вип вообще?)
Я бы возможно попробовал делать через hamsandwich
public plugin_init()
{

...
RegisterHam(Ham_Touch, "player", "touch");
}

public touch(player,id)
{

if( //проверяем условия, кто там вип кто т кто кт и т.д.){

set_pev(player, pev_solid, SOLID_NOT)
set_pev(id, pev_solid, SOLID_NOT)
return HAM_IGNORED
}
else return HAM_IGNORED
}

То есть просто отслеживаем событие, когда 2 игрока встречаются, проверяем условие проходят ли они друг через друга или нет, и в зависимости от этого их меняем. Так более экономнее в плане расхода ресурсов, чем за каждый клиентский кадр проверять кучу условий. Еще не знаю может быть я hamsandwich тут зря прилепил, возможно отследить touch можно и через engine или fakemeta, не знаю честно говоря.
YodL 
Карма: 1
Добавлено: 13:13 28 февраля 2010

RegisterHam(Ham_Touch, "player", "touch");

А где можно посмотреть список всех энити классов?

Просто player на спектатров не действует.
sjgunner 
Карма: 0
Добавлено: 16:32 28 февраля 2010

ссылка
YodL 
Карма: 1
Добавлено: 01:55 2 марта 2010 | Исправлялось: 1 раз (02-03-10 01:57, YodL)

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

#include
#include
#include
#include

public plugin_init() {
register_plugin("HNS TEAM SEMICLIP","0.8beta","YodL")
RegisterHam(Ham_Touch, "player", "touch")
}

public touch(id, plr){
client_print(id, print_chat,"!!!!")
client_print(plr, print_chat,"plr")
if(cs_get_user_team(id)==cs_get_user_team(plr))
{
set_pev(plr, pev_solid, SOLID_NOT)
set_pev(id, pev_solid, SOLID_NOT)
return HAM_IGNORED
}
set_pev(plr, pev_solid, SOLID_BBOX)
set_pev(id, pev_solid, SOLID_BBOX)
return HAM_IGNORED
}

После теста на сервере получилось:
1)touch не только с плеером работает.(это не особо важно)
2)Если ты SOLID_NOT он уже как-то не работает.

Хотя может надо просто в утра надо все делать а не вечером...
Наверх | Страница 1 из 1  
Моды
  Public 22
  DeathMatch 8
  Classic 7
  RolePlay 4
  GunGame 3
  ZombieMod 3
  OpenWarfare 1
  Dust 1

все моды

Популярные Карты
cp_orange_x3 1
mp_military_1 1
q3dm17 1
de_dust2_2x2 1
q3dm3 1
de_dust2_unlimited 1
ospctf1 1
13dream 1
Серверы по регионам
  Москва 969
  Санкт-Петербург 133
  Екатеринбург 40
  Новосибирск 23
  Киев 22
  Севастополь 15
  Пермь 14
  Казань 13
  Томск 12
  Нижний Новгород 12
  Ульяновск 11
  Украина 10
  Самара 9
  Жуковский 9
  Красноярск 9
  Коломна 9
  Иркутск 8
  Ижевск 8
  Курган 7
  Тольятти 6
  Днепропетровск 6
  Челябинск 6
  Уфа 6
  Пенза 6
  Ростов-на-Дону 6
  Владивосток 5
  Саратов 5
  Великий Новгород 5
  Сочи 4
  Королев 4
  Курск 4
  Одесса 4
  Омск 4
  Россия 4
  Вильнюс 4
  Донецк 4
  Воронеж 4
  Брянск 4
  Зеленоград 3
  Волгодонск 3
  Таллин 3
  Выборг 3
  Орел 3
  Иваново 3
  Харьков 3
  Тамбов 3
  Оренбург 2
  Братск 2
  Житомир 2
  Минск 2
  Нижний Тагил 2
  Ярославль 2
  Львов 2
  Комсомольск-на-Амуре 2
  Винница 2
  Киров 2
  Тюмень 2
  Всеволжск 2
  Гатчина 2
  Калининград 2
  Кривой Рог 2
  Рига 2
  Ногинск 2
  Таганрог 2
  Мончегорск 2
  Барнаул 2
  Калуга 2
  Астрахань 1
  Белогород 1
  Череповец 1
  Чебоксары 1
  Владимир 1
  Рязань 1
  Липецк 1
  Тверь 1
  Волгоград 1
  Краснокаменск 1
  Новокузнецк 1
  Владикавказ 1
  Махачкала 1
  Ялта 1
  Чехов 1
  Тбилиси 1
  Кемерово 1
  Запорожье 1

все регионы

Рейтинг сайтов
Админский пьедестал
  taulalan 1|51
  Djei-spb 1|49
  Pro100tak 1|48
посиделки
посиделки