Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Реклама с редактированием текста из игры - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Реклама с редактированием текста из игры
Оценка: -----

#1
Пользователь офлайн   Mike 

  • Администратор
  • Вставить ник
  • Раскрыть информацию
Приветствую, написал скрипт на скорую руку, этот скрипт добавит вам рандомную рекламу на сервер, которая будет показываться каждые 5 минут, и сам текст, который будет высвечиваться в чате, вы сможете менять прямо из игры. Итак, приступим, для работы вам понадобится инклюд mxINI:
Скачать
Так же, не забудьте поставить в папку scriptfiles, вот это:
adv.rar [322байт]
Скриншоты:
Изображение
Теперь вставлям сам скрипт:

1) В начало мода вставляем:
#include <mxINI>
#define DIALOG_CHANGE 1 // тут ид диалогов 1,2,3,4,5,6,7 смените на свои ид
#define DIALOG_TEXT1 2
#define DIALOG_TEXT2 3
#define DIALOG_TEXT3 4
#define DIALOG_TEXT4 5
#define DIALOG_TEXT5 6
#define DIALOG_TEXT 7


2) Ко всем forward'ам:
forward Adv();
forward Adv2();


3) Ко всем new:
new adtimer;
new ad = 0;



4) В public OnDialogResponse:
if(dialogid == DIALOG_TEXT)
	{
		if(response)
		{
		new string[512], t1[128], t2[128], t3[128], t4[128], t5[128];
			new file = ini_openFile("adv/text.ini");
			{
			ini_getString(file, "Text1", t1);
			ini_getString(file, "Text2", t2);
			ini_getString(file, "Text3", t3);
			ini_getString(file, "Text4", t4);
			ini_getString(file, "Text5", t5);
			ini_closeFile(file);
			}
		format(string, sizeof(string), "Text1: %s\nText2: %s\nText3: %s\nText4: %s\nText5: %s",t1,t2,t3,t4,t5);
		ShowPlayerDialog(playerid, DIALOG_CHANGE, DIALOG_STYLE_LIST, "Выбирите текст", string, "Выбрать", "Отмена");
		}
		else
		{
		// none
		}
	}
	if(dialogid == DIALOG_CHANGE)
	{
	    if(response)
	    {
			if(listitem == 0)
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT1, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			}
			if(listitem == 1)
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT2, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			}
			if(listitem == 2)
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT3, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			}
			if(listitem == 3)
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT4, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			}
			if(listitem == 4)
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT5, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			}

	    }
	}
	if(dialogid == DIALOG_TEXT1)
	{
	    if(response)
	    {
	    	if(!strlen(inputtext))
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT1, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			return 1;
			}
			new file = ini_openFile("adv/text.ini");//
			ini_setString(file,"Text1",inputtext);
			ini_closeFile(file);
			SendClientMessage(playerid, COLOR_WHITE, "Вы успешно изменили текст рекламы!");
	    }
	    else
	    {
	    // none
	    }
	}
	if(dialogid == DIALOG_TEXT2)
	{
	    if(response)
	    {
	    	if(!strlen(inputtext))
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT2, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			return 1;
			}
			new file = ini_openFile("adv/text.ini");//
			ini_setString(file,"Text2",inputtext);
			ini_closeFile(file);
			SendClientMessage(playerid, COLOR_WHITE, "Вы успешно изменили текст рекламы!");
	    }
	    else
	    {
	    // none
	    }
	}
	if(dialogid == DIALOG_TEXT3)
	{
	    if(response)
	    {
	    	if(!strlen(inputtext))
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT3, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			return 1;
			}
			new file = ini_openFile("adv/text.ini");//
			ini_setString(file,"Text3",inputtext);
			ini_closeFile(file);
			SendClientMessage(playerid, COLOR_WHITE, "Вы успешно изменили текст рекламы!");
	    }
	    else
	    {
	    // none
	    }
	}
	if(dialogid == DIALOG_TEXT4)
	{
	    if(response)
	    {
	    	if(!strlen(inputtext))
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT4, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			return 1;
			}
			new file = ini_openFile("adv/text.ini");//
			ini_setString(file,"Text4",inputtext);
			ini_closeFile(file);
			SendClientMessage(playerid, COLOR_WHITE, "Вы успешно изменили текст рекламы!");
	    }
	    else
	    {
	    // none
	    }
	}
	if(dialogid == DIALOG_TEXT5)
	{
	    if(response)
	    {
	    	if(!strlen(inputtext))
			{
			ShowPlayerDialog(playerid, DIALOG_TEXT5, DIALOG_STYLE_INPUT, "Редактирование текста", "Введите текст рекламы", "Принять", "Отмена");
			return 1;
			}
			new file = ini_openFile("adv/text.ini");//
			ini_setString(file,"Text5",inputtext);
			ini_closeFile(file);
			SendClientMessage(playerid, COLOR_WHITE, "Вы успешно изменили текст рекламы!");
	    }
	    else
	    {
	    // none
	    }
	}


5) Потом в public OnPlayerCommandText:
if(strcmp(cmd, "/changetext", true) == 0)
	{
			new t1[128], t2[128], t3[128], t4[128], t5[128];
 		    new file = ini_openFile("adv/text.ini");
    		{
			ini_getString(file, "Text1", t1);
			ini_getString(file, "Text2", t2);
			ini_getString(file, "Text3", t3);
			ini_getString(file, "Text4", t4);
			ini_getString(file, "Text5", t5);
			ini_closeFile(file);
			}
			format(string, sizeof(string), "Text1: %s\nText2: %s\nText3: %s\nText4: %s\nText5: %s",t1,t2,t3,t4,t5);
			ShowPlayerDialog(playerid, DIALOG_TEXT, DIALOG_STYLE_MSGBOX, "Текст рекламы", string, "Изменить", "Отмена");
			return 1;
	}


6) В public GameModeExitFunc:
KillTimer(adtimer);


7) В public OnGameModeInit():
adtimer = SetTimer("Adv", 300000, 1);


8) И в конец мода:

public Adv2()
{

	new string[128];
    new ftext[128];
    new t1[128], t2[128], t3[128], t4[128], t5[128];
	new file = ini_openFile("adv/text.ini");
	ini_getString(file, "Text1", t1);
	ini_getString(file, "Text2", t2);
	ini_getString(file, "Text3", t3);
	ini_getString(file, "Text4", t4);
	ini_getString(file, "Text5", t5);
	ini_closeFile(file);
    if(ad == 1) { ftext = t1; }
    else if(ad == 2) { ftext = t2; }
    else if(ad == 3) { ftext = t3; }
    else if(ad == 4) { ftext = t4; }
    else if(ad == 5) { ftext = t5; }
   	format(string, sizeof(string), "%s", ftext);
	SendClientMessageToAll(0xFF800096, string);

	return 1;
}
public Adv()
{

	new dice = random(5)+1;
	ad = dice;
    Adv2();

	return 1;
}



Вот и все, на счет инклюда mxINI его вставляете в папку pawno>>>includes.

Автор: Mike

На другие ресурсы копировать запрещенно! ©

Прикрепленные файлы


6

#2
Пользователь офлайн   Макс 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Класс
0

#3
Пользователь офлайн   LiMOH 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Прикольно, только было бы неплохо сделать возможность выбора цвета текста и интервала, через который в чате будет отображаться текст. Плюс поставил.
0

#4
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию
а {Цвет} не работает?
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей