Скриптинг курилка

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
То есть он перемещается туда при спавне?
Решением будет SetSpawnInfo(нужные координаты)?
Да, перемещается туда каждый раз при появлении в игре. SetSpawnInfo() только заменит координаты этой точки, но появляться там персонаж всё равно продолжит.
Reply

Quote:
Originally Posted by Bombo
Посмотреть сообщение
Да, перемещается туда каждый раз при появлении в игре. SetSpawnInfo() только заменит координаты этой точки, но появляться там персонаж всё равно продолжит.
То есть в проверку на телепорт надо добавить те координаты в игнор? (AddPlayerClass'овские)
Reply

Еще вопрос по античиту. Бывает такое, что массово кикает несколько человек (3-6) в одну секунду по одному коду ошибки. Причем античит устроен так-же как и подавляющее большинство: есть постоянный таймер, проводящий проверки с целью засечь читерские изменения за период времени (чекнуть координаты к примеру), если проверка удовлетворила античит - он кикнет игрока с выводом сообщения. А чтобы вывести сообщения, мы оттягиваем кик на 100 мс (Запускаем таймер на кик).
В чем может быть проблема? ID вроде-бы не связаны.
Reply

Делай расчёты в зависимости от системного времени, а не от времени таймера. И проверяй на AFK - если игрок вернулся, одноразово пропускай проверку.
Reply

Quote:
Originally Posted by Bombo
Посмотреть сообщение
Делай расчёты в зависимости от системного времени, а не от времени таймера. И проверяй на AFK - если игрок вернулся, одноразово пропускай проверку.
По любому таймер нужен. Мне же надо знать в какой момент делать рассчет системного времени.
Reply

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
По любому таймер нужен. Мне же надо знать в какой момент делать рассчет системного времени.
А я и не говорю убирать. В обработчике таймера вызывай GetTickCount() (и вычетай из него прежнее значение GetTickCount()) вместо учёта интервала времени, с которым он у тебя вызывается.
Reply

Quote:
Originally Posted by Bombo
Посмотреть сообщение
А я и не говорю убирать. В обработчике таймера вызывай GetTickCount() (и вычетай из него прежнее значение GetTickCount()) вместо учёта интервала времени, с которым он у тебя вызывается.
То есть таймер может работать с задержками,и Вы советуете перенести античит на GetTickCount? Хорошо, а что скажете про массовые кики? - Если кого-то кикает античит, то редко, но бывает, что кикает еще 5 человек по той же причине. Причем они могут просто стоять.
Reply

Причина кика какая ?
Reply

Quote:
Originally Posted by cm666
Посмотреть сообщение
Причина кика какая ?
Чаще - телепорт.
Reply

Не запускается плагин http://forum.sa-mp.com/showthread.ph...extDraw+Editor
Плагин от iPLEOMAX работает на ура, с Visual C++ вроде тоже в норме.
Проверьте запустится ли у вас, и в чем тогда проблема у меня?
Reply

Quote:
Originally Posted by Makar007
Посмотреть сообщение
Не запускается плагин http://forum.sa-mp.com/showthread.ph...extDraw+Editor
Плагин от iPLEOMAX работает на ура, с Visual C++ вроде тоже в норме.
Проверьте запустится ли у вас, и в чем тогда проблема у меня?
Нашел фикс, нужно в папку с сервером добавить файл msvcr100d.dll
Reply

Quote:
Originally Posted by Makar007
Посмотреть сообщение
Нашел фикс, нужно в папку с сервером добавить файл msvcr100d.dll
Плагин скомпилирован в дебаг режиме.
Reply

Ребят, я всё ломаю себе голову, стоит ли делать сохранение в базу данных при каждом действии? К примеру купил телефон и сразу в базу данных, купил дом или машину и сразу в базу данных, мне так кажется, что сохранение сразу намного безопасней, чем при OnPlayerDisconnect. Будет ли большая нагрузка на мод и базу данных? Онлайн сервера 500 человек. Я вот такое к примеру видел на RakNet, у них динамично всё, в игре купил скин, захожу в UCP не выходя с сервера, а он уже там, но вроде держится)
Я вот делаю так:

PHP код:
new query[50];
format(querysizeof query,"UPDATE accounts SET level=%d WHERE id=%d",level,id);
mysql_function_query(dbHandlequeryfalse"""" ); 
Reply

Проблема актуальна - ошибочные кики античита. Чаще - за телепорт. Выход из АФК не причём, проверку на AddPlayerClass сделал (координаты спавна). Кикать может просто стоя на месте, хотя меня не кикало так.
Reply

А вообще, как лучше организовывать структура античита? Встраивать в основной файл, встраивать в отдельный FS или каждый античит встраивать в свой FS?
Reply

Если я объявил PVar не в FS, я могу получать его в FS?
Reply

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
А вообще, как лучше организовывать структура античита? Встраивать в основной файл, встраивать в отдельный FS или каждый античит встраивать в свой FS?
Каждый античит в отдельный include.
Reply

Если получить позицию персонажа в OnPlayerSpawn, он вернёт позицию AddPlayerClass?
Reply

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
Если получить позицию персонажа в OnPlayerSpawn, он вернёт позицию AddPlayerClass?
скорее 0.0 0.0 0.0
а почему бы не проверить?
Reply

Quote:
Originally Posted by DartfoL
Посмотреть сообщение
скорее 0.0 0.0 0.0
а почему бы не проверить?
Проверил. Координаты из AddPlayerClass.
Reply


Forum Jump:


Users browsing this thread: 7 Guest(s)