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

Как раз его код и объясняет результат.
Reply

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
Как раз его код и объясняет результат.
Вопрос был совсем не в этом ведь
Reply

Баг компилятора (ZeeX) или мои кривые рученки.

Сервер не запускается с причиной:
PHP код:
Run time error 3"Stack/heap collision (insufficient stack size)" 
Сам компилятор с включенным флагом -d3 не дает признаков о нахождении коллизии.

Суть в том, что я у меня такая структура файлов.

main.pwn
core\header.inc
player\header.inc
core\impl.inc
player\impl.inc
player\header.inc
core\header.inc
player\impl.inc
core\impl.inc
При отключении модуля core или player, сервер запускается без вопросов.
Внутри самих модулей типичные ALS, даже если скомпилировать их полностью закомментированными все равно сервер не запускается.

Так же от безысходности пробовал компилировать с флагом -l чтобы посмотреть по какому пути компилятор их подключает, тот модуль которым я подключаю последним там вообще не оказывается.

В том же Y-Core подобная структура подключения исходников, и там нет такой проблемы.
Reply

Не оказывается он там, вероятнее всего, потому, что срабатывает защита от подключения идентичных по названию инклудов (хотя, вроде, в одной из версий Zeex отключил эту защиту). Эту догадку легко проверить, собственно, установкой уникальных названий для всех файлов.

Это пока единственная идея, что появилась после прочтения твоего сообщения.
Но с модульной структурой компилятор от Zeex дружит хорошо.
Reply

Quote:
Originally Posted by Eims
Посмотреть сообщение
Вопрос был совсем не в этом ведь
То что функция format продолжает писать в память даже сверх размера массива, это фича.
А то что программист позволяет функции format писать сверх лимита, это баг.

И я вполне ответил на вопрос: "Как это возможно?" - невнимательность/плохое знание документации/руки из *опы. Выбирайте подходящий для вас вариант сами.
Reply

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
То что функция format продолжает писать в память даже сверх размера массива, это фича.
А то что программист позволяет функции format писать сверх лимита, это баг.

И я вполне ответил на вопрос: "Как это возможно?" - невнимательность/плохое знание документации/руки из *опы. Выбирайте подходящий для вас вариант сами.
Так, вроде, ещё из слов самого Romz понятно, что это баг. А первый вопрос является, скорее, вступительными словами, судя по тому, что последующий текст лишь развивает тему. И там он уже спрашивал
Quote:
Почему оно не выдает никаких ошибок (crashdetect молчит) но при это выводит текст полностью?

Хотя, в любом случае, он и получил ответ на оба свои вопроса, и узнал как делать правильно, так что нет смысла продолжать эту тему.
Reply

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Потому что надо читать документацию.
Правильный код будет:
PHP код:
new mytext[10]; 
public 
OnGameModeInit() { 
    
format(mytextsizeof(mytext), "Чернила с поверхности папируса легко смывались, и лист мог использоваться вторично для новых записей."); 
    
printf("%d - %s"sizeof(mytext), mytext); 
    return 
1

Я не спрашивал как правильно писать код, вопрос был совсем в другом.
Reply

-z
для изменения подключения инклюдов

crashdetect не выдаст потому как format уже c++ функция которая пишет в память вне pawn
Reply

https://user-images.githubuserconten...7dc701a254.png

Кто знает, что за дизайн?
Reply

Quote:
Originally Posted by thebatya
View Post
https://user-images.githubuserconten...7dc701a254.png

Кто знает, что за дизайн?
Похоже на "Late Night", но, фон, вроде, немного другой.
А вообще можешь поставить плагин "ColorSublime" и посмотреть подходящую тему из большого пака
Reply

Quote:
Originally Posted by thebatya
View Post
https://user-images.githubuserconten...7dc701a254.png

Кто знает, что за дизайн?
Похоже чем-то на синтаксис ATOM-a
Reply

Quote:
Originally Posted by Eims
View Post
Похоже на "Late Night", но, фон, вроде, немного другой.
А вообще можешь поставить плагин "ColorSublime" и посмотреть подходящую тему из большого пака
Quote:
Originally Posted by Johhnyllll
View Post
Похоже чем-то на синтаксис ATOM-a
Всем спасибо.

Уже нашел, это Material Theme
https://packagecontrol.io/packages/Material%20Theme
Reply

Quote:
Originally Posted by SPAWN_METAL
View Post
-z
для изменения подключения инклюдов
Спасибо.
Знал об этом, но не правильно понял что это за фича.

Так же ее можно включить из самого мода.
PHP Code:
#pragma compat 1 
Reply

Как убрать это свечение от фонарей?
https://imgur.com/a/kQyNA
Reply

Удалить кривые моды на графику?
Reply

Quote:
Originally Posted by Eims
View Post
Удалить кривые моды на графику?
Скорее всего это сделано при помощи маппинга.
Так что ему нужно там проверять нужные объекты связанные со светом.
Reply

Делаю такую штуку, что интерьер создается игроку функцией, когда он в него входит. Потому что все способы входа в интерьер известны, значит нет смысла использовать стример. Объекты интерьера создаются ПОСЛЕ установки позиции игрока, в противном случае он подвиснет на долю секунды, пока объекты загружаются (на стороне клиента), а только потом его кинет на позицию.

Кто какие минусы видит? Будет ли игрок проваливаться на реальном сервере?
Reply

Quote:
Originally Posted by stabker
View Post
Делаю такую штуку, что интерьер создается игроку функцией, когда он в него входит. Потому что все способы входа в интерьер известны, значит нет смысла использовать стример. Объекты интерьера создаются ПОСЛЕ установки позиции игрока, в противном случае он подвиснет на долю секунды, пока объекты загружаются (на стороне клиента), а только потом его кинет на позицию.

Кто какие минусы видит? Будет ли игрок проваливаться на реальном сервере?
3) Сделать невидимый глобальный объект при загрузке мода в качестве пола, а из первых 2х выбирать удобный для юзера.
Reply

Quote:
Originally Posted by stabker
View Post
Делаю такую штуку, что интерьер создается игроку функцией, когда он в него входит. Потому что все способы входа в интерьер известны, значит нет смысла использовать стример. Объекты интерьера создаются ПОСЛЕ установки позиции игрока, в противном случае он подвиснет на долю секунды, пока объекты загружаются (на стороне клиента), а только потом его кинет на позицию.

Кто какие минусы видит? Будет ли игрок проваливаться на реальном сервере?
Меньше извращений.
Просто заморозка на пару секунд, и таймер, если игрок оказывается через секунду после разморозки ниже входа, вернуть на место, при необходимости, повторить.
Reply

Quote:
Originally Posted by stabker
Посмотреть сообщение
Делаю такую штуку, что интерьер создается игроку функцией, когда он в него входит. Потому что все способы входа в интерьер известны, значит нет смысла использовать стример. Объекты интерьера создаются ПОСЛЕ установки позиции игрока, в противном случае он подвиснет на долю секунды, пока объекты загружаются (на стороне клиента), а только потом его кинет на позицию.

Кто какие минусы видит? Будет ли игрок проваливаться на реальном сервере?
Можно попробовать замораживать игрока на несколько секунд, что бы после разморозки он не проваливался.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)