Требуется помощь Скриптера.

  • Автор темы Frontend
  • Дата начала
F

Frontend

Решил сделать плагин который будет отвечать за рекламу, сложился с проблемой что не получается сделать чтобы каждая реклама шла по очереди, если есть желающие помочь - то добро пожаловать.
Почему не Advertesements? - потому что 1 реклама там занимает 256 строк, более ругается на байты.
Но если делать через PrintToChatAll то он обходит это ограничение и получается что то такое:
Оффтоп

Но, я пытался сделать по таймеру, типо каждая реклама +10 секунд, но все же это не решение, и хочется сделать чтобы было по очереди! да я могу вывести в pharess но это будет уже не то) и он все же будет ругаться на байты.
 

Вложения

  • rs.sp
    3.8 КБ · Просмотры: 5
  • scp.inc
    3.5 КБ · Просмотры: 1

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Для жёстко прописанных в плагине текстов самый простой вариант выглядит так:
PHP:
// Вот в этот массив вписываешь любую хрень, что придёт тебе в голову
static const char sAdverts[][] = {
    "123",
    "456",
    ...     // Пояснение для тупых, если такие найдутся (уже находились): это многоточие и оно обозначает,
            // что здесь может быть любое количество строк (правда нужно учитывать ограничения на размеры массивов компилятора)
            // с текстом аналогичным тому, что находится строками выше. Т.е. вот такие: «"%строка_символов%",»
    "xyz");

int iAdvCount;

public void OnPluginStart()
{
    iAdvCount = sizeof(sAdverts);
}

public void OnMapStart()
{
    CreateTimer(30.0, Advertise, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}

public Action Advertise(Handle timer)
{
    static int num;
    if(num >= iAdvCount) num = 0;
    PrintToChatAll("%s", sAdverts[num]);
    num++;
}
 
Последнее редактирование:
F

Frontend

Получается так-же, как и в обычном Адверте... тоже режет половину последних символов. *(смотрим скрин прикрепленный)
Но мне надо чтобы выводило вот так, и я так понимаю нечего сделать нельзя ? но выход всегда должен быть какой-то...
0Qy9YXkNrHk.jpg

--- Добавлено позже ---
Зачем изобретать "велосипед"?
Ты не понимаешь просто чего хочу я.
 

Вложения

  • jV1-ljGHT7k.jpg
    jV1-ljGHT7k.jpg
    217.4 КБ · Просмотры: 27
Последнее редактирование модератором:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #5
@Frontend, #include <scp> он тут не нужен
А насчет этого, сделай как написал @Grey83 но с небольшой поправкой:
PHP:
public Action Advertise(Handle timer)
{
    static int num, i;
    if(num >= iAdvCount) num = 0;
    for(i = 0; i < 3; ++i)
    {
        PrintToChatAll(sAdverts[num]);
    }
    num++;
}
Таким образом все записи будут дублироваться 3 раза
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Таким образом все записи будут дублироваться 3 раза
я бы за такую рекламу убивал бы того, кто ей спамит
тоже режет половину последних символов
Дай угадаю: у тебя в каждую ячейку строкового массива вписано больше 1 строки текста?
 
Сверху Снизу