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

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
OKStyle, раз уж эти плагины действительно могут добавить много возможностей, то можно ли с помощью плагина написать другие виды диалогов? Отличные от стандартных диалогов? И почему тогда, раз это настолько перспективно, многие крупные проекты SA-MP не начинают разработку собственных фишек, и не улетают вперед от SA-MP?
А потому, что их никто делать не умеет. А кто умеет - тому эти финтифлюшки с перделками и свистелками не нужны... Я бы вообще диалоги исключил... Раньше - меню было венцом творения, а цветное меню - уникальным элементом... А уж на текстдравах...
Reply

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
А потому, что их никто делать не умеет. А кто умеет - тому эти финтифлюшки с перделками и свистелками не нужны... Я бы вообще диалоги исключил... Раньше - меню было венцом творения, а цветное меню - уникальным элементом... А уж на текстдравах...
ну почему ж сразу никто... вот делают же стримеры (почти неограниченное число объектов/пикапов, per player пикапы и т.д.) или же тех RCNPC ботов (или как там они правильно). Хоть последний плагин и memory-hacking, не знаю, почему его разрешили здесь и одобрили, однако разрешили
Reply

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
А потому, что их никто делать не умеет. А кто умеет - тому эти финтифлюшки с перделками и свистелками не нужны... Я бы вообще диалоги исключил... Раньше - меню было венцом творения, а цветное меню - уникальным элементом... А уж на текстдравах...
Что имеется в виду под словосочетанием "финтифлюшки с перделками"?
А по поводу диалогов, поле ввода вы где возьмете? И вообще, существенным минусом нынешних диалогов является то, что для одного диалога возможно лишь одно поле для ввода. И при создании простенькой регистрации без 3-4 окон не обойдется.
Reply

Quote:
Originally Posted by DartfoL
Посмотреть сообщение
ну почему ж сразу никто... вот делают же стримеры (почти неограниченное число объектов/пикапов, per player пикапы и т.д.) или же тех RCNPC ботов (или как там они правильно). Хоть последний плагин и memory-hacking, не знаю, почему его разрешили здесь и одобрили, однако разрешили
Тут говорят о том, что большие проекты если и могут себе позволить такое, оно им без надобности. Игроки и так играют, деньги капают. Зачем заморачиваться с чем-то новым, когда можно тупо делать из того, что дал кто-то другой и грести деньги?
А малые проекты либо не умеют делать подобное, либо не видят в этом перспективы, ибо смотрят на крупные проекты и видят, что игроки и без всех свистелок-перделок довольны. Так что пытаются копировать их, а не трудиться над своими идеями. Именно поэтому самп превратился в 3 одинаковых режима с разным расположением текста.
Рекурсия, в общем
Reply

А есть способ получить количество пассажирских мест в транспорте скриптово?
Reply

Quote:
Originally Posted by DrumYum
Посмотреть сообщение
А есть способ получить количество пассажирских мест в транспорте скриптово?
GetVehicleModelInfo
Reply

Quote:
Originally Posted by DrumYum
Посмотреть сообщение
А есть способ получить количество пассажирских мест в транспорте скриптово?
pawn Код:
stock GetMaxPassengers(vModel)  // by BJIADOKC
{  
    vModel -= 400;  
    if(0 <= vModel <= 211)  
    {  
        static seekBlock_vSeats[27] =  
        {  
        0x10331113, 0x11311131,  
        0x11331313, 0x80133301,  
        0x1381F110, 0x10311103,  
        0x10001F10, 0x11113311,  
        0x13113311, 0x31101100,  
        0x30001301, 0x11031311,  
        0x11111331, 0x10013111,  
        0x01131100, 0x11111110,  
        0x11100031, 0x11130221,  
        0x33113311, 0x11111101,  
        0x33101133, 0x101001F0,  
        0x03133111, 0xFF11113F,  
        0x13330111, 0xFF131111,  
        0x0000FF3F  
        };  
        return ((seekBlock_vSeats[vModel >>> 3] >>> ((vModel & 7) << 2)) & 15);  
    }  
    return 15;  
}
Reply

Quote:
Originally Posted by Richard_Gere
Посмотреть сообщение
pawn Код:
stock GetMaxPassengers(vModel)  // by BJIADOKC
{  
    vModel -= 400;  
    if(0 <= vModel <= 211)  
    {  
        static seekBlock_vSeats[27] =  
        {  
        0x10331113, 0x11311131,  
        0x11331313, 0x80133301,  
        0x1381F110, 0x10311103,  
        0x10001F10, 0x11113311,  
        0x13113311, 0x31101100,  
        0x30001301, 0x11031311,  
        0x11111331, 0x10013111,  
        0x01131100, 0x11111110,  
        0x11100031, 0x11130221,  
        0x33113311, 0x11111101,  
        0x33101133, 0x101001F0,  
        0x03133111, 0xFF11113F,  
        0x13330111, 0xFF131111,  
        0x0000FF3F  
        };  
        return ((seekBlock_vSeats[vModel >>> 3] >>> ((vModel & 7) << 2)) & 15);  
    }  
    return 15;  
}
Почему используется static?
И вообще, почему не const static?
В чем разница между static const и new const?
Reply

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
Что имеется в виду под словосочетанием "финтифлюшки с перделками"?
А по поводу диалогов, поле ввода вы где возьмете? И вообще, существенным минусом нынешних диалогов является то, что для одного диалога возможно лишь одно поле для ввода. И при создании простенькой регистрации без 3-4 окон не обойдется.
Нарисую текстдравами: http://imghost.in/img/2013-12/29/730...b2urz70wgm.png
Reply

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
Нарисую текстдравами: http://imghost.in/img/2013-12/29/730...b2urz70wgm.png
И что, это поле для ввода хочешь сказать? Возможно, но сделано то не без плагинов.
Reply

Quote:
Originally Posted by DrumYum
Посмотреть сообщение
В каком смысле? Вынести в инклуд функцию?
тело функции.
Reply

Вынести копипасту в функцию, функцию в инклюд, инклюд в отдельную папку, копипасту подменить на функцию.
...
PROFIT!!1!
Reply

Quote:
Originally Posted by Mutha_X
Посмотреть сообщение
Вынести копипасту в функцию, функцию в инклюд, инклюд в отдельную папку, копипасту подменить на функцию.
...
PROFIT!!1!
и исключить из всей строки слово функция.
Reply

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

Quote:
Originally Posted by DrumYum
Посмотреть сообщение
Я вас не пойму. Что в итоге должно быть?
Как перенести в инклуд функцию, но чтобы это была не функция?
pawn Код:
stock GivePlayerMoneyEx(playerid, money)
{
   ...

    #include <path/to/include/givemoneybody.inc>

   ...
}
givemoneybody.inc:
pawn Код:
...

   GivePlayerMoney(playerid, money);

...
Reply

Quote:
Originally Posted by Richard_Gere
Посмотреть сообщение
pawn Код:
stock GivePlayerMoneyEx(playerid, money)
{
   ...

    #include <path/to/include/givemoneybody.inc>

   ...
}
givemoneybody.inc:
pawn Код:
...

   GivePlayerMoney(playerid, money);

...
я ещё раз повторяю, исключите функцию!
На примере команды самоубийства:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[]) {
    ...
    if (!strcmp(cmdtext, '/give')) {
        ...
    }
    #include <./partials/command_kill.inc>
    else if (!strcmp(cmdtext, '/money')) {
        ...
    }
    ...
    return 1;
}
command_kill.inc:
pawn Код:
else if (!strcmp(cmdtext, '/kill')) {
    SetPlayerHealth(playerid, 0.0);
    return 1;
}
Область видимости переменных инклуда соответствует области видимости места где он вставлен.
Такие операции можно проделывать с любой частью кода.
Reply

Current Release: SA-MP 0.3x Players Online: 8616 Servers Online: 1496

Опять какой то крэшер вышел?

*через минуту уже нормально
Reply

Я тоже замечал что некоторые сервера пролагивали и онлайн падал. Адванс тоже этим страдал. Уже не первый раз есть подозрения что крешер есть !
Reply

Лимит PVar'ов - 800. Это для одного игрока или общее количество?
Reply

Так для игроков одинаковые pvar'ы и существуют. Ты же будешь для каждого игрока свой pvar придумывать.
Reply


Forum Jump:


Users browsing this thread: 14 Guest(s)