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

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

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

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

Доска объясвлений!

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

Ben_Lovejoy

Компетентный
Скрин:

Ко всем #define
PHP:
#define DIALOG_REKL 800
Ко всем NEW
PHP:
new Text3D:ADVtext[5];//Сами объявления
new ADVid[5];//Идентификатор объявления
new ADVprice;//Цена размещения объявления
new Text3D:ADVPtext;//Переменная для обновления текста с ценой
new ADVcount = 5;//Сколько всего объявлений
new ADVname[MAX_PLAYERS][MAX_PLAYER_NAME];
В public LoadStuff()
PHP:
iniGetInt(File,"ADVprice",ADVprice);
В public SaveStuff()
PHP:
iniSetInt(File,"ADVprice",ADVprice);
Далее в public OnGameModeInit()
PHP:
    LoadStuff();
    CreateObject(3077, 1507.49, -1747.54, 12.54,   0.00, 0.00, 24.50); // Доска
	ADVtext[0] = Create3DTextLabel("{808080}Рекламное место свободно!",COLOR_GREEN ,1507.49, -1747.54,14.1,15,0,0);
	ADVtext[1] = Create3DTextLabel("{808080}Рекламное место свободно!",COLOR_GREEN ,1507.49, -1747.54,14.5,15,0,0);
	ADVtext[2] = Create3DTextLabel("{808080}Рекламное место свободно!",COLOR_GREEN ,1507.49, -1747.54,14.8,15,0,0);
	ADVtext[3] = Create3DTextLabel("{808080}Рекламное место свободно!",COLOR_GREEN ,1507.49, -1747.54,15.1,15,0,0);
	ADVtext[4] = Create3DTextLabel("{808080}Рекламное место свободно!",COLOR_GREEN ,1507.49, -1747.54,15.5,15,0,0);
	Create3DTextLabel("{FFFFFF}Для размещения объявления используйте\nклавишу Space(Пробел)\n за объявления с матом - варн",-1,1503.8589,-1747.7847,13.5469,15,0,0);
	new t[80];
	format(t,80,"{FFFFFF}Свободно 5 рекламных мест | Цена размещения {008000}%d$",ADVprice);
	ADVPtext = Create3DTextLabel(t,-1 ,1507.49, -1747.54,16.0,15,0,0);
Добавляем команды в public OnPlayerCommandText(playerid, cmdtext[])
PHP:
  if(strcmp(cmd, "/rekldel", true) == 0)//Отчистить рекламу
	{
		if(PlayerInfo[playerid][pAdmin] < 3)return 1;
		new t[80];
		tmp = strtok(cmdtext, idx);

		if(!strval(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "Использование: /rekldel [ ID объявления ]");
		if(strval(tmp) < 0 && strval(tmp) > 4)return SendClientMessage(playerid,-1,"Неверный идентификатор");
		if(ADVid[strval(tmp)] == 0)return SendClientMessage(playerid,-1,"Данное рекламное место не занято!");
		ADVid[strval(tmp)] = 0;
		Update3DTextLabelText(ADVtext[strval(tmp)],-1,"{808080}Рекламное место свободно!");
		ADVcount++;
		format(t,80,"{FFFFFF}Свободно %d рекламных мест | Цена размещения {008000}%d$",ADVcount,ADVprice);
		Update3DTextLabelText(ADVPtext,-1,t);
		return 1;
	}
	if(strcmp(cmd, "/reklprice", true) == 0)//Поставить цену за рекламу!
	{
	    if(PlayerInfo[playerid][pAdmin] < 9999)return 1;
		new t[80];
		tmp = strtok(cmdtext, idx);

		if(!strval(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "Использование: /reklprice [ Цена объявления ]");
		ADVprice = strval(tmp);
        format(t,80,"{FFFFFF}Свободно %d рекламных мест | Цена размещения {008000}%d$",ADVcount,ADVprice);
		Update3DTextLabelText(ADVPtext,-1,t);
		return 1;
	}
Добавляем в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
	if(dialogid == DIALOG_REKL)
	{
		if(!response)return 1;
		if(!strlen(inputtext))return SendClientMessage(playerid,-1,"Вы ничего не ввели!");
		new texxt[250],t[80];
		ADVcount--;
		format(t,80,"{FFFFFF}Свободно %d рекламных мест | Цена размещения {008000}%d$",ADVcount,ADVprice);
		format(texxt,sizeof(texxt),"{808080}%s\n{FFFFFF}Контакт: {00BFFF}%s",inputtext,ADVname[playerid]);
		if(ADVid[0] == 0)
		{
		    Update3DTextLabelText(ADVtext[0],-1,texxt);
		    Update3DTextLabelText(ADVPtext,-1,t);
		    ADVid[0] = 1;
		    GivePlayerMoney(playerid,-ADVprice);
		    SendClientMessage(playerid,-1,"Вы разместили объявление");
			return 1;
		}
		if(ADVid[1] == 0)
		{
		    Update3DTextLabelText(ADVtext[1],-1,texxt);
		    Update3DTextLabelText(ADVPtext,-1,t);
		    ADVid[1] = 1;
		    GivePlayerMoney(playerid,-ADVprice);
		    SendClientMessage(playerid,-1,"Вы разместили объявление");
		    return 1;
		}
		if(ADVid[2] == 0)
		{
		    Update3DTextLabelText(ADVtext[2],-1,texxt);
		    Update3DTextLabelText(ADVPtext,-1,t);
		    ADVid[2] = 1;
		    GivePlayerMoney(playerid,-ADVprice);
		    SendClientMessage(playerid,-1,"Вы разместили объявление");
		    return 1;
		}
		if(ADVid[3] == 0)
		{
		    Update3DTextLabelText(ADVtext[3],-1,texxt);
		    Update3DTextLabelText(ADVPtext,-1,t);
		    ADVid[3] = 1;
		    GivePlayerMoney(playerid,-ADVprice);
		    SendClientMessage(playerid,-1,"Вы разместили объявление");
		    return 1;
		}
		if(ADVid[4] == 0)
		{
		    Update3DTextLabelText(ADVtext[4],-1,texxt);
		    Update3DTextLabelText(ADVPtext,-1,t);
		    ADVid[4] = 1;
		    GivePlayerMoney(playerid,-ADVprice);
		    SendClientMessage(playerid,-1,"Вы разместили объявление");
		    return 1;
		}
	}
Потом в public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
	if(newkeys == 8)//На данный момент стоит кнопка пробел
	{
  		if(IsPlayerInRangeOfPoint(playerid,2,1506.8970,-1746.2880,13.5469) && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
     	{
     	    if(GetPlayerMoney(playerid) < ADVprice)return SendClientMessage(playerid,-1,"У вас не хватает денег ддя размешения объявления!");
			if(ADVid[0] == 1 && ADVid[1] == 1 && ADVid[2] == 1 && ADVid[3] == 1 && ADVid[4] == 1)
			return SendClientMessage(playerid,-1,"Все рекламные места заняты!");
			else return ShowPlayerDialog(playerid,DIALOG_REKL,DIALOG_STYLE_INPUT,"Размещение объявления","Введите текст объявления","Дальше","Отмена");
    	}
    	
	}
P.S. На данный момент доска пока одна: находится она у мерии LS. Вы можите сделать 10,20 а то и больше таких досок с объявлениями! Удачи
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу