Like2
Компетентный
Добрый вечер. :ah:
За основу брал какой-то инвентарь, ссылку уже закрыл..
1 слот для оружия, можно взять/выкинуть/положить/посмотреть информацию о инвентаре..
Далее по коду можете добавить, что вам требуется.. Наркотики и т.п, удачи.
Все скриншоты:
Начнем, к pInfo:
В OnPlayerConnect:
В OnPlayerRegister:
В OnPlayerLogin:
В OnPlayerSave:
Ко всем define(в начало мода):
Команды(YCMD):
В OnDialogResponse:
Ну вот и все.
Автор переделки - я.
Команды переводить не буду, сами...
За основу брал какой-то инвентарь, ссылку уже закрыл..
1 слот для оружия, можно взять/выкинуть/положить/посмотреть информацию о инвентаре..
Далее по коду можете добавить, что вам требуется.. Наркотики и т.п, удачи.
Все скриншоты:
Начнем, к pInfo:
PHP:
pInvWeaponMedium1,
pInvAmmoMedium1,
PHP:
Player[playerid][pInvWeaponMedium1] = false;
Player[playerid][pInvAmmoMedium1] = false;
PHP:
ini_setString(iniFile, "InvWeaponMedium1", Player[playerid][pInvWeaponMedium1]);
ini_setString(iniFile, "InvAmmoMedium1", Player[playerid][pInvAmmoMedium1]);
PHP:
ini_getInteger(iniFile,"InvWeaponMedium1",Player[playerid][pInvWeaponMedium1]);
ini_getInteger(iniFile,"InvAmmoMedium1",Player[playerid][pInvAmmoMedium1]);
PHP:
ini_setInteger(iniFile, "InvWeaponMedium1", Player[playerid][pInvWeaponMedium1]);
ini_setInteger(iniFile, "InvAmmoMedium1", Player[playerid][pInvAmmoMedium1]);
PHP:
#define DIALOG_INV 8
#define DIALOG_POLOJ 9
#define DIALOG_INV_INFO 10
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;
}
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] - Выкинуть все оружие","Далее","Назад");
}
}
Автор переделки - я.
Команды переводить не буду, сами...
