Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #tryinclude <a_mysql>
- #tryinclude <sscanf2>
- #tryinclude <streamer>
- #define MAX_KG 15.0 // Максимальный вес
- #define MAX_COLORS 6
- #define MAX_DROP_OBJECTS 1000
- #define MAX_WAREHOUSES 1
- #define d_inventory 1000
- #define d_onclick 1005
- #define d_info 1010
- #define d_inputWeapon 1015
- #define d_sort 1020
- #define d_customization 1025
- #define d_customizationChose 1030
- #define d_warehouse 1035
- #define d_whaction 1040
- new colors[MAX_COLORS][] = {
- "e7e7e7",
- "96A8B2",
- "BA5B50",
- "274D63",
- "b23687",
- "69ee6b"
- };
- enum _playerInfo {
- ID,
- nickname[25],
- slotsInfo[10],
- slotsAmountInfo[10],
- interfaceSettings[2]
- };
- new playerInfo[MAX_PLAYERS][_playerInfo];
- enum {
- ITEM_TYPE_FOOD = 1,
- ITEM_TYPE_GUN,
- ITEM_TYPE_CLOTHES
- };
- enum {
- SAVE_INTERFACE_SETTINGS = 0,
- SAVE_INVENTORY
- };
- enum _itemsInfo {
- ID,
- itemName[36],
- itemInfo[128],
- itemType,
- itemModel,
- Float:itemWeight
- };
- new itemsInfo[][_itemsInfo] = {
- {1, "Одежда", "Комплект вещей. Адик, найки, и прочая ересь", 3, 2843, 0.2},
- {2, "Бургер", "Свежий и сочный бургер с бургер кинга", 1, 2703, 0.1},
- {3, "AK-47", "Почти как репер, но только автомат", 2, 355, 3.4}
- };
- enum _dropObjects {
- objectInfo[2],
- Float:objectPos[3],
- objectCreate,
- Text3D:objectText
- };
- new dropObjects[MAX_DROP_OBJECTS][_dropObjects];
- new dropObjectsCount;
- enum _warehouseInfo {
- ID,
- Float:wPos[3],
- wSlotsInfo[5],
- wSlotsAmountInfo[5]
- };
- new warehouseInfo[MAX_WAREHOUSES][_warehouseInfo];
- new warehouseCount;
- public OnGameModeInit()
- {
- new string[248];
- mysql_connect("localhost","root","inventory","");
- mysql_set_charset("cp1251_general_ci");
- mysql_query("SET NAMES 'cp1251'");
- mysql_query("SET CHARACTER SET 'cp1251'");
- mysql_debug(1);
- switch(mysql_ping()) {
- case 1: print("connect mysql: access.");
- case -1: {
- print("connect mysql: fail.");
- for(;;){}
- }
- }
- mysql_query("SELECT * FROM `server_dropObjects`");
- mysql_store_result();
- if(!mysql_num_rows()) {
- return print("drop objects not found");
- }
- while(mysql_fetch_row(string)) {
- sscanf(string,"p<|>a<i>[2]a<f>[3]",
- dropObjects[dropObjectsCount][objectInfo],
- dropObjects[dropObjectsCount][objectPos]
- );
- switch(dropObjects[dropObjectsCount][objectInfo][0]) {
- case 2: dropObjects[dropObjectsCount][objectCreate] = CreateDynamicObject(itemsInfo[dropObjects[dropObjectsCount][objectInfo][0]-1][itemModel], dropObjects[dropObjectsCount][objectPos][0], dropObjects[dropObjectsCount][objectPos][1], dropObjects[dropObjectsCount][objectPos][2]-0.94, -97.0, 0.0, 0.0); // Бургер
- case 3: dropObjects[dropObjectsCount][objectCreate] = CreateDynamicObject(itemsInfo[dropObjects[dropObjectsCount][objectInfo][0]-1][itemModel], dropObjects[dropObjectsCount][objectPos][0], dropObjects[dropObjectsCount][objectPos][1], dropObjects[dropObjectsCount][objectPos][2]-0.94, 90.0, 0.0, 0.0); // Калаш
- default: dropObjects[dropObjectsCount][objectCreate] = CreateDynamicObject(itemsInfo[dropObjects[dropObjectsCount][objectInfo][0]-1][itemModel], dropObjects[dropObjectsCount][objectPos][0], dropObjects[dropObjectsCount][objectPos][1], dropObjects[dropObjectsCount][objectPos][2]-1, 0.0, 0.0, 0.0); // Все остальное
- }
- new text[32];
- format(text,sizeof text,"%s\nНажмите ALT чтобы поднять",itemsInfo[dropObjects[dropObjectsCount][objectInfo][0]-1][itemName]);
- dropObjects[dropObjectsCount][objectText] = CreateDynamic3DTextLabel(text ,0xce7d7dAA, dropObjects[dropObjectsCount][objectPos][0], dropObjects[dropObjectsCount][objectPos][1], dropObjects[dropObjectsCount][objectPos][2] - 0.8,4.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,-1,-1);
- dropObjectsCount++;
- }
- mysql_free_result();
- mysql_query("SELECT * FROM `server_warehouses`");
- mysql_store_result();
- if(!mysql_num_rows()) {
- return print("warehouses not found");
- }
- while(mysql_fetch_row(string)) {
- sscanf(string,"p<|>ia<f>[3]a<i>[5]a<i>[5]",
- warehouseInfo[warehouseCount][ID],
- warehouseInfo[warehouseCount][wPos],
- warehouseInfo[warehouseCount][wSlotsInfo],
- warehouseInfo[warehouseCount][wSlotsAmountInfo]
- );
- warehouseCount++;
- }
- mysql_free_result();
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- new string[128];
- format(string,sizeof string,"SELECT * FROM server_character WHERE nickname = '%s' LIMIT 1",playerInfo[playerid][nickname]);
- mysql_query(string);
- mysql_store_result();
- if(!mysql_num_rows()) {
- format(string,sizeof string,"INSERT INTO server_character (nickname) VALUES ('%s')",playerInfo[playerid][nickname]);
- mysql_query(string);
- } else {
- if(mysql_num_rows() == 1) {
- mysql_fetch_row_format(string, "|");
- sscanf(string,"p<|>i{s[24]}a<i>[10]a<i>[10]a<i>[2]",
- playerInfo[playerid][ID],
- playerInfo[playerid][slotsInfo],
- playerInfo[playerid][slotsAmountInfo],
- playerInfo[playerid][interfaceSettings]);
- print("user load");
- }
- }
- mysql_free_result();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- for(new _playerInfo:i; i < _playerInfo; ++i) playerInfo[playerid][i] = 0;
- GetPlayerName(playerid,playerInfo[playerid][nickname],24);
- if(GetPVarInt(playerid,"selectItem")) DeletePVar(playerid,"selectItem");
- if(GetPVarInt(playerid,"customizationIndex")) DeletePVar(playerid,"customizationIndex");
- if(GetPVarInt(playerid,"transferMode")) DeletePVar(playerid,"transferMode");
- if(GetPVarInt(playerid,"giveItemFromPlayerToWarehouse")) DeletePVar(playerid,"giveItemFromPlayerToWarehouse");
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- ApplyAnimation(playerid,"WUZI","null",0.0,0,0,0,0,0);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[32], params[128];
- sscanf(cmdtext, "s[32]s[128]", cmd, params);
- if(!strcmp(cmd, "/inv", true)) {
- if(GetPVarInt(playerid,"selectItem")) {
- if(!GetPVarInt(playerid,"transferMode")) DeletePVar(playerid,"selectItem");
- }
- new string[1024];
- new Float:kg;
- for(new i; i < 10; i++) {
- if(playerInfo[playerid][slotsInfo][i] == 0) format(string,sizeof string,"%s{%s}[%d]{%s} Пустой слот\n",
- string,
- colors[playerInfo[playerid][interfaceSettings][0]],
- i+1,
- colors[playerInfo[playerid][interfaceSettings][1]]
- );
- else {
- if(itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemType] == ITEM_TYPE_CLOTHES || itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemType] == ITEM_TYPE_GUN) kg += itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemWeight];
- else kg += itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemWeight] * playerInfo[playerid][slotsAmountInfo][i];
- format(string,sizeof string,"%s{%s}[%d]{%s} %s [%s: {%s}%d{%s}%s]\n",
- string,
- colors[playerInfo[playerid][interfaceSettings][0]],
- i+1,
- colors[playerInfo[playerid][interfaceSettings][1]],
- itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemName],
- itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemType] == ITEM_TYPE_CLOTHES ? ("Номер") : itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemType] == ITEM_TYPE_GUN ? ("Патронов") : ("Кол-во"),
- colors[playerInfo[playerid][interfaceSettings][0]],
- playerInfo[playerid][slotsAmountInfo][i],
- colors[playerInfo[playerid][interfaceSettings][1]],
- itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemType] == ITEM_TYPE_CLOTHES ? ("") : (" шт.")
- );
- }
- }
- format(string,sizeof string,"%s{%s}Сортировать вещи в инвентаре\n{%s}Кастомизация",string, colors[playerInfo[playerid][interfaceSettings][0]],colors[playerInfo[playerid][interfaceSettings][0]]);
- new head[24];
- format(head,sizeof head,"{%s}Общий вес: %.1f kg",colors[playerInfo[playerid][interfaceSettings][0]],kg);
- ShowPlayerDialog(playerid,d_inventory,DIALOG_STYLE_LIST,head,string,"Выбрать","Закрыть");
- return 1;
- }
- if(!strcmp(cmd,"/whinv", true)) {
- return showWarehouseInventory(playerid,0);
- }
- if(!strcmp(cmd,"/additem",true)) {
- if(sscanf(params,"dd",params[0],params[1])) return SendClientMessage(playerid,-1,"usage: /additem [itemid] [itemamount]");
- if(params[0] < 1 || params[0] > 3) return 1;
- addItem(playerid,params[0],params[1]);
- return 1;
- }
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if((((newkeys & (1024)) == (1024)) && ((oldkeys & (1024)) != (1024)))) {// key alt
- for(new i; i < MAX_DROP_OBJECTS; i++) {
- if(IsPlayerInRangeOfPoint(playerid,2.0,dropObjects[i][objectPos][0],dropObjects[i][objectPos][1],dropObjects[i][objectPos][2])) {
- takeDropItem(playerid,i);
- break;
- }
- }
- }
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new string[248], head[32];
- new
- c1 = playerInfo[playerid][interfaceSettings][0],
- c2 = playerInfo[playerid][interfaceSettings][1]
- ;
- switch(dialogid) {
- case d_inventory: {
- if(!response) {
- if(GetPVarInt(playerid,"transferMode")) DeletePVar(playerid,"transferMode");
- if(GetPVarInt(playerid,"giveItemFromPlayerToWarehouse")) DeletePVar(playerid,"giveItemFromPlayerToWarehouse");
- return 1;
- }
- switch(listitem) {
- case 0..9: {
- if(playerInfo[playerid][slotsInfo][listitem] == 0 && GetPVarInt(playerid,"transferMode")) {
- playerInfo[playerid][slotsInfo][listitem] = playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")];
- playerInfo[playerid][slotsAmountInfo][listitem] = playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")];
- playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] = 0;
- playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")] = 0;
- DeletePVar(playerid,"selectItem");
- DeletePVar(playerid,"transferMode");
- saveInventory(playerid,SAVE_INVENTORY);
- return OnPlayerCommandText(playerid,"/inv");
- }
- else if(playerInfo[playerid][slotsInfo][listitem] != 0 && GetPVarInt(playerid,"transferMode")) {
- SendClientMessage(playerid,-1,"Выбрать можно только свободный слот!");
- return OnPlayerCommandText(playerid,"/inv");
- }
- else if(playerInfo[playerid][slotsInfo][listitem] == 0 && GetPlayerWeapon(playerid) == 30) {
- format(string,sizeof string,"{%s}Вы действительно хотите убрать {%s}%s{%s} [Патронов: {%s}%d{%s}] в инвентарь?",
- colors[c1],colors[c2],itemsInfo[getElementItem(GetPlayerWeapon(playerid)) - 1][itemName], colors[c1], colors[c2], GetPlayerAmmo(playerid), colors[1]);
- return ShowPlayerDialog(playerid,d_inputWeapon,DIALOG_STYLE_MSGBOX," ",string,"Далее","Отмена");
- }
- else if(playerInfo[playerid][slotsInfo][listitem] != 0 && GetPVarInt(playerid,"giveItemFromPlayerToWarehouse")) {
- addWarehouseItem(0,playerInfo[playerid][slotsInfo][listitem],playerInfo[playerid][slotsAmountInfo][listitem]);
- playerInfo[playerid][slotsInfo][listitem] = 0;
- playerInfo[playerid][slotsAmountInfo][listitem] = 0;
- saveInventory(playerid,SAVE_INVENTORY);
- SendClientMessage(playerid,-1,"Вы убрали предмет на склад.");
- return OnPlayerCommandText(playerid,"/whinv");
- }
- else if(playerInfo[playerid][slotsInfo][listitem] == 0 && GetPVarInt(playerid,"giveItemFromPlayerToWarehouse")) {
- SendClientMessage(playerid,-1,"Выберите предмет который хотите убрать на склад.");
- return OnPlayerCommandText(playerid,"/inv");
- }
- else if(playerInfo[playerid][slotsInfo][listitem] == 0) return OnPlayerCommandText(playerid,"/inv");
- SetPVarInt(playerid,"selectItem",listitem);
- format(head,sizeof head,"{%s}Предмет: %s",colors[c1],itemsInfo[playerInfo[playerid][slotsInfo][listitem] - 1][itemName]);
- switch(itemsInfo[playerInfo[playerid][slotsInfo][listitem] - 1][itemType]) {
- case ITEM_TYPE_FOOD: format(string,sizeof string,"{%s}[1] {%s}Информация\n{%s}[2] {%s}Переместить\n{%s}[3] {%s}Выбросить\n{%s}[4] {%s}Удалить\n{%s}[5] {%s}Использовать",colors[c1], colors[c2], colors[c1], colors[c2], colors[c1], colors[c2], colors[c1], colors[c2], colors[c1], colors[c2]);
- case ITEM_TYPE_GUN: format(string,sizeof string,"{%s}[1] {%s}Информация\n{%s}[2] {%s}Переместить\n{%s}[3] {%s}Выбросить\n{%s}[4] {%s}Удалить\n{%s}[5] {%s}Взять в руки",colors[c1], colors[c2], colors[c1], colors[c2], colors[c1], colors[c2], colors[c1], colors[c2], colors[c1], colors[c2]);
- case ITEM_TYPE_CLOTHES: format(string,sizeof string,"{%s}[1] {%s}Информация\n{%s}[2] {%s}Переместить\n{%s}[3] {%s}Выбросить\n{%s}[4] {%s}Удалить\n{%s}[5] {%s}Переодеться",colors[c1], colors[c2], colors[c1], colors[c2], colors[c1], colors[c2], colors[c1], colors[c2], colors[c1], colors[c2]);
- }
- ShowPlayerDialog(playerid,d_onclick,DIALOG_STYLE_LIST,head,string,"Выбрать","Назад");
- }
- case 10: {
- if(GetPVarInt(playerid,"transferMode")) DeletePVar(playerid,"transferMode");
- if(GetPVarInt(playerid,"giveItemFromPlayerToWarehouse")) DeletePVar(playerid,"giveItemFromPlayerToWarehouse");
- format(string,sizeof string,"{%s}[1] {%s}Сортировка по весу от малого к большему\n{%s}[2] {%s}Сортировка по весу от большего к малому\n",
- colors[c1],colors[c2],colors[c1],colors[c2]);
- format(head,sizeof head,"{%s}Сортировка вещей в инвентаре",colors[c1]);
- ShowPlayerDialog(playerid,d_sort,DIALOG_STYLE_LIST,head,string,"Выбрать","Назад");
- }
- case 11: {
- if(GetPVarInt(playerid,"transferMode")) DeletePVar(playerid,"transferMode");
- if(GetPVarInt(playerid,"giveItemFromPlayerToWarehouse")) DeletePVar(playerid,"giveItemFromPlayerToWarehouse");
- format(string,sizeof string,"{%s}[1] {%s}Настройка первого цвета\n{%s}[2] {%s}Настройка второго цвета",colors[c1],colors[c2],colors[c1],colors[c2]);
- format(head,sizeof head,"{%s}Кастомизация",colors[c1]);
- ShowPlayerDialog(playerid,d_customization,DIALOG_STYLE_LIST,head,string,"Выбрать","Назад");
- }
- }
- }
- case d_sort: {
- if(!response) return 1;
- for(new i; i < 9; i++) {
- for(new j; j < 9; j++) {
- if(playerInfo[playerid][slotsInfo][j] == 0 && playerInfo[playerid][slotsInfo][j+1]) {
- playerInfo[playerid][slotsInfo][j] = playerInfo[playerid][slotsInfo][j+1];
- playerInfo[playerid][slotsAmountInfo][j] = playerInfo[playerid][slotsAmountInfo][j+1];
- playerInfo[playerid][slotsInfo][j+1] = 0;
- playerInfo[playerid][slotsAmountInfo][j+1] = 0;
- }
- }
- }
- new arrayLenght;
- for(new i; i < 10; i++) {
- if(!playerInfo[playerid][slotsInfo][i]) break;
- else arrayLenght++;
- }
- new item, itemAmount;
- new Float:currentKg, Float:currentKg2;
- if(!listitem) {
- for(new i; i < arrayLenght-1; i++) {
- for(new j; j < arrayLenght-1; j++) {
- currentKg = itemsInfo[playerInfo[playerid][slotsInfo][j] - 1][itemType] == ITEM_TYPE_GUN || itemsInfo[playerInfo[playerid][slotsInfo][j] - 1][itemType] == ITEM_TYPE_CLOTHES ? itemsInfo[playerInfo[playerid][slotsInfo][j] - 1][itemWeight] : itemsInfo[playerInfo[playerid][slotsInfo][j] - 1][itemWeight] * playerInfo[playerid][slotsAmountInfo][j];
- currentKg2 = itemsInfo[playerInfo[playerid][slotsInfo][j+1] - 1][itemType] == ITEM_TYPE_GUN || itemsInfo[playerInfo[playerid][slotsInfo][j+1] - 1][itemType] == ITEM_TYPE_CLOTHES ? itemsInfo[playerInfo[playerid][slotsInfo][j+1] - 1][itemWeight] : itemsInfo[playerInfo[playerid][slotsInfo][j+1] - 1][itemWeight] * playerInfo[playerid][slotsAmountInfo][j+1];
- if(currentKg > currentKg2) {
- item = playerInfo[playerid][slotsInfo][j];
- itemAmount = playerInfo[playerid][slotsAmountInfo][j];
- playerInfo[playerid][slotsInfo][j] = playerInfo[playerid][slotsInfo][j+1];
- playerInfo[playerid][slotsAmountInfo][j] = playerInfo[playerid][slotsAmountInfo][j+1];
- playerInfo[playerid][slotsInfo][j+1] = item;
- playerInfo[playerid][slotsAmountInfo][j+1] = itemAmount;
- }
- }
- }
- }
- else if(listitem) {
- for(new i; i < arrayLenght-1; i++) {
- for(new j; j < arrayLenght-1; j++) {
- currentKg = itemsInfo[playerInfo[playerid][slotsInfo][j] - 1][itemType] == ITEM_TYPE_GUN || itemsInfo[playerInfo[playerid][slotsInfo][j] - 1][itemType] == ITEM_TYPE_CLOTHES ? itemsInfo[playerInfo[playerid][slotsInfo][j] - 1][itemWeight] : itemsInfo[playerInfo[playerid][slotsInfo][j] - 1][itemWeight] * playerInfo[playerid][slotsAmountInfo][j];
- currentKg2 = itemsInfo[playerInfo[playerid][slotsInfo][j+1] - 1][itemType] == ITEM_TYPE_GUN || itemsInfo[playerInfo[playerid][slotsInfo][j+1] - 1][itemType] == ITEM_TYPE_CLOTHES ? itemsInfo[playerInfo[playerid][slotsInfo][j+1] - 1][itemWeight] : itemsInfo[playerInfo[playerid][slotsInfo][j+1] - 1][itemWeight] * playerInfo[playerid][slotsAmountInfo][j+1];
- //if(itemsInfo[playerInfo[playerid][slotsInfo][j] - 1][itemWeight] < itemsInfo[playerInfo[playerid][slotsInfo][j+1] - 1][itemWeight]) {
- if(currentKg < currentKg2) {
- item = playerInfo[playerid][slotsInfo][j];
- itemAmount = playerInfo[playerid][slotsAmountInfo][j];
- playerInfo[playerid][slotsInfo][j] = playerInfo[playerid][slotsInfo][j+1];
- playerInfo[playerid][slotsAmountInfo][j] = playerInfo[playerid][slotsAmountInfo][j+1];
- playerInfo[playerid][slotsInfo][j+1] = item;
- playerInfo[playerid][slotsAmountInfo][j+1] = itemAmount;
- }
- }
- }
- }
- saveInventory(playerid,SAVE_INVENTORY);
- return OnPlayerCommandText(playerid,"/inv");
- }
- case d_inputWeapon: {
- if(!response) return 1;
- new Float:kg;
- for(new i; i < 10; i++) {
- if(playerInfo[playerid][slotsInfo][i] == 0) continue;
- if(itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemType] != ITEM_TYPE_CLOTHES && itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemType] != ITEM_TYPE_GUN) kg += itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemWeight] * playerInfo[playerid][slotsAmountInfo][i];
- else kg += itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemWeight];
- }
- if(kg + itemsInfo[getElementItem(GetPlayerWeapon(playerid)) - 1][itemWeight] > MAX_KG) return SendClientMessage(playerid,-1,"Вы не сможете взять так много веса.");
- new slot = false;
- for(new i; i < 10; i++) {
- if(playerInfo[playerid][slotsInfo][i] == 0) {
- playerInfo[playerid][slotsInfo][i] = getElementItem(GetPlayerWeapon(playerid));
- playerInfo[playerid][slotsAmountInfo][i] = GetPlayerAmmo(playerid);
- saveInventory(playerid,SAVE_INVENTORY);
- slot = true;
- SendClientMessage(playerid,-1,"Вы успешно убрали оружие к себе в инвентарь.");
- resetWeapon(playerid, GetPlayerWeapon(playerid));
- break;
- }
- }
- if(!slot) return SendClientMessage(playerid,-1,"В вашем инвентаре нет свободного слота.");
- }
- case d_onclick: {
- if(!response) return OnPlayerCommandText(playerid,"/inv");
- switch(listitem) {
- case 0: {
- format(head,sizeof head,"{%s}Информация",colors[c1]);
- format(string,sizeof string,"{%s}Предмет: {%s}%s\n{%s}%s: {%s}%d\n{%s}Вес: {%s}%.1f\n\n{%s}Описание: {%s}%s",
- colors[c1],
- colors[c2],
- itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] - 1][itemName],
- colors[c1],
- itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")]-1][itemType] == ITEM_TYPE_CLOTHES ? ("Номер") : ("Кол-во"),
- colors[c2],
- playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")],
- colors[c1],
- colors[c2],
- itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] - 1][itemType] == ITEM_TYPE_CLOTHES || itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] - 1][itemType] == ITEM_TYPE_GUN ? itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] - 1][itemWeight] : itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] - 1][itemWeight] * playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")],
- colors[c1],
- colors[c2],
- itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] - 1][itemInfo]);
- ShowPlayerDialog(playerid,d_info,DIALOG_STYLE_MSGBOX,head,string,"Назад","");
- }
- case 1: {
- SetPVarInt(playerid,"transferMode",true);
- SendClientMessage(playerid,-1,"Выберите любой свободный слот для перемещения предмета.");
- OnPlayerCommandText(playerid,"/inv");
- }
- case 2: {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid,x,y,z);
- format(string,sizeof string,"%s\nНажмите ALT чтобы поднять",itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")]-1][itemName]);
- for(new i; i < MAX_DROP_OBJECTS; i++) {
- if(dropObjects[i][objectInfo][0] == 0 && dropObjects[i][objectInfo][1] == 0) {
- dropObjects[i][objectInfo][0] = playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")];
- dropObjects[i][objectInfo][1] = playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")];
- dropObjects[i][objectPos][0] = x;
- dropObjects[i][objectPos][1] = y;
- dropObjects[i][objectPos][2] = z;
- switch(dropObjects[i][objectInfo][0]) {
- case 2: dropObjects[i][objectCreate] = CreateDynamicObject(itemsInfo[dropObjects[i][objectInfo][0]-1][itemModel], dropObjects[i][objectPos][0], dropObjects[i][objectPos][1], dropObjects[i][objectPos][2]-0.94, -97.0, 0.0, 0.0); // Бургер
- case 3: dropObjects[i][objectCreate] = CreateDynamicObject(itemsInfo[dropObjects[i][objectInfo][0]-1][itemModel], dropObjects[i][objectPos][0], dropObjects[i][objectPos][1], dropObjects[i][objectPos][2]-0.94, 90.0, 0.0, 0.0); // Калаш
- default: dropObjects[i][objectCreate] = CreateDynamicObject(itemsInfo[dropObjects[i][objectInfo][0]-1][itemModel], dropObjects[i][objectPos][0], dropObjects[i][objectPos][1], dropObjects[i][objectPos][2]-1, 0.0, 0.0, 0.0); // Все остальное
- }
- dropObjects[i][objectText] = CreateDynamic3DTextLabel(string ,0xce7d7dAA, dropObjects[i][objectPos][0], dropObjects[i][objectPos][1], dropObjects[i][objectPos][2] - 0.8,4.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,-1,GetPlayerVirtualWorld(playerid));
- playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] = 0;
- playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")] = 0;
- saveInventory(playerid,SAVE_INVENTORY);
- ApplyAnimation(playerid,"WUZI", "Wuzi_grnd_chk",4.0, 0, 1, 1, 0, 0, 1);
- format(string,sizeof string,"INSERT INTO `server_dropObjects`(`objectInfo`, `objectPos`) VALUES ('%d|%d','%f|%f|%f')",
- dropObjects[i][objectInfo][0],dropObjects[i][objectInfo][1],dropObjects[i][objectPos][0],dropObjects[i][objectPos][1],dropObjects[i][objectPos][2]);
- mysql_query(string);
- break;
- }
- }
- }
- case 3: {
- playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] = 0;
- playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")] = 0;
- saveInventory(playerid,SAVE_INVENTORY);
- return OnPlayerCommandText(playerid,"/inv");
- }
- case 4: {
- switch(itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")]-1][itemType]) {
- case ITEM_TYPE_FOOD: {
- playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")] -= 1;
- if(!playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")]) {
- playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] = 0;
- playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")] = 0;
- saveInventory(playerid,SAVE_INVENTORY);
- }
- format(string,sizeof string,"Вы съели %s",itemsInfo[playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] - 1][itemName]);
- SendClientMessage(playerid,-1,string);
- new Float:health, Float:limitHealth;
- GetPlayerHealth(playerid,health);
- if (health + 5.0 > 100.0) limitHealth = 100.0;
- else limitHealth = health + 5.0;
- SetPlayerHealth(playerid,limitHealth);
- }
- case ITEM_TYPE_GUN: {
- GivePlayerWeapon(playerid, getElementGun(playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")]), playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")]);
- playerInfo[playerid][slotsInfo][GetPVarInt(playerid,"selectItem")] = 0;
- playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")] = 0;
- saveInventory(playerid,SAVE_INVENTORY);
- }
- case ITEM_TYPE_CLOTHES: {
- new skin = GetPlayerSkin(playerid);
- SetPlayerSkin(playerid,playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")]);
- playerInfo[playerid][slotsAmountInfo][GetPVarInt(playerid,"selectItem")] = skin;
- }
- }
- }
- }
- }
- case d_info: return OnPlayerCommandText(playerid,"/inv");
- case d_customization: {
- if(!response) return OnPlayerCommandText(playerid,"/inv");
- SetPVarInt(playerid,"customizationIndex",listitem);
- for(new i; i < MAX_COLORS; i++) {
- format(string,sizeof string,"%s{%s}Цвет номер %d\n",string,colors[i],i+1);
- }
- format(head,sizeof head,"{%s}%s",colors[c1],listitem ? ("Второй цвет") : ("Первый цвет"));
- ShowPlayerDialog(playerid,d_customizationChose,DIALOG_STYLE_LIST,head,string,"Выбрать","Назад");
- }
- case d_customizationChose: {
- if(!response) {
- DeletePVar(playerid,"customizationIndex");
- format(string,sizeof string,"{%s}[1] {%s}Настройка первого цвета\n{%s}[2] {%s}Настройка второго цвета",colors[c1],colors[c2],colors[c1],colors[c2]);
- format(head,sizeof head,"{%s}Кастомизация",colors[c1]);
- ShowPlayerDialog(playerid,d_customization,DIALOG_STYLE_LIST,head,string,"Выбрать","Назад");
- }
- playerInfo[playerid][interfaceSettings][GetPVarInt(playerid,"customizationIndex")] = listitem;
- DeletePVar(playerid,"customizationIndex");
- OnPlayerCommandText(playerid,"/inv");
- saveInventory(playerid,SAVE_INTERFACE_SETTINGS);
- }
- case d_warehouse: {
- if(!response) return 1;
- if(warehouseInfo[0][wSlotsInfo][listitem] == 0) {
- SetPVarInt(playerid,"giveItemFromPlayerToWarehouse",1);
- SendClientMessage(playerid,-1,"Выберите предмет который хотите перенести на склад.");
- return OnPlayerCommandText(playerid,"/inv");
- }
- SetPVarInt(playerid,"selectItem",listitem);
- ShowPlayerDialog(playerid,d_whaction,DIALOG_STYLE_LIST," ","[1] Забрать предмет\n[2] Удалить предмет","Выбрать","Назад");
- }
- case d_whaction: {
- if(!response) return OnPlayerCommandText(playerid,"/whinv");
- if(!listitem) addItem(playerid,warehouseInfo[0][wSlotsInfo][GetPVarInt(playerid,"selectItem")],warehouseInfo[0][wSlotsAmountInfo][GetPVarInt(playerid,"selectItem")]);
- warehouseInfo[0][wSlotsInfo][GetPVarInt(playerid,"selectItem")] = 0;
- warehouseInfo[0][wSlotsAmountInfo][GetPVarInt(playerid,"selectItem")] = 0;
- saveInventory(-1,-1,0);
- }
- }
- return 1;
- }
- stock showWarehouseInventory(playerid, whid) {
- printf("whid - %d",whid);
- new string[248];
- for(new i; i < 5; i++) {
- if(warehouseInfo[whid][wSlotsInfo][i] == 0) format(string,sizeof string,"%s[%d] Пустой слот\n",string,i+1);
- else format(string,sizeof string,"%s[%d] %s [%s: %d]\n",
- string,
- i+1,
- itemsInfo[warehouseInfo[whid][wSlotsInfo][i] - 1][itemName],
- itemsInfo[warehouseInfo[whid][wSlotsInfo][i] - 1][itemType] == ITEM_TYPE_CLOTHES ? ("Номер") : itemsInfo[warehouseInfo[whid][wSlotsInfo][i] - 1][itemType] == ITEM_TYPE_GUN ? ("Патронов") : ("Кол-во"),
- warehouseInfo[whid][wSlotsAmountInfo][i]
- );
- }
- ShowPlayerDialog(playerid,d_warehouse,DIALOG_STYLE_LIST," ",string,"Выбрать","Закрыть");
- return 1;
- }
- stock saveInventory(playerid,type,warehouse = -1) {
- new string[248];
- if(warehouse != -1) {
- format(string,sizeof string,"UPDATE `server_warehouses` SET `wSlotsInfo` = '%d|%d|%d|%d|%d', `wSlotsAmountInfo` = '%d|%d|%d|%d|%d' WHERE `ID` = '%d'",
- warehouseInfo[warehouse][wSlotsInfo][0],warehouseInfo[warehouse][wSlotsInfo][1],warehouseInfo[warehouse][wSlotsInfo][2],warehouseInfo[warehouse][wSlotsInfo][3],warehouseInfo[warehouse][wSlotsInfo][4],
- warehouseInfo[warehouse][wSlotsAmountInfo][0],warehouseInfo[warehouse][wSlotsAmountInfo][1],warehouseInfo[warehouse][wSlotsAmountInfo][2],warehouseInfo[warehouse][wSlotsAmountInfo][3],warehouseInfo[warehouse][wSlotsAmountInfo][4],
- warehouseInfo[warehouse][ID]);
- mysql_query(string);
- return 1;
- }
- switch(type) {
- case SAVE_INTERFACE_SETTINGS: {
- format(string,sizeof string,"UPDATE `server_character` SET `interfaceSettings` = '%d|%d' WHERE `nickname` = '%s'",
- playerInfo[playerid][interfaceSettings][0],playerInfo[playerid][interfaceSettings][1],playerInfo[playerid][nickname]);
- mysql_query(string);
- }
- case SAVE_INVENTORY: {
- format(string,sizeof string,"UPDATE `server_character` SET `slotsInfo` = '%d|%d|%d|%d|%d|%d|%d|%d|%d|%d', `slotsAmountInfo` = '%d|%d|%d|%d|%d|%d|%d|%d|%d|%d' WHERE `nickname` = '%s'",
- playerInfo[playerid][slotsInfo][0],playerInfo[playerid][slotsInfo][1],playerInfo[playerid][slotsInfo][2],playerInfo[playerid][slotsInfo][3],playerInfo[playerid][slotsInfo][4],playerInfo[playerid][slotsInfo][5],playerInfo[playerid][slotsInfo][6],playerInfo[playerid][slotsInfo][7],playerInfo[playerid][slotsInfo][8],playerInfo[playerid][slotsInfo][9],
- playerInfo[playerid][slotsAmountInfo][0],playerInfo[playerid][slotsAmountInfo][1],playerInfo[playerid][slotsAmountInfo][2],playerInfo[playerid][slotsAmountInfo][3],playerInfo[playerid][slotsAmountInfo][4],playerInfo[playerid][slotsAmountInfo][5],playerInfo[playerid][slotsAmountInfo][6],playerInfo[playerid][slotsAmountInfo][7],playerInfo[playerid][slotsAmountInfo][8],playerInfo[playerid][slotsAmountInfo][9],
- playerInfo[playerid][nickname]);
- mysql_query(string);
- }
- }
- return 1;
- }
- stock getElementItem(objectid) {
- switch(objectid) {
- case 30: return 3;
- default: return -1;
- }
- return 0;
- }
- stock getElementGun(element) {
- switch(element) {
- case 3: return 30;
- default: return -1;
- }
- return 0;
- }
- stock resetWeapon(playerid,weaponid = 0) {
- new weapon[13], ammo[13];
- for(new i; i < 13; i++) {
- GetPlayerWeaponData(playerid, i, weapon[i], ammo[i]);
- }
- ResetPlayerWeapons(playerid);
- if(weaponid) {
- for(new i; i < 13; i++) {
- if(weaponid != weapon[i]) GivePlayerWeapon(playerid, weapon[i], ammo[i]);
- }
- }
- }
- stock takeDropItem(playerid,dropid) {
- new string[128], Float:kg;
- if(dropObjects[dropid][objectInfo][0] == 3) {
- GivePlayerWeapon(playerid, getElementGun(dropObjects[dropid][objectInfo][0]), dropObjects[dropid][objectInfo][1]);
- SendClientMessage(playerid,-1,"Вы подняли оружие с земли.");
- DestroyDynamicObject(dropObjects[dropid][objectCreate]);
- DestroyDynamic3DTextLabel(dropObjects[dropid][objectText]);
- format(string,sizeof string,"DELETE FROM `server_dropobjects` WHERE `objectPos` = '%f|%f|%f'",
- dropObjects[dropid][objectPos][0],dropObjects[dropid][objectPos][1],dropObjects[dropid][objectPos][2]);
- mysql_query(string);
- dropObjects[dropid][objectInfo][0] = 0;
- dropObjects[dropid][objectInfo][1] = 0;
- for(new x; x < 3; x++) dropObjects[dropid][objectPos][x] = 0.0;
- return 1;
- } else {
- for(new j; j < 10; j++) {
- if(playerInfo[playerid][slotsInfo][j] == 0) continue;
- if(itemsInfo[playerInfo[playerid][slotsInfo][j]-1][itemType] != ITEM_TYPE_CLOTHES && itemsInfo[playerInfo[playerid][slotsInfo][j]-1][itemType] != ITEM_TYPE_GUN) kg += itemsInfo[playerInfo[playerid][slotsInfo][j]-1][itemWeight] * playerInfo[playerid][slotsAmountInfo][j];
- else kg += itemsInfo[playerInfo[playerid][slotsInfo][j]-1][itemWeight];
- }
- }
- new Float:currentKg = itemsInfo[dropObjects[dropid][objectInfo][0] - 1][itemType] == ITEM_TYPE_CLOTHES ? itemsInfo[dropObjects[dropid][objectInfo][0] - 1][itemWeight] : itemsInfo[dropObjects[dropid][objectInfo][0] - 1][itemWeight] * dropObjects[dropid][objectInfo][1];
- if(kg + currentKg > MAX_KG) return SendClientMessage(playerid,-1,"Вы не можете взять столько веса.");
- new slot = false;
- for(new j; j < 10; j++) {
- if(!playerInfo[playerid][slotsInfo][j]) {
- playerInfo[playerid][slotsInfo][j] = dropObjects[dropid][objectInfo][0];
- playerInfo[playerid][slotsAmountInfo][j] = dropObjects[dropid][objectInfo][1];
- saveInventory(playerid,SAVE_INVENTORY);
- DestroyDynamicObject(dropObjects[dropid][objectCreate]);
- DestroyDynamic3DTextLabel(dropObjects[dropid][objectText]);
- format(string,sizeof string,"DELETE FROM `server_dropobjects` WHERE `objectPos` = '%f|%f|%f'",
- dropObjects[dropid][objectPos][0],dropObjects[dropid][objectPos][1],dropObjects[dropid][objectPos][2]);
- mysql_query(string);
- dropObjects[dropid][objectInfo][0] = 0;
- dropObjects[dropid][objectInfo][1] = 0;
- for(new x; x < 3; x++) dropObjects[dropid][objectPos][x] = 0.0;
- SendClientMessage(playerid,-1,"Вы подняли предмет с земли.");
- slot = true;
- break;
- }
- }
- if(!slot) return SendClientMessage(playerid,-1,"У вас нет свободного слота в инвентаре.");
- return 1;
- }
- stock addItem(playerid, itemid, itemamount) {
- new Float:kg;
- new slot = false;
- for(new i; i < 10; i++) {
- if(playerInfo[playerid][slotsInfo][i] == 0) continue;
- if(itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemType] != ITEM_TYPE_CLOTHES && itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemType] != ITEM_TYPE_GUN) kg += itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemWeight] * playerInfo[playerid][slotsAmountInfo][i];
- else kg += itemsInfo[playerInfo[playerid][slotsInfo][i]-1][itemWeight];
- }
- new Float:currentKg = itemsInfo[itemid - 1][itemType] == ITEM_TYPE_CLOTHES ? itemsInfo[itemid - 1][itemWeight] : itemsInfo[itemid - 1][itemType] == ITEM_TYPE_GUN ? itemsInfo[itemid - 1][itemWeight] : itemsInfo[itemid - 1][itemWeight] * itemamount;
- if(kg + currentKg > MAX_KG) return SendClientMessage(playerid,-1,"Не сможете взять с собой так много веса.");
- for(new i; i < 10; i++) {
- if(!playerInfo[playerid][slotsInfo][i]) {
- playerInfo[playerid][slotsInfo][i] = itemid;
- playerInfo[playerid][slotsAmountInfo][i] = itemamount;
- saveInventory(playerid,SAVE_INVENTORY);
- slot = true;
- break;
- }
- }
- if(!slot) return SendClientMessage(playerid,-1,"Нет места в инвентаре.");
- return 1;
- }
- stock addWarehouseItem(warehouseid, itemid, itemamount) {
- new slot = false;
- for(new i; i < 5; i++) {
- if(warehouseInfo[warehouseid][wSlotsInfo][i] == 0) {
- warehouseInfo[warehouseid][wSlotsInfo][i] = itemid;
- warehouseInfo[warehouseid][wSlotsAmountInfo][i] = itemamount;
- saveInventory(-1,-1,warehouseid);
- slot = true;
- break;
- }
- }
- if(!slot) return printf("У склада %d нет свободного места.",warehouseid);
- return 1;
- }
- stock takeWarehouseItem(playerid, warehouseid, index) {
- if(warehouseInfo[warehouseid][index] == 0) return SendClientMessage(playerid,-1,"Данный слот пуст.");
- new Float:kg;
- for(new j; j < 10; j++) {
- if(playerInfo[playerid][slotsInfo][j] == 0) continue;
- if(itemsInfo[playerInfo[playerid][slotsInfo][j]-1][itemType] != ITEM_TYPE_CLOTHES && itemsInfo[playerInfo[playerid][slotsInfo][j]-1][itemType] != ITEM_TYPE_GUN) kg += itemsInfo[playerInfo[playerid][slotsInfo][j]-1][itemWeight] * playerInfo[playerid][slotsAmountInfo][j];
- else kg += itemsInfo[playerInfo[playerid][slotsInfo][j]-1][itemWeight];
- }
- new Float:currentKg = itemsInfo[warehouseInfo[warehouseid][wSlotsInfo][index] - 1][itemType] == ITEM_TYPE_CLOTHES ? itemsInfo[warehouseInfo[warehouseid][wSlotsInfo][index] - 1][itemWeight] : itemsInfo[warehouseInfo[warehouseid][wSlotsInfo][index] - 1][itemWeight] * warehouseInfo[warehouseid][wSlotsAmountInfo][index];
- if(kg + currentKg > MAX_KG) return SendClientMessage(playerid,-1,"Вы не можете взять столько веса.");
- new slot = false;
- for(new j; j < 10; j++) {
- if(!playerInfo[playerid][slotsInfo][j]) {
- playerInfo[playerid][slotsInfo][j] = warehouseInfo[warehouseid][wSlotsInfo][index];
- playerInfo[playerid][slotsAmountInfo][j] = warehouseInfo[warehouseid][wSlotsAmountInfo][index];
- saveInventory(playerid,SAVE_INVENTORY);
- warehouseInfo[warehouseid][wSlotsInfo][index] = 0;
- warehouseInfo[warehouseid][wSlotsAmountInfo][index] = 0;
- saveInventory(playerid,-1,warehouseid);
- slot = true;
- break;
- }
- }
- if(!slot) return SendClientMessage(playerid,-1,"У вас нет свободного слота в инвентаре.");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement