Re: Скриптинг курилка -
Mcc - 16.05.2017
Quote:
Originally Posted by Mutha_X
1) Человек А говорит, что всё можно реализовать.
2) Человек Б говорит, как можно реализовать.
3) Человек В назвал человека А фантазёром потому что человек Б рассказал как реализовать идею от А, в которую человек В не верил до сообщения от Б.
Обожаю, когда горе "я без пруфов" подтасовывают факты в свою пользу на этом форуме.
|
ты одуванчиков перенюхал? где я писал что не верю во что то?
не надо искать смысла в каждом моем сообщении. предыдущее я написал просто от балды чтобы подчеркнуть ответ зигги. пока
Re: Скриптинг курилка -
OKStyle - 16.05.2017
Я вид сверху на таймерах реализовывал... Но с объектом будет лучше.
Re: Оптимизация кода -
Johhnyllll - 16.05.2017
PHP код:
Header size: 12864 bytes
Code size: 755772 bytes
Data size: 4682732 bytes
Stack/heap size: 17039360 bytes; estimated max. usage=3127 cells (12508 bytes)
Total requirements:22490728 bytes
Это хорошо или плохо?
Как в этом разобраться?
Total requirements в байтах будет
21.44883 MB
Re: Скриптинг курилка -
Eims - 16.05.2017
Слишком много агрессии. Весенний спермотаксикоз? Ну да бог с этим.
Quote:
Originally Posted by Mcc
причем здесь вообще новые режимы?
|
При том, что изначально речь шла именно о них, не? Точнее, о реализации тех возможностей, которые в сампе чисто физически нельзя реализовать нормально. А ты заладил про какие-то существующие возможности, которые и так всем известны. Никто не говорил, что из SA-MP выжаты все соки и больше ничего нельзя придумать с текущим функционалом. Обсуждают конкретные системы, которые нельзя реализовать. Чуешь разницу?
И то, что конкретно тебе эти системы не нужны - исключительно твоя проблема. Если твоя фантазия ограничивается лишь отрисовкой разных текстдравов и "уникальными" системами, а-ля "работа трубочиста", то не нужно пытаться убедить всех, что так должны ограничиваться все.
Ну а про "процент используемого функционала" уже ответили ниже.
Quote:
Originally Posted by Mcc
Зигги расставил все точки над ы. горе фантазер слит
|
Я что, вернулся в 2007? *facepalm*
Чем же он меня слил? Подтвердив мои слова о том, что такие, как ты, привыкли любые недостатки SA-MP возводить в скрытые достоинства и мириться с ними? Или доказав, что адекватно реализовать мою задачу не получится?
Quote:
Originally Posted by ZiGGi
Камера сверху: создать прозрачный объект, приаттачить объект к игроку, а камеру к объекту и готово.
Управление мышью: покрыть весь экран прозрачными TextDraw и при клике двигать игрока анимациями. Вместо игрока можно использовать бота (FCNPC), как будет удобнее.
Народ же делает: https://www.youtube.com/watch?v=vX7OJhPncbI
|
Собственно, на видео видно, что это реализовано крайне криво и неудобно
(как и всё в SA-MP, что сложнее разработок 6-10-х годов, которыми большинство до сих пор пользуется). Да и это, опять же, не то. Речь идёт про некую симуляцию стратегии или GTA 1/2 с активным указателем мыши, чтоб, при этом, можно было реализовать активный интерфейс и всё прочее. Будь у текстдравов лимит побольше, можно было бы это реализовать при помощи их, но даже тогда всё получилось бы крайне криво в плане точности информации + всё так же нельзя было бы, например, реализовать автоповорот игрока в сторону указателя мыши.
И такая банальная возможность, как отслеживание положения указателя на экране, позволила бы реализовать огромное число полезных и интересных систем, начиная от вспомогательных, типа редактора объектов, и заканчивая различными скриптами, что делали бы игру интереснее.
Re: Оптимизация кода -
ZiGGi - 16.05.2017
Для стека используется 12508 байт, максимум по умолчанию 16000. Но этот объём можно увеличить с помощью
#pragma dynamic байты
Re: Скриптинг курилка -
ZiGGi - 16.05.2017
Quote:
Originally Posted by Eims
Собственно, на видео видно, что это реализовано крайне криво и неудобно (как и всё в SA-MP, что сложнее разработок 6-10-х годов, которыми большинство до сих пор пользуется). Да и это, опять же, не то. Речь идёт про некую симуляцию стратегии или GTA 1/2 с активным указателем мыши, чтоб, при этом, можно было реализовать активный интерфейс и всё прочее. Будь у текстдравов лимит побольше, можно было бы это реализовать при помощи их, но даже тогда всё получилось бы крайне криво в плане точности информации + всё так же нельзя было бы, например, реализовать автоповорот игрока в сторону указателя мыши.
И такая банальная возможность, как отслеживание положения указателя на экране, позволила бы реализовать огромное число полезных и интересных систем, начиная от вспомогательных, типа редактора объектов, и заканчивая различными скриптами, что делали бы игру интереснее.
|
Естественно это криво, но всё это можно нормально реализовать в MTA, почему бы не делать это там? Как говорил Kye: "SA-MP -
это
San Andreas Multiplayer", и возмущаться, что из него нельзя сделать GTA 1/2 некорректно.
Я не говорю, что функция отслеживания положения курсора не нужна, очень даже нужна и я бы нашёл ей массу применений. Но этого нет и не будет, смирись и иди в MTA

.
Re: Скриптинг курилка -
Eims - 16.05.2017
С чего вы вообще взяли, что мне так нужно реализовать эту систему? За диалогом вообще нынче никто не следит что ли?
Вот был задан вопрос пару страниц назад и мои сообщения являются лишь ответом на этот вопрос. Я знаю, что в SA-MP такого ждать бессмысленно. В SA-MP вообще бессмысленно ждать каких-либо обнов, о чём я и говорил в соседней теме. Вернитесь на несколько страниц назад и прочтите диалог целиком, чтоб понять о чём идёт речь вообще.
Re: Оптимизация кода -
Eims - 16.05.2017
Quote:
Originally Posted by ZiGGi
Для стека используется 12508 байт, максимум по умолчанию 16000. Но этот объём можно увеличить с помощью #pragma dynamic байты
|
Так у него размер и увеличен. При том, как-то уж очень сильно
Quote:
Stack/heap size: 17039360 bytes; estimated max. usage=3127 cells (12508 bytes)
|
Re: Скриптинг курилка -
Mcc - 17.05.2017
Quote:
Originally Posted by Eims
При том, что изначально речь шла именно о них, не?
|
нет
Quote:
Originally Posted by Eims
Точнее, о реализации тех возможностей, которые в сампе чисто физически нельзя реализовать нормально. А ты заладил про какие-то существующие возможности, которые и так всем известны.
|
Я ничего не заладил, хватит мне приписывать всякую левую басоту которую ты высрал из х пойми откуда. Речь шла о том что ты обделен фантазией и пытаешься окупить проблему вводом ненужного политикой сампа функционала, в добавок к этому кричишь повсюду, какой самп х..вый, какой куй х...вый и так далее
Quote:
Originally Posted by Eims
Никто не говорил, что из SA-MP выжаты все соки и больше ничего нельзя придумать с текущим функционалом. Обсуждают конкретные системы, которые нельзя реализовать. Чуешь разницу?
|
ты везде поливаешь самп гавном и кричишь что тебе не хватает обнов
пойду обмажусь
Quote:
кастрированным функционалом сампа
|
Quote:
Originally Posted by Eims
И то, что конкретно тебе эти системы не нужны - исключительно твоя проблема.
|
никакая это не проблема, никто не откажется от обновлений, но и ссаться кипятком от их отсутствия не надо
Quote:
Originally Posted by Eims
Если твоя фантазия ограничивается лишь отрисовкой разных текстдравов и "уникальными" системами, а-ля "работа трубочиста", то не нужно пытаться убедить всех, что так должны ограничиваться все.
|
как некрасиво метать стрелки ведь это я завел речь о том что ты плачешься об отсутствии обнов и в следствии идей
а началось всё с отслеживания мыши. все как было гавном так и осталось. это нужно только тем кому не..й делать. таким ребятам road to mta, не нужно делать хюндай из вазовской пятерки. только дураки еще не выкупили политику разработки сампа.
и да пожалуйста заткнись уже, я устал
Re: Оптимизация кода -
Johhnyllll - 17.05.2017
Quote:
Originally Posted by Eims
Так у него размер и увеличен. При том, как-то уж очень сильно
|
Как можно снизить stack?
Ну или сделать нормальным...
Re: Оптимизация кода -
ZiGGi - 17.05.2017
Quote:
Originally Posted by Johhnyllll
Как можно снизить stack?
|
Создавать меньше локальных массивов.
Quote:
Originally Posted by Johhnyllll
Ну или сделать нормальным...
|
Удали #pragma dynamic из кода.
Re: Оптимизация кода -
Johhnyllll - 17.05.2017
Quote:
Originally Posted by ZiGGi
Создавать меньше локальных массивов.
Удали #pragma dynamic из кода.
|
Прагмы в моде не используется, нашел только в инклудах YSI:
PHP код:
#if defined YSI_NO_HEAP_MALLOC
#if defined DYNAMIC_MEMORY
#pragma dynamic DYNAMIC_MEMORY
#define dynamic dynamic_is_now_DYNAMIC_MEMORY_ // See below...
#endif
#else
// Allocate extra memory for the normal stack and heap (64k, 16 times the
// size of the default stack)!
#if !defined DYNAMIC_MEMORY
#define DYNAMIC_MEMORY (65536)
#endif
#pragma dynamic MALLOC_MEMORY + DYNAMIC_MEMORY
// ====================================================================== //
// //
// IMPORTANT! //
// //
// ====================================================================== //
#define dynamic dynamic_is_now_DYNAMIC_MEMORY_ //
// ====================================================================== //
// //
// dynamic_is_now_DYNAMIC_MEMORY_ //
// //
// If you get a warning or error about "dynamic_is_now_DYNAMIC_MEMORY_", //
// hopefully (though doubtfully) you searched for something related to it //
// and found this. If you are slightly confused, just remember that any //
// reference to that variable is actually a reference to a variable //
// called "dynamic", and so the error/warning refers to that. //
// //
// _is_now_DYNAMIC_MEMORY_ //
// //
// If you get an error or warning about "_is_now_DYNAMIC_MEMORY_", it is //
// because you have tried to use "#pragma dynamic <number>" after //
// including "y_malloc" (or another library that eventually includes //
// "y_malloc"). Because that library allocates memory from the heap, it //
// needs control over how much memory is in the heap to begin with. You //
// do this with "#pragma dynamic <number>", which that library does. //
// Because using that a second time somewhere in your mode will break //
// "y_malloc", it disables the pragma, and instead outputs that error. //
// If you need to increase your stack or heap size (due to a stack/heap //
// collision), add this to the very top of your mode: //
// //
// #define DYNAMIC_MEMORY <number> //
// //
// ====================================================================== //
#endif
А насчет локальных переменных, я использую их для команд больше всего, примерно так:
PHP код:
new user, money;
if(sscanf(params,"ui",user,money)) return SendClientMessage(playerid,-1,"asda");
Стоит переходить на обычное
prams[0] и
params[1]?
Мод: https://github.com/lJohhnyl/Corso-RolePlay
Re: Оптимизация кода -
ZiGGi - 17.05.2017
Quote:
Originally Posted by Johhnyllll
Прагмы в моде не используется, нашел только в инклудах YSI:
|
Скорее всего, большую часть использует YSI.
Quote:
Originally Posted by Johhnyllll
А насчет локальных переменных, я использую их для команд больше всего, примерно так:
PHP код:
new user, money;
if(sscanf(params,"ui",user,money)) return SendClientMessage(playerid,-1,"asda");
Стоит переходить на обычное prams[0] и params[1]?
Мод: https://github.com/lJohhnyl/Corso-RolePlay
|
Конечно нет. Я ничего не говорил про локальные переменные, я говорил про локальные массивы. Например, массив string на 512 ячеек в ShowElevatorDialog, но это не так много.
А вообще, какие предпосылки твоего вопроса про стек? Чем тебе мешает его размер? Почему ты его хочешь уменьшить?
Re: Оптимизация кода -
Johhnyllll - 17.05.2017
Quote:
Originally Posted by ZiGGi
Скорее всего, большую часть использует YSI.
Конечно нет. Я ничего не говорил про локальные переменные, я говорил про локальные массивы. Например, массив string на 512 ячеек в ShowElevatorDialog, но это не так много.
А вообще, какие предпосылки твоего вопроса про стек? Чем тебе мешает его размер? Почему ты его хочешь уменьшить?
|
Мне просто сказали что мод очень плохо оптимизирован и практически везде есть "утечки памяти", не знаю на сколько тот человек был прав, но, бывший размер stack-a был не нормальным.
После удаления прагмы из YSI:
PHP код:
Header size: 12864 bytes
Code size: 749580 bytes
Data size: 4678632 bytes
Stack/heap size: 16384 bytes; estimated max. usage=3127 cells (12508 bytes)
Total requirements: 5457460 bytes // около 5 мб
//upd
Из-за того что я удалил ту часть кода, мод не запускается,ну что-ж, придется восстановить.
Re: Оптимизация кода -
ZiGGi - 17.05.2017
Quote:
Originally Posted by Johhnyllll
Мне просто сказали что мод очень плохо оптимизирован и практически везде есть "утечки памяти"
|
Ну дак пусть тот, кто тебе это сказал и показывает на эти "утечки памяти".
Quote:
Originally Posted by Johhnyllll
не знаю на сколько тот человек был прав, но, бывший размер stack-a был не нормальным.
После удаления прагмы из YSI:
PHP код:
Header size: 12864 bytes
Code size: 749580 bytes
Data size: 4678632 bytes
Stack/heap size: 16384 bytes; estimated max. usage=3127 cells (12508 bytes)
Total requirements: 5457460 bytes // около 5 мб
|
Кто сказал, что он был ненормальным? Он был не стандартным для Pawn, но нормальным для YSI. А этим действием ты, скорее всего, нарушишь работу YSI.
UPD
Quote:
Originally Posted by Johhnyllll
//upd
Из-за того что я удалил ту часть кода, мод не запускается,ну что-ж, придется восстановить.
|
Что не удивительно...
Re: Оптимизация кода -
VVWVV - 17.05.2017
В y_malloc существует два способа выделения памяти:
1) C помощью изменения блока, в котором содержится heap и stack.
Из-за того, что мы не можем выделить динамическую память, нам приходится говорить компилятору, что увеличим блок, в котором содержится heap и stack. Вы лишь можете изменить количество выделяемых байт - MALLOC_MEMORY.
2) С помощью отдельного глобального массива, который выделяется в сегменте данных. Если вы хотите использовать этот вариант, то перед всеми библиотеками определите новую константу YSI_NO_HEAP_MALLOC. Размер массива вы также можете изменить с помощью MALLOC_MEMORY.
В общем, я не советую вам изменять алгоритмы в YSI. Кстати, очень трудно судить о скрипте, не смотря на код.
Re: Оптимизация кода -
ZiGGi - 17.05.2017
Quote:
Originally Posted by VVWVV
Кстати, очень трудно судить о скрипте, не смотря на код.
|
Он там давал ссылку:
https://github.com/lJohhnyl/Corso-RolePlay
Re: Скриптинг курилка -
Mutha_X - 18.05.2017
В ВикиСампе сказано, что игрок может видеть 10 взрывов одновременно. В связи с этим вопрос: Если вызвать CreateExplosion на координатах достаточно удалённых (например более 1000 метров) от конкретного игрока, то будет ли считаться игрой, что этот конкретный игрок увидел данный взрыв?
[Т.е. происходит ли какой "стрим" взрывов на подобии объектов?]
p.s.: тут Майкл Бей заинтересовался вопросом ><
Re: Скриптинг курилка -
][Noname][ - 18.05.2017
скорей всего да
там массив размером с 10
думаю если создать далеко 10 и сразу перед тобой - последние не отобразятся
Re: Скриптинг курилка -
ZiGGi - 18.05.2017
Quote:
Originally Posted by Mutha_X
В ВикиСампе сказано, что игрок может видеть 10 взрывов одновременно. В связи с этим вопрос: Если вызвать CreateExplosion на координатах достаточно удалённых (например более 1000 метров) от конкретного игрока, то будет ли считаться игрой, что этот конкретный игрок увидел данный взрыв?
[Т.е. происходит ли какой "стрим" взрывов на подобии объектов?]
p.s.: тут Майкл Бей заинтересовался вопросом ><
|
А зачем? На таком расстоянии игрок не увидит и не услышит этот взрыв, зачем его создавать вообще?