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

Quote:
Originally Posted by Mutha_X
Посмотреть сообщение
1) Человек А говорит, что всё можно реализовать.


2) Человек Б говорит, как можно реализовать.


3) Человек В назвал человека А фантазёром потому что человек Б рассказал как реализовать идею от А, в которую человек В не верил до сообщения от Б.

Обожаю, когда горе "я без пруфов" подтасовывают факты в свою пользу на этом форуме.
ты одуванчиков перенюхал? где я писал что не верю во что то?
не надо искать смысла в каждом моем сообщении. предыдущее я написал просто от балды чтобы подчеркнуть ответ зигги. пока
Reply

Я вид сверху на таймерах реализовывал... Но с объектом будет лучше.
Reply

PHP код:
Header size12864 bytes 
Code size
755772 bytes 
Data size
4682732 bytes 
Stack
/heap size17039360 bytesestimated maxusage=3127 cells (12508 bytes
Total requirements:22490728 bytes 
Это хорошо или плохо?
Как в этом разобраться?
Total requirements в байтах будет 21.44883 MB
Reply

Слишком много агрессии. Весенний спермотаксикоз? Ну да бог с этим.

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 с активным указателем мыши, чтоб, при этом, можно было реализовать активный интерфейс и всё прочее. Будь у текстдравов лимит побольше, можно было бы это реализовать при помощи их, но даже тогда всё получилось бы крайне криво в плане точности информации + всё так же нельзя было бы, например, реализовать автоповорот игрока в сторону указателя мыши.

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

Для стека используется 12508 байт, максимум по умолчанию 16000. Но этот объём можно увеличить с помощью #pragma dynamic байты
Reply

Quote:
Originally Posted by Eims
Посмотреть сообщение
Собственно, на видео видно, что это реализовано крайне криво и неудобно (как и всё в SA-MP, что сложнее разработок 6-10-х годов, которыми большинство до сих пор пользуется). Да и это, опять же, не то. Речь идёт про некую симуляцию стратегии или GTA 1/2 с активным указателем мыши, чтоб, при этом, можно было реализовать активный интерфейс и всё прочее. Будь у текстдравов лимит побольше, можно было бы это реализовать при помощи их, но даже тогда всё получилось бы крайне криво в плане точности информации + всё так же нельзя было бы, например, реализовать автоповорот игрока в сторону указателя мыши.

И такая банальная возможность, как отслеживание положения указателя на экране, позволила бы реализовать огромное число полезных и интересных систем, начиная от вспомогательных, типа редактора объектов, и заканчивая различными скриптами, что делали бы игру интереснее.
Естественно это криво, но всё это можно нормально реализовать в MTA, почему бы не делать это там? Как говорил Kye: "SA-MP -
это San Andreas Multiplayer", и возмущаться, что из него нельзя сделать GTA 1/2 некорректно.

Я не говорю, что функция отслеживания положения курсора не нужна, очень даже нужна и я бы нашёл ей массу применений. Но этого нет и не будет, смирись и иди в MTA .
Reply

С чего вы вообще взяли, что мне так нужно реализовать эту систему? За диалогом вообще нынче никто не следит что ли?
Вот был задан вопрос пару страниц назад и мои сообщения являются лишь ответом на этот вопрос. Я знаю, что в SA-MP такого ждать бессмысленно. В SA-MP вообще бессмысленно ждать каких-либо обнов, о чём я и говорил в соседней теме. Вернитесь на несколько страниц назад и прочтите диалог целиком, чтоб понять о чём идёт речь вообще.
Reply

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
Для стека используется 12508 байт, максимум по умолчанию 16000. Но этот объём можно увеличить с помощью #pragma dynamic байты
Так у него размер и увеличен. При том, как-то уж очень сильно
Quote:

Stack/heap size: 17039360 bytes; estimated max. usage=3127 cells (12508 bytes)

Reply

Quote:
Originally Posted by Eims
Посмотреть сообщение
При том, что изначально речь шла именно о них, не?
нет
Quote:

отслеживания мыши

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, не нужно делать хюндай из вазовской пятерки. только дураки еще не выкупили политику разработки сампа.

и да пожалуйста заткнись уже, я устал
Reply

Quote:
Originally Posted by Eims
Посмотреть сообщение
Так у него размер и увеличен. При том, как-то уж очень сильно
Как можно снизить stack?
Ну или сделать нормальным...
Reply

Quote:
Originally Posted by Johhnyllll
Посмотреть сообщение
Как можно снизить stack?
Создавать меньше локальных массивов.

Quote:
Originally Posted by Johhnyllll
Посмотреть сообщение
Ну или сделать нормальным...
Удали #pragma dynamic из кода.
Reply

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 usermoney;
if(
sscanf(params,"ui",user,money)) return SendClientMessage(playerid,-1,"asda"); 
Стоит переходить на обычное prams[0] и params[1]?
Мод: https://github.com/lJohhnyl/Corso-RolePlay
Reply

Quote:
Originally Posted by Johhnyllll
Посмотреть сообщение
Прагмы в моде не используется, нашел только в инклудах YSI:
Скорее всего, большую часть использует YSI.

Quote:
Originally Posted by Johhnyllll
Посмотреть сообщение
А насчет локальных переменных, я использую их для команд больше всего, примерно так:
PHP код:
new usermoney;
if(
sscanf(params,"ui",user,money)) return SendClientMessage(playerid,-1,"asda"); 
Стоит переходить на обычное prams[0] и params[1]?
Мод: https://github.com/lJohhnyl/Corso-RolePlay
Конечно нет. Я ничего не говорил про локальные переменные, я говорил про локальные массивы. Например, массив string на 512 ячеек в ShowElevatorDialog, но это не так много.


А вообще, какие предпосылки твоего вопроса про стек? Чем тебе мешает его размер? Почему ты его хочешь уменьшить?
Reply

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 bytesestimated maxusage=3127 cells (12508 bytes)
Total requirements5457460 bytes // около 5 мб 
//upd
Из-за того что я удалил ту часть кода, мод не запускается,ну что-ж, придется восстановить.
Reply

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 bytesestimated maxusage=3127 cells (12508 bytes)
Total requirements5457460 bytes // около 5 мб 
Кто сказал, что он был ненормальным? Он был не стандартным для Pawn, но нормальным для YSI. А этим действием ты, скорее всего, нарушишь работу YSI.

UPD
Quote:
Originally Posted by Johhnyllll
Посмотреть сообщение
//upd
Из-за того что я удалил ту часть кода, мод не запускается,ну что-ж, придется восстановить.
Что не удивительно...
Reply

В y_malloc существует два способа выделения памяти:
1) C помощью изменения блока, в котором содержится heap и stack.
Из-за того, что мы не можем выделить динамическую память, нам приходится говорить компилятору, что увеличим блок, в котором содержится heap и stack. Вы лишь можете изменить количество выделяемых байт - MALLOC_MEMORY.
2) С помощью отдельного глобального массива, который выделяется в сегменте данных. Если вы хотите использовать этот вариант, то перед всеми библиотеками определите новую константу YSI_NO_HEAP_MALLOC. Размер массива вы также можете изменить с помощью MALLOC_MEMORY.

В общем, я не советую вам изменять алгоритмы в YSI. Кстати, очень трудно судить о скрипте, не смотря на код.
Reply

Quote:
Originally Posted by VVWVV
Посмотреть сообщение
Кстати, очень трудно судить о скрипте, не смотря на код.
Он там давал ссылку: https://github.com/lJohhnyl/Corso-RolePlay
Reply

В ВикиСампе сказано, что игрок может видеть 10 взрывов одновременно. В связи с этим вопрос: Если вызвать CreateExplosion на координатах достаточно удалённых (например более 1000 метров) от конкретного игрока, то будет ли считаться игрой, что этот конкретный игрок увидел данный взрыв?
[Т.е. происходит ли какой "стрим" взрывов на подобии объектов?]

p.s.: тут Майкл Бей заинтересовался вопросом ><
Reply

скорей всего да
там массив размером с 10

думаю если создать далеко 10 и сразу перед тобой - последние не отобразятся
Reply

Quote:
Originally Posted by Mutha_X
Посмотреть сообщение
В ВикиСампе сказано, что игрок может видеть 10 взрывов одновременно. В связи с этим вопрос: Если вызвать CreateExplosion на координатах достаточно удалённых (например более 1000 метров) от конкретного игрока, то будет ли считаться игрой, что этот конкретный игрок увидел данный взрыв?
[Т.е. происходит ли какой "стрим" взрывов на подобии объектов?]

p.s.: тут Майкл Бей заинтересовался вопросом ><
А зачем? На таком расстоянии игрок не увидит и не услышит этот взрыв, зачем его создавать вообще?
Reply


Forum Jump:


Users browsing this thread: 16 Guest(s)