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

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

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

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

[ Мануал ] Инвентарь.

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

Like2

Компетентный
Добрый вечер. :ah:

За основу брал какой-то инвентарь, ссылку уже закрыл..

1 слот для оружия, можно взять/выкинуть/положить/посмотреть информацию о инвентаре..

Далее по коду можете добавить, что вам требуется.. Наркотики и т.п, удачи. ;)

Все скриншоты:










Начнем, к pInfo:
PHP:
pInvWeaponMedium1,
pInvAmmoMedium1,
В OnPlayerConnect:
PHP:
    Player[playerid][pInvWeaponMedium1] = false;
    Player[playerid][pInvAmmoMedium1] = false;
В OnPlayerRegister:
PHP:
         	ini_setString(iniFile, "InvWeaponMedium1", Player[playerid][pInvWeaponMedium1]);
          	ini_setString(iniFile, "InvAmmoMedium1", Player[playerid][pInvAmmoMedium1]);
В OnPlayerLogin:
PHP:
        	ini_getInteger(iniFile,"InvWeaponMedium1",Player[playerid][pInvWeaponMedium1]);
        	ini_getInteger(iniFile,"InvAmmoMedium1",Player[playerid][pInvAmmoMedium1]);
В OnPlayerSave:
PHP:
 	ini_setInteger(iniFile, "InvWeaponMedium1", Player[playerid][pInvWeaponMedium1]);
 	ini_setInteger(iniFile, "InvAmmoMedium1", Player[playerid][pInvAmmoMedium1]);
Ко всем define(в начало мода):
PHP:
#define DIALOG_INV                      8
#define DIALOG_POLOJ                    9
#define DIALOG_INV_INFO                 10
Команды(YCMD):
PHP:
YCMD:invinfo(playerid, params[], help)
{
	new string[150];
	new gunname[100];
	GetWeaponName(Player[playerid][pInvWeaponMedium1], gunname, sizeof(gunname));
	if(Player[playerid][pInvWeaponMedium1] == 0 && Player[playerid][pInvAmmoMedium1] == 0) return SendClientMessage(playerid, -1, "{FF0000}[Ошибка]{FFFFFF} В твоем инвентаре ничего нет."),ShowPlayerDialog(playerid,DIALOG_POLOJ,DIALOG_STYLE_LIST,"Первый слот","[1] - Взять\n[2] - Положить\n[3] - Информация\n[4] - Выкинуть все оружие","Далее","Назад");
	format(string, sizeof(string), "{FFFFFF}<<      Информация о инвентаре      >>\n\n\n\tОружие: {33AA33}%s{FFFFFF}.",gunname);
	ShowPlayerDialog(playerid, DIALOG_INV_INFO, DIALOG_STYLE_MSGBOX,"Информация",string,"Назад","");
	return true;
}
YCMD:inv(playerid, params[], help)
{
	ShowPlayerDialog(playerid,DIALOG_INV,DIALOG_STYLE_LIST,"Инвентарь","[1] - Первый слот","Далее","Отмена");
	return true;
}
YCMD:putlightgun(playerid, params[], help)
{
	if(Player[playerid][pInvWeaponMedium1] != 0 || Player[playerid][pInvAmmoMedium1] != 0)  return SendClientMessage(playerid, -1, "{FF0000}[Ошибка]{FFFFFF} Твой инвертарь уже заполнен.");
	if(GetPlayerWeapon(playerid) == 0 && GetPlayerAmmo(playerid) == 0) return SendClientMessage(playerid, -1, "{FF0000}[Ошибка]{FFFFFF} У тебя нет оружия на руках.");
	Player[playerid][pInvWeaponMedium1] = GetPlayerWeapon(playerid);
	Player[playerid][pInvAmmoMedium1] = GetPlayerAmmo(playerid);
	RemovePlayerWeapon(playerid, GetPlayerWeapon(playerid));
	new gunname[100],string[100];
	GetWeaponName(GetPlayerWeapon(playerid), gunname, sizeof(gunname));
	format(string, sizeof(string), "Ты положил(а) оружие {33AA33}%s{FFFFFF} в свой инвентарь.", gunname),SendClientMessage(playerid, -1, string);
	return true;
}
В OnDialogResponse:
PHP:
	case DIALOG_INV:
		{
			if(response == 0) { }
			else
			{
				if(listitem == 0)
				{
					ShowPlayerDialog(playerid,DIALOG_POLOJ,DIALOG_STYLE_LIST,"Первый слот","[1] - Взять\n[2] - Положить\n[3] - Информация\n[4] - Выкинуть все оружие","Далее","Назад");
				}
			}
		}
	case DIALOG_POLOJ:
		{
			if(response)
			{
			    switch(listitem)
			    {
					case 0:
					{
							if(Player[playerid][pInvWeaponMedium1] == 0 && Player[playerid][pInvAmmoMedium1] == 0) return SendClientMessage(playerid, -1, "{FF0000}[Ошибка]{FFFFFF} В твоем инвентаре нет оружия.");
							GivePlayerWeapon(playerid,Player[playerid][pInvWeaponMedium1], Player[playerid][pInvAmmoMedium1]);
   							new gunname[100],string[100];
            				GetWeaponName(Player[playerid][pInvWeaponMedium1], gunname, sizeof(gunname));
            				format(string, sizeof(string), "Ты взял(а) оружие {33AA33}%s{FFFFFF} из инвентаря.", gunname);
           					SendClientMessage(playerid, -1, string);
							Player[playerid][pInvWeaponMedium1] = 0;
							Player[playerid][pInvAmmoMedium1] = 0;
					}
					case 1: return CallLocalFunction("OnPlayerCommandText", "is", playerid, "/putlightgun");
					case 2: return CallLocalFunction("OnPlayerCommandText","is",playerid,"/invinfo"); 
					case 3:
					{
					    if(Player[playerid][pInvWeaponMedium1] == 0 && Player[playerid][pInvAmmoMedium1] == 0) return SendClientMessage(playerid, -1, "{FF0000}[Ошибка]{FFFFFF} В твоем инвентаре нет оружия."),ShowPlayerDialog(playerid,DIALOG_POLOJ,DIALOG_STYLE_LIST,"Первый слот","[1] - Взять\n[2] - Положить\n[3] - Информация\n[4] - Выкинуть все оружие","Далее","Назад");
						Player[playerid][pInvWeaponMedium1] = 0,Player[playerid][pInvAmmoMedium1] = 0;
						SendClientMessage(playerid, -1, "Ты выкинул(а) оружие из инвентаря.");
					}
				}
			}
			else return ShowPlayerDialog(playerid,DIALOG_INV,DIALOG_STYLE_LIST,"Инвентарь","[1] - Первый слот","Далее","Отмена");
		}
	case DIALOG_INV_INFO:
		{
		    if(response)
		    {
		        if(listitem == 0) return ShowPlayerDialog(playerid,DIALOG_POLOJ,DIALOG_STYLE_LIST,"Первый слот","[1] - Взять\n[2] - Положить\n[3] - Информация\n[4] - Выкинуть все оружие","Далее","Назад");
		    }
		    else return ShowPlayerDialog(playerid,DIALOG_POLOJ,DIALOG_STYLE_LIST,"Первый слот","[1] - Взять\n[2] - Положить\n[3] - Информация\n[4] - Выкинуть все оружие","Далее","Назад");
		}
	}
Ну вот и все.

Автор переделки - я.
Команды переводить не буду, сами...
​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу