Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Реклама на сервер v.2

Статус
В этой теме нельзя размещать новые ответы.

Скрытный

Ученик
В этом уроке Я вам покажу как сделать не просто рекламу которая будет идти каждые 5 минут но и команду, с помощью которой игрок сможет отключить эту рекламу в любой момент! Для новичков думаю это полезный урок

Итак, приступим...

=============================================================

1) Ко всем forward добавляем функцию показа рекламы: forward Advertising();
2) Ко всем new добавляем переменную для таймера: new AdvTimer;
3) Также к new добавим для каждого пользователя переменную, которая будет говорить нам о том, нужно ли посылать ему рекламу или нет: new NoAdv[MAX_PLAYERS];
4) Теперь идем в public OnGameModeInit() и куда-нибудь пропишем наш таймер вывода рекламы: AdvTimer = SetTimer("Advertising",300000,1);
5) Далее ищем public OnPlayerConnect(playerid) и в нем задаем для игрока NoAdv[playerid] = 1;
*** сделаем так: 1 - реклама выводится, 0 - не выводится.

6) Теперь крутим колесико в самый конец кода и добавляем туда нашу функцию:
PHP:
public Advertising() 
{ 
              for(new i=0; i<MAX_PLAYERS; i++) 
              { 
                   if(NoAdv[i]==0) return 1; 
                   SendClientMessage(i,COLOR_LIGHTGREEN,"*** ВАШ РЕКЛАМНЫЙ ТЕКСТ ***"); 
                   SendClientMessage(i,COLOR_LIGHTGREEN,"*** ВАШ РЕКЛАМНЫЙ ТЕКСТ ***");//таких строчек можно создать сколько угодно 
              } 
              return 1; 
}
7) Итак, функцию мы создали, теперь сделаем отключение по команде => нам нужно сделать так, чтобы переменная NoAdv для игрока стала равна 0 (см. 5 пункт).
Идем в public OnPlayerCommandText и добавим туда команду для отключения, например назовем ее /nohelpad
PHP:
if(strcmp(cmd, "/nohelpad",true)==0) 
{ 
            if(!IsPlayerConnected(playerid)) return 1;//проверка, на сервере ли игрок или нет 
            NoAdv[playerid] = 0;//присваеваем NoAdv значение 0 
            SendClientMessage(playerid,COLOR_GRAD1,"Подсказка отключена"); 
            return 1; 
}
8) Ну и наконец, ищем public GameModeExitFunc() и убиваем в нем наш таймер: KillTimer(AdvTimer);

=============================================================

Автор: Я, Скрытный
Источник: Мой мозг
От награды не откажусь, спасибо :ba:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу