- 174
- 44
Добрый день дорогие форумчане.
Вот список как добавить их в itemsinfo
Теперь добавим систему
Вначале мода добавляем:
new NashivkaStarted[MAX_PLAYERS];
Затем в max players делаем код похожий на этот:
//Аксы
new UseAcsID[MAX_PLAYERS];
new UseAcsColor[MAX_PLAYERS];
new UseAcsEnchant[MAX_PLAYERS];
new UseAcsNashivka[MAX_PLAYERS];
new UseAcsNashivkaLvl[MAX_PLAYERS]
Затем добавляем в pinfo данные строки
pInvItem[MAX_SLOT_INV],
pInvItemAmount[MAX_SLOT_INV],
pInvItemColor[MAX_SLOT_INV],
pInvItemEnchant[MAX_SLOT_INV],
pInvItemMining[MAX_SLOT_INV],
pInvItemLock[MAX_SLOT_INV],
pInvItemNashivka[MAX_SLOT_INV],
pInvItemNashivkaLvl[MAX_SLOT_INV],
Затем добавляем
такие строки как
for(new i; i < 108; i++)
{
PI[playerid][pInvItem] = 0;
PI[playerid][pInvItemAmount] = 0;
PI[playerid][pInvItemColor] = 0;
PI[playerid][pInvItemEnchant] = 0;
PI[playerid][pInvItemMining] = 1;
PI[playerid][pInvItemLock] = 0;
if(i < 50) PhoneID[playerid] = 0;
if(i < 30) PI[playerid][pBuyItem] = 0;
if(i < 10)
{
PI[playerid][pTradeItem] = 0;
PI[playerid][pTradeItemAmount] = 0;
PI[playerid][pTradeItemColor] = 0;
PI[playerid][pTradeItemEnchant] = 0;
PI[playerid][pTradeItemMining] = 0;
PI[playerid][pTradeInvID] = -1;
}
if(i < 8)
{
UseModCar[playerid] = 0;
PI[playerid][pAcsCellLock] = 0;
PI[playerid][pModCellLock] = 0;
PI[playerid][pInvItemAcs] = 0;
PI[playerid][pInvItemAcsColor] = 0;
PI[playerid][pInvItemAcsEnchant] = 0;
PI[playerid][pInvItemAcsNashivka] = 0;
PI[playerid][pInvItemAcsNashivkaLvl] = 0;
}
if(i < MAX_PLAYER_HOUSE) PI[playerid][pHouseKey] = 0;
if(i < sizeof(aAccessCMD)) PI[playerid][pAccessCMD] = 0;
}
Затем чтобы все работало
добавляем такой код:
for(new i; i < 108; i++)
{
PI[playerid][pInvItem] = 0;
PI[playerid][pInvItemAmount] = 0;
PI[playerid][pInvItemColor] = 0;
PI[playerid][pInvItemEnchant] = 0;
PI[playerid][pInvItemMining] = 1;
PI[playerid][pInvItemLock] = 0;
if(i < 50) PhoneID[playerid] = 0;
if(i < 30) PI[playerid][pBuyItem] = 0;
if(i < 10)
{
PI[playerid][pTradeItem] = 0;
PI[playerid][pTradeItemAmount] = 0;
PI[playerid][pTradeItemColor] = 0;
PI[playerid][pTradeItemEnchant] = 0;
PI[playerid][pTradeItemMining] = 0;
PI[playerid][pTradeInvID] = -1;
}
if(i < 8)
{
UseModCar[playerid] = 0;
PI[playerid][pAcsCellLock] = 0;
PI[playerid][pModCellLock] = 0;
PI[playerid][pInvItemAcs] = 0;
PI[playerid][pInvItemAcsColor] = 0;
PI[playerid][pInvItemAcsEnchant] = 0;
PI[playerid][pInvItemAcsNashivka] = 0;
PI[playerid][pInvItemAcsNashivkaLvl] = 0;
}
if(i < MAX_PLAYER_HOUSE) PI[playerid][pHouseKey] = 0;
if(i < sizeof(aAccessCMD)) PI[playerid][pAccessCMD] = 0;
}
Затем мини системка:
Затем после этого добавляем следующую строку
case 1:
{
switch(itemID)
{
case 1..311,801..818,1101..1171:
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, Invent[playerid][48], 0xD57272FF);
PlayerTextDrawSetSelectable(playerid, Invent[playerid][48], 1);
PlayerTextDrawShow(playerid, Invent[playerid][48]);
}
case AcsSlot1://1-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][0], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][0]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot2://2-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][1], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][1]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot3://3-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][2], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][2]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot4://4-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][3], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][3]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot5://5-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][4], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][4]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot6://6-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][5], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][5]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot7://7-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][6], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][6]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot8://8-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][7], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][7]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
Это 2 разных системы
Затем добавляем код:
switch(item)//ДЛЯ ЮЗАНИЯ С ИНВЕНТАРЯ
{
case Nashivki:
{
NashivkaStarted[playerid] = true;
SetPVarInt(playerid, "NashivkaSlot", slot);
SPD(playerid, 0, DIALOG_STYLE_MSGBOX, "Нашивки", "{FFFFFF}Выберите аксессуар для использования нашивки", "Закрыть", "");
}
Данный код снова добавляем:
stock InfoItem(playerid, slot)
{
new item, skin, color, Enchant, acs, btcinv, bool:Mining, bool:AddVip, nashivkaa, Nashivka, NashivkaLvl;
static info_enchant[144]; info_enchant[0] = EOS;
if(slot < 108)
{
item = PI[playerid][pInvItem][slot];
color = PI[playerid][pInvItemColor][slot];
Enchant = PI[playerid][pInvItemEnchant][slot];
btcinv = PI[playerid][pInvItemMining][slot];
Nashivka = PI[playerid][pInvItemNashivka][slot];
NashivkaLvl = PI[playerid][pInvItemNashivkaLvl][slot];
}
else if(slot >= 108)
{
if(InvCarOpen{playerid})
{
new number = GetVehicleID(GetPlayerVehicleID(playerid));
item = CarInfo[number][cSlotItem][slot-108];
}
else
{
item = PI[playerid][pInvItemAcs][slot-108];
color = PI[playerid][pInvItemAcsColor][slot-108];
Enchant = PI[playerid][pInvItemAcsEnchant][slot-108];
Nashivka = PI[playerid][pInvItemAcsNashivka][slot-108];
NashivkaLvl = PI[playerid][pInvItemAcsNashivkaLvl][slot-108];
}
}
Системочка:
stock InfoItem(playerid, slot)
{
new item, skin, color, Enchant, acs, btcinv, bool:Mining, bool:AddVip, nashivkaa, Nashivka, NashivkaLvl;
static info_enchant[144]; info_enchant[0] = EOS;
if(slot < 108)
{
item = PI[playerid][pInvItem][slot];
color = PI[playerid][pInvItemColor][slot];
Enchant = PI[playerid][pInvItemEnchant][slot];
btcinv = PI[playerid][pInvItemMining][slot];
Nashivka = PI[playerid][pInvItemNashivka][slot];
NashivkaLvl = PI[playerid][pInvItemNashivkaLvl][slot];
}
else if(slot >= 108)
{
if(InvCarOpen{playerid})
{
new number = GetVehicleID(GetPlayerVehicleID(playerid));
item = CarInfo[number][cSlotItem][slot-108];
}
else
{
item = PI[playerid][pInvItemAcs][slot-108];
color = PI[playerid][pInvItemAcsColor][slot-108];
Enchant = PI[playerid][pInvItemAcsEnchant][slot-108];
Nashivka = PI[playerid][pInvItemAcsNashivka][slot-108];
NashivkaLvl = PI[playerid][pInvItemAcsNashivkaLvl][slot-108];
}
}
if(!strlen(ItemsInfo[item][ItemInfo])) SPD(playerid, 8236, 0, !"Èíôîðìàöèÿ î ïðåäìåòå", !"{FFFFFF}Èíôîðìàöèÿ ïî ýòîìó ïðåäìåòó îòñóòñòâóåò.", !"Âûõîä", !"");
else
{
switch(item)
{
case 1248: Mining = true;
case 1255: AddVip = true;
case AcsSlot1: acs = 1;
case AcsSlot2: acs = 2;
case AcsSlot3: acs = 3;
case AcsSlot4: acs = 4;
case AcsSlot5: acs = 5;
case AcsSlot6: acs = 6;
case AcsSlot7: acs = 7;
case AcsSlot8: acs = 8;
case 801: skin = 163;
case 802: skin = 68;
case 803: skin = 214;
case 804: skin = 154;
case 805: skin = 206;
case 806: skin = 125;
case 807: skin = 98;
case 808: skin = 68;
case 809: skin = 200;
case 810: skin = 120;
case 811: skin = 400;
case 812: skin = 42;
case 813: skin = 400;
case 814: skin = 206;
case 815: skin = 162;
case 816: skin = 200;
case 1539: nashivkaa = 1;
case 1540: nashivkaa = 2;
case 1541: nashivkaa = 3;
case 1542: nashivkaa = 4;
case 1543: nashivkaa = 5;
}
if(skin)
{
if(skin == 400) str_2 = "Íà âñå âèäû";
else f(str_2, sizeof(str_2), "%s", ItemsInfo[skin][ItemName]);
f(str_1, sizeof(str_1), "%s\n\nÏîäõîäèò íà îäåæäó:\n{73B461}- %s", ItemsInfo[item][ItemInfo], str_2);
SPD(playerid, 8236, 0, !"Èíôîðìàöèÿ î ïðåäìåòå", str_1, !"Âûõîä", !"");
}
else if(nashivkaa)
{
f(str_1, sizeof(str_1), "%s\n{FFA500}Óðîâåíü íàøèâêè: {FFFFFF}%d.\n(óëó÷øèòü ìîæíî â ìàñòåðñêîé îäåæäû)",ItemsInfo[item][ItemInfo],Enchant);
SPD(playerid, 8236, 0, !"Èíôîðìàöèÿ î ïðåäìåòå", str_1, !"Âûõîä", !"");
}
else if(acs)
{
new nashivkatext[150];
nashivkatext = "";
new textnashivka[20];
switch(ConvetNashivka(Nashivka))
{
case 1539: textnashivka = "çàùèòå";
case 1540: textnashivka = "ðåãåíåðàöèè";
case 1541: textnashivka = "óðîíó";
case 1542: textnashivka = "óäà÷å";
case 1543: textnashivka = "ìàêñ. õï";
}
if(Nashivka)
{
f(nashivkatext, sizeof(nashivkatext), "{FAAC58}Âñòðîåíà íàøèâêà {FFFFFF}%d-ãî {FAAC58}óðîâíÿ {FFFFFF}(+%d ê %s){FAAC58}.", NashivkaLvl,NashivkaLvl,textnashivka);
}
str_2 = "Îòñóòñòâóåò";
for(new i; i < sizeof(AksColor); i++)
{
if(AksColor[AksColorDefault] != color) continue;
SetString(str_2, AksColor[AksColorName]);
break;
}
if(Enchant >= 4) f(info_enchant, sizeof(info_enchant), "{FFFFFF}- Áîíóñ îò óëó÷øåíèÿ: {A48686}[%s]\n", EnchantAcs[GetSlotEnchant(acs, Enchant)][e_text]);
f(str_1, sizeof(str_1), "%s\n\n%s\n\n{FFFFFF}Õàðàêòåðèñòèêè:\n\
- Öâåò: %s{FFFFFF}\n\
- Óëó÷øåíèÿ: {FDCF28}%i/12\n\
%s\
{FFFFFF}- Ïðî÷íîñòü: {73B461}100/100", ItemsInfo[item][ItemInfo],nashivkatext, str_2, Enchant, info_enchant);
SPD(playerid, 8236, 0, !"Èíôîðìàöèÿ î ïðåäìåòå", str_1, !"Âûõîä", !"");
}
Блять измените короче сами там на русские
stock SaveInv(id, type, slot_id)
{
new owner_id, item_id, amount, color_id, enchanted, mining, nashivka, nashivkalvl;
switch(type)
{
case 1://инв игрока
{
if(!IsPlayerLogged{id}) return 0;
owner_id = PI[id][pID];
item_id = PI[id][pInvItem][slot_id];
amount = PI[id][pInvItemAmount][slot_id];
color_id = PI[id][pInvItemColor][slot_id];
enchanted = PI[id][pInvItemEnchant][slot_id];
mining = PI[id][pInvItemMining][slot_id];
nashivka = PI[id][pInvItemNashivka][slot_id];
nashivkalvl = PI[id][pInvItemNashivkaLvl][slot_id];
}
case 2://инв аксов игрока
{
if(!IsPlayerLogged{id}) return 0;
owner_id = PI[id][pID];
item_id = PI[id][pInvItemAcs][slot_id];
amount = 1;
color_id = PI[id][pInvItemAcsColor][slot_id];
enchanted = PI[id][pInvItemAcsEnchant][slot_id];
nashivka = PI[id][pInvItemAcsNashivka][slot_id];
nashivkalvl = PI[id][pInvItemAcsNashivkaLvl][slot_id];
}
case 3://шкаф
{
owner_id = HouseInfo[id][hID];
item_id = HouseInfo[id][hItem][slot_id];
amount = HouseInfo[id][hItemAmount][slot_id];
color_id = HouseInfo[id][hItemColor][slot_id];
enchanted = HouseInfo[id][hItemEnchant][slot_id];
mining = HouseInfo[id][hItemMining][slot_id];
}
case 4://инв багажника
{
if(id == INVALID_VEHICLE_ID) return 0;
owner_id = CarInfo[id][cID];
item_id = TrunkInfo[OwnableCar[id]][TrunkItem][slot_id];
amount = TrunkInfo[OwnableCar[id]][TrunkItemAmount][slot_id];
color_id = TrunkInfo[OwnableCar[id]][TrunkItemColor][slot_id];
enchanted = TrunkInfo[OwnableCar[id]][TrunkItemEnchant][slot_id];
mining = TrunkInfo[OwnableCar[id]][TrunkItemMining][slot_id];
}
case 5:
{
owner_id = CarInfo[id][cID];
item_id = CarInfo[id][cSlotItem][slot_id];
amount = 1;
}
case 6://складское помещение
{
owner_id = SPInfo[id][spID];
item_id = SPInfo[id][spItem][slot_id];
amount = SPInfo[id][spItemAmount][slot_id];
color_id = SPInfo[id][spItemColor][slot_id];
enchanted = SPInfo[id][spItemEnchant][slot_id];
mining = SPInfo[id][spItemMining][slot_id];
}
Система вырезана из мода,поэтому дальше сами я чайник
Мод продавался за 444р
Кому полезно лайк
Файл слишком большой ссылка на файл
moderы не реклама
Вот список как добавить их в itemsinfo
{1539, 19783, 270.000000, 0.000000, 180.000000, 0.750782, 1, "{FFFFFF}Предмет: {FF332C}Нашивка на аксессуар(защита){ffffff}\nИспользуется для улучшения характеристик персонажа, таких как:\nзащита,регенерация,урон,удача\n\nПолучить можно с помощью крафта в подвале дома,\nили на центральном рынке воспользоваться общим станком.,\nТак же можно купить на центральном рынке у других игроков.\n\nНашивки можно улучшать в мастерской одежды, для этого\nвам необходим точильный амулет.\nУлучшать нашивку можно до 3-го уровня (максимальный).\nЧем больше уровень нашивки, тем более она влиятельная.\n\nЧтобы пришить нашивку на акссесуар, откройте инвентарь,\nнажмите на предмет нашивки, выберите [УСТАНОВИТЬ/INSTALL],\nзатем нажмите на предмет акссесуара, на который хотите пришить\nнашивку.\nОбратите внимание! После того как вы вставите нашивку в акссесуар,\nникто больше не сможет снять нашивку с акссесуара!\n\nНашивки можно передавать, продавать и выкидывать.\nМожно хранить в одной ячейке: 1 ед. предмета.\n\n", "Нашивка на аксессуар(защита)", 3, 0},
{1540, 19778, 270.000000, 0.000000, 180.000000, 0.750782, 1, "{FFFFFF}Предмет: {FF332C}Нашивка на аксессуар(регенерация){ffffff}\nИспользуется для улучшения характеристик персонажа, таких как:\nзащита,регенерация,урон,удача\n\nПолучить можно с помощью крафта в подвале дома,\nили на центральном рынке воспользоваться общим станком.,\nТак же можно купить на центральном рынке у других игроков.\n\nНашивки можно улучшать в мастерской одежды, для этого\nвам необходим точильный амулет.\nУлучшать нашивку можно до 3-го уровня (максимальный).\nЧем больше уровень нашивки, тем более она влиятельная.\n\nЧтобы пришить нашивку на акссесуар, откройте инвентарь,\nнажмите на предмет нашивки, выберите [УСТАНОВИТЬ/INSTALL],\nзатем нажмите на предмет акссесуара, на который хотите пришить\nнашивку.\nОбратите внимание! После того как вы вставите нашивку в акссесуар,\nникто больше не сможет снять нашивку с акссесуара!\n\nНашивки можно передавать, продавать и выкидывать.\nМожно хранить в одной ячейке: 1 ед. предмета.\n\n", "Нашивка на аксессуар(регенерация)", 3, 0},
{1541, 19779, 270.000000, 0.000000, 180.000000, 0.750782, 1, "{FFFFFF}Предмет: {FF332C}Нашивка на аксессуар(урон){ffffff}\nИспользуется для улучшения характеристик персонажа, таких как:\nзащита,регенерация,урон,удача\n\nПолучить можно с помощью крафта в подвале дома,\nили на центральном рынке воспользоваться общим станком.,\nТак же можно купить на центральном рынке у других игроков.\n\nНашивки можно улучшать в мастерской одежды, для этого\nвам необходим точильный амулет.\nУлучшать нашивку можно до 3-го уровня (максимальный).\nЧем больше уровень нашивки, тем более она влиятельная.\n\nЧтобы пришить нашивку на акссесуар, откройте инвентарь,\nнажмите на предмет нашивки, выберите [УСТАНОВИТЬ/INSTALL],\nзатем нажмите на предмет акссесуара, на который хотите пришить\nнашивку.\nОбратите внимание! После того как вы вставите нашивку в акссесуар,\nникто больше не сможет снять нашивку с акссесуара!\n\nНашивки можно передавать, продавать и выкидывать.\nМожно хранить в одной ячейке: 1 ед. предмета.\n\n", "Нашивка на аксессуар(урон)", 3, 0},
{1542, 19780, 270.000000, 0.000000, 180.000000, 0.750782, 1, "{FFFFFF}Предмет: {FF332C}Нашивка на аксессуар(удача){ffffff}\nИспользуется для улучшения характеристик персонажа, таких как:\nзащита,регенерация,урон,удача\n\nПолучить можно с помощью крафта в подвале дома,\nили на центральном рынке воспользоваться общим станком.,\nТак же можно купить на центральном рынке у других игроков.\n\nНашивки можно улучшать в мастерской одежды, для этого\nвам необходим точильный амулет.\nУлучшать нашивку можно до 3-го уровня (максимальный).\nЧем больше уровень нашивки, тем более она влиятельная.\n\nЧтобы пришить нашивку на акссесуар, откройте инвентарь,\nнажмите на предмет нашивки, выберите [УСТАНОВИТЬ/INSTALL],\nзатем нажмите на предмет акссесуара, на который хотите пришить\nнашивку.\nОбратите внимание! После того как вы вставите нашивку в акссесуар,\nникто больше не сможет снять нашивку с акссесуара!\n\nНашивки можно передавать, продавать и выкидывать.\nМожно хранить в одной ячейке: 1 ед. предмета.\n\n", "Нашивка на аксессуар(удача)", 3, 0},
{1543, 19781, 270.000000, 0.000000, 180.000000, 0.750782, 1, "{FFFFFF}Предмет: {FF332C}Нашивка на аксессуар(макс. хп){ffffff}\nИспользуется для улучшения характеристик персонажа, таких как:\nзащита,регенерация,урон,удача\n\nПолучить можно с помощью крафта в подвале дома,\nили на центральном рынке воспользоваться общим станком.,\nТак же можно купить на центральном рынке у других игроков.\n\nНашивки можно улучшать в мастерской одежды, для этого\nвам необходим точильный амулет.\nУлучшать нашивку можно до 3-го уровня (максимальный).\nЧем больше уровень нашивки, тем более она влиятельная.\n\nЧтобы пришить нашивку на акссесуар, откройте инвентарь,\nнажмите на предмет нашивки, выберите [УСТАНОВИТЬ/INSTALL],\nзатем нажмите на предмет акссесуара, на который хотите пришить\nнашивку.\nОбратите внимание! После того как вы вставите нашивку в акссесуар,\nникто больше не сможет снять нашивку с акссесуара!\n\nНашивки можно передавать, продавать и выкидывать.\nМожно хранить в одной ячейке: 1 ед. предмета.\n\n", "Нашивка на аксессуар(макс. хп)", 3, 0}
}
Теперь добавим систему
Вначале мода добавляем:
new NashivkaStarted[MAX_PLAYERS];
Затем в max players делаем код похожий на этот:
//Аксы
new UseAcsID[MAX_PLAYERS];
new UseAcsColor[MAX_PLAYERS];
new UseAcsEnchant[MAX_PLAYERS];
new UseAcsNashivka[MAX_PLAYERS];
new UseAcsNashivkaLvl[MAX_PLAYERS]
Затем добавляем в pinfo данные строки
pInvItem[MAX_SLOT_INV],
pInvItemAmount[MAX_SLOT_INV],
pInvItemColor[MAX_SLOT_INV],
pInvItemEnchant[MAX_SLOT_INV],
pInvItemMining[MAX_SLOT_INV],
pInvItemLock[MAX_SLOT_INV],
pInvItemNashivka[MAX_SLOT_INV],
pInvItemNashivkaLvl[MAX_SLOT_INV],
Затем добавляем
такие строки как
for(new i; i < 108; i++)
{
PI[playerid][pInvItem] = 0;
PI[playerid][pInvItemAmount] = 0;
PI[playerid][pInvItemColor] = 0;
PI[playerid][pInvItemEnchant] = 0;
PI[playerid][pInvItemMining] = 1;
PI[playerid][pInvItemLock] = 0;
if(i < 50) PhoneID[playerid] = 0;
if(i < 30) PI[playerid][pBuyItem] = 0;
if(i < 10)
{
PI[playerid][pTradeItem] = 0;
PI[playerid][pTradeItemAmount] = 0;
PI[playerid][pTradeItemColor] = 0;
PI[playerid][pTradeItemEnchant] = 0;
PI[playerid][pTradeItemMining] = 0;
PI[playerid][pTradeInvID] = -1;
}
if(i < 8)
{
UseModCar[playerid] = 0;
PI[playerid][pAcsCellLock] = 0;
PI[playerid][pModCellLock] = 0;
PI[playerid][pInvItemAcs] = 0;
PI[playerid][pInvItemAcsColor] = 0;
PI[playerid][pInvItemAcsEnchant] = 0;
PI[playerid][pInvItemAcsNashivka] = 0;
PI[playerid][pInvItemAcsNashivkaLvl] = 0;
}
if(i < MAX_PLAYER_HOUSE) PI[playerid][pHouseKey] = 0;
if(i < sizeof(aAccessCMD)) PI[playerid][pAccessCMD] = 0;
}
Затем чтобы все работало
добавляем такой код:
for(new i; i < 108; i++)
{
PI[playerid][pInvItem] = 0;
PI[playerid][pInvItemAmount] = 0;
PI[playerid][pInvItemColor] = 0;
PI[playerid][pInvItemEnchant] = 0;
PI[playerid][pInvItemMining] = 1;
PI[playerid][pInvItemLock] = 0;
if(i < 50) PhoneID[playerid] = 0;
if(i < 30) PI[playerid][pBuyItem] = 0;
if(i < 10)
{
PI[playerid][pTradeItem] = 0;
PI[playerid][pTradeItemAmount] = 0;
PI[playerid][pTradeItemColor] = 0;
PI[playerid][pTradeItemEnchant] = 0;
PI[playerid][pTradeItemMining] = 0;
PI[playerid][pTradeInvID] = -1;
}
if(i < 8)
{
UseModCar[playerid] = 0;
PI[playerid][pAcsCellLock] = 0;
PI[playerid][pModCellLock] = 0;
PI[playerid][pInvItemAcs] = 0;
PI[playerid][pInvItemAcsColor] = 0;
PI[playerid][pInvItemAcsEnchant] = 0;
PI[playerid][pInvItemAcsNashivka] = 0;
PI[playerid][pInvItemAcsNashivkaLvl] = 0;
}
if(i < MAX_PLAYER_HOUSE) PI[playerid][pHouseKey] = 0;
if(i < sizeof(aAccessCMD)) PI[playerid][pAccessCMD] = 0;
}
Затем мини системка:
stock CheckInvItem(playerid, type)
{
if(!InventStatus{playerid} || InventClick{playerid} == 255) return false;
new
itemID = PI[playerid][pInvItem][InventClick{playerid}],
itemColor = PI[playerid][pInvItemColor][InventClick{playerid}],
itemEnchant = PI[playerid][pInvItemEnchant][InventClick{playerid}],
itemNashivka = PI[playerid][pInvItemNashivka][InventClick{playerid}],
itemNashivkaLvl = PI[playerid][pInvItemNashivkaLvl][InventClick{playerid}];
switch(type)
{
case 0:
{
switch(itemID)
{
case 1..311,801..818,1101..1171:
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, Invent[playerid][48], 0x333333FF);
SetSelectableSkin(playerid);
CheckModPlayer(playerid);
}
case AcsSlot1://1-ûé ñëîò àêñû
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][0], 0x333333FF);
PlayerTextDrawShow(playerid, InventAks[playerid][0]);
UseAcsID[playerid] = 0;
UseAcsColor[playerid] = 0;
UseAcsEnchant[playerid] = 0;
UseAcsNashivka[playerid] = 0;
UseAcsNashivkaLvl[playerid] = 0;
}
case AcsSlot2://2-ûé ñëîò àêñû
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][1], 0x333333FF);
PlayerTextDrawShow(playerid, InventAks[playerid][1]);
UseAcsID[playerid] = 0;
UseAcsColor[playerid] = 0;
UseAcsEnchant[playerid] = 0;
UseAcsNashivka[playerid] = 0;
UseAcsNashivkaLvl[playerid] = 0;
}
case AcsSlot3://3-ûé ñëîò àêñû
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][2], 0x333333FF);
PlayerTextDrawShow(playerid, InventAks[playerid][2]);
UseAcsID[playerid] = 0;
UseAcsColor[playerid] = 0;
UseAcsEnchant[playerid] = 0;
UseAcsNashivka[playerid] = 0;
UseAcsNashivkaLvl[playerid] = 0;
}
case AcsSlot4://4-ûé ñëîò àêñû
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][3], 0x333333FF);
PlayerTextDrawShow(playerid, InventAks[playerid][3]);
UseAcsID[playerid] = 0;
UseAcsColor[playerid] = 0;
UseAcsEnchant[playerid] = 0;
UseAcsNashivka[playerid] = 0;
UseAcsNashivkaLvl[playerid] = 0;
}
case AcsSlot5://5-ûé ñëîò àêñû
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][4], 0x333333FF);
PlayerTextDrawShow(playerid, InventAks[playerid][4]);
UseAcsID[playerid] = 0;
UseAcsColor[playerid] = 0;
UseAcsEnchant[playerid] = 0;
UseAcsNashivka[playerid] = 0;
UseAcsNashivkaLvl[playerid] = 0;
}
case AcsSlot6://6-ûé ñëîò àêñû
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][5], 0x333333FF);
PlayerTextDrawShow(playerid, InventAks[playerid][5]);
UseAcsID[playerid] = 0;
UseAcsColor[playerid] = 0;
UseAcsEnchant[playerid] = 0;UseAcsNashivka[playerid] = 0;
UseAcsNashivkaLvl[playerid] = 0;
}
case AcsSlot7://7-ûé ñëîò àêñû
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][6], 0x333333FF);
PlayerTextDrawShow(playerid, InventAks[playerid][6]);
UseAcsID[playerid] = 0;
UseAcsColor[playerid] = 0;
UseAcsEnchant[playerid] = 0;
UseAcsNashivka[playerid] = 0;
UseAcsNashivkaLvl[playerid] = 0;
}
case AcsSlot8://8-ûé ñëîò àêñû
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][7], 0x333333FF);
PlayerTextDrawShow(playerid, InventAks[playerid][7]);
UseAcsID[playerid] = 0;
UseAcsColor[playerid] = 0;
UseAcsEnchant[playerid] = 0;
UseAcsNashivka[playerid] = 0;
UseAcsNashivkaLvl[playerid] = 0;
}
Затем после этого добавляем следующую строку
case 1:
{
switch(itemID)
{
case 1..311,801..818,1101..1171:
{
if(InvCarOpen{playerid}) return 1;
PlayerTextDrawBackgroundColor(playerid, Invent[playerid][48], 0xD57272FF);
PlayerTextDrawSetSelectable(playerid, Invent[playerid][48], 1);
PlayerTextDrawShow(playerid, Invent[playerid][48]);
}
case AcsSlot1://1-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][0], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][0]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot2://2-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][1], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][1]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot3://3-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][2], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][2]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot4://4-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][3], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][3]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot5://5-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][4], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][4]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot6://6-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][5], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][5]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot7://7-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][6], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][6]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
case AcsSlot8://8-ый слот аксы
{
if(InvCarOpen{playerid} || PI[playerid][pModSlot]) return 1;
PlayerTextDrawBackgroundColor(playerid, InventAks[playerid][7], 0xD57272FF);
PlayerTextDrawShow(playerid, InventAks[playerid][7]);
UseAcsID[playerid] = itemID;
UseAcsColor[playerid] = itemColor;
UseAcsEnchant[playerid] = itemEnchant;
UseAcsNashivka[playerid] = itemNashivka;
UseAcsNashivkaLvl[playerid] = itemNashivkaLvl;
}
Это 2 разных системы
Затем добавляем код:
switch(item)//ДЛЯ ЮЗАНИЯ С ИНВЕНТАРЯ
{
case Nashivki:
{
NashivkaStarted[playerid] = true;
SetPVarInt(playerid, "NashivkaSlot", slot);
SPD(playerid, 0, DIALOG_STYLE_MSGBOX, "Нашивки", "{FFFFFF}Выберите аксессуар для использования нашивки", "Закрыть", "");
}
Данный код снова добавляем:
stock InfoItem(playerid, slot)
{
new item, skin, color, Enchant, acs, btcinv, bool:Mining, bool:AddVip, nashivkaa, Nashivka, NashivkaLvl;
static info_enchant[144]; info_enchant[0] = EOS;
if(slot < 108)
{
item = PI[playerid][pInvItem][slot];
color = PI[playerid][pInvItemColor][slot];
Enchant = PI[playerid][pInvItemEnchant][slot];
btcinv = PI[playerid][pInvItemMining][slot];
Nashivka = PI[playerid][pInvItemNashivka][slot];
NashivkaLvl = PI[playerid][pInvItemNashivkaLvl][slot];
}
else if(slot >= 108)
{
if(InvCarOpen{playerid})
{
new number = GetVehicleID(GetPlayerVehicleID(playerid));
item = CarInfo[number][cSlotItem][slot-108];
}
else
{
item = PI[playerid][pInvItemAcs][slot-108];
color = PI[playerid][pInvItemAcsColor][slot-108];
Enchant = PI[playerid][pInvItemAcsEnchant][slot-108];
Nashivka = PI[playerid][pInvItemAcsNashivka][slot-108];
NashivkaLvl = PI[playerid][pInvItemAcsNashivkaLvl][slot-108];
}
}
Системочка:
stock InfoItem(playerid, slot)
{
new item, skin, color, Enchant, acs, btcinv, bool:Mining, bool:AddVip, nashivkaa, Nashivka, NashivkaLvl;
static info_enchant[144]; info_enchant[0] = EOS;
if(slot < 108)
{
item = PI[playerid][pInvItem][slot];
color = PI[playerid][pInvItemColor][slot];
Enchant = PI[playerid][pInvItemEnchant][slot];
btcinv = PI[playerid][pInvItemMining][slot];
Nashivka = PI[playerid][pInvItemNashivka][slot];
NashivkaLvl = PI[playerid][pInvItemNashivkaLvl][slot];
}
else if(slot >= 108)
{
if(InvCarOpen{playerid})
{
new number = GetVehicleID(GetPlayerVehicleID(playerid));
item = CarInfo[number][cSlotItem][slot-108];
}
else
{
item = PI[playerid][pInvItemAcs][slot-108];
color = PI[playerid][pInvItemAcsColor][slot-108];
Enchant = PI[playerid][pInvItemAcsEnchant][slot-108];
Nashivka = PI[playerid][pInvItemAcsNashivka][slot-108];
NashivkaLvl = PI[playerid][pInvItemAcsNashivkaLvl][slot-108];
}
}
if(!strlen(ItemsInfo[item][ItemInfo])) SPD(playerid, 8236, 0, !"Èíôîðìàöèÿ î ïðåäìåòå", !"{FFFFFF}Èíôîðìàöèÿ ïî ýòîìó ïðåäìåòó îòñóòñòâóåò.", !"Âûõîä", !"");
else
{
switch(item)
{
case 1248: Mining = true;
case 1255: AddVip = true;
case AcsSlot1: acs = 1;
case AcsSlot2: acs = 2;
case AcsSlot3: acs = 3;
case AcsSlot4: acs = 4;
case AcsSlot5: acs = 5;
case AcsSlot6: acs = 6;
case AcsSlot7: acs = 7;
case AcsSlot8: acs = 8;
case 801: skin = 163;
case 802: skin = 68;
case 803: skin = 214;
case 804: skin = 154;
case 805: skin = 206;
case 806: skin = 125;
case 807: skin = 98;
case 808: skin = 68;
case 809: skin = 200;
case 810: skin = 120;
case 811: skin = 400;
case 812: skin = 42;
case 813: skin = 400;
case 814: skin = 206;
case 815: skin = 162;
case 816: skin = 200;
case 1539: nashivkaa = 1;
case 1540: nashivkaa = 2;
case 1541: nashivkaa = 3;
case 1542: nashivkaa = 4;
case 1543: nashivkaa = 5;
}
if(skin)
{
if(skin == 400) str_2 = "Íà âñå âèäû";
else f(str_2, sizeof(str_2), "%s", ItemsInfo[skin][ItemName]);
f(str_1, sizeof(str_1), "%s\n\nÏîäõîäèò íà îäåæäó:\n{73B461}- %s", ItemsInfo[item][ItemInfo], str_2);
SPD(playerid, 8236, 0, !"Èíôîðìàöèÿ î ïðåäìåòå", str_1, !"Âûõîä", !"");
}
else if(nashivkaa)
{
f(str_1, sizeof(str_1), "%s\n{FFA500}Óðîâåíü íàøèâêè: {FFFFFF}%d.\n(óëó÷øèòü ìîæíî â ìàñòåðñêîé îäåæäû)",ItemsInfo[item][ItemInfo],Enchant);
SPD(playerid, 8236, 0, !"Èíôîðìàöèÿ î ïðåäìåòå", str_1, !"Âûõîä", !"");
}
else if(acs)
{
new nashivkatext[150];
nashivkatext = "";
new textnashivka[20];
switch(ConvetNashivka(Nashivka))
{
case 1539: textnashivka = "çàùèòå";
case 1540: textnashivka = "ðåãåíåðàöèè";
case 1541: textnashivka = "óðîíó";
case 1542: textnashivka = "óäà÷å";
case 1543: textnashivka = "ìàêñ. õï";
}
if(Nashivka)
{
f(nashivkatext, sizeof(nashivkatext), "{FAAC58}Âñòðîåíà íàøèâêà {FFFFFF}%d-ãî {FAAC58}óðîâíÿ {FFFFFF}(+%d ê %s){FAAC58}.", NashivkaLvl,NashivkaLvl,textnashivka);
}
str_2 = "Îòñóòñòâóåò";
for(new i; i < sizeof(AksColor); i++)
{
if(AksColor[AksColorDefault] != color) continue;
SetString(str_2, AksColor[AksColorName]);
break;
}
if(Enchant >= 4) f(info_enchant, sizeof(info_enchant), "{FFFFFF}- Áîíóñ îò óëó÷øåíèÿ: {A48686}[%s]\n", EnchantAcs[GetSlotEnchant(acs, Enchant)][e_text]);
f(str_1, sizeof(str_1), "%s\n\n%s\n\n{FFFFFF}Õàðàêòåðèñòèêè:\n\
- Öâåò: %s{FFFFFF}\n\
- Óëó÷øåíèÿ: {FDCF28}%i/12\n\
%s\
{FFFFFF}- Ïðî÷íîñòü: {73B461}100/100", ItemsInfo[item][ItemInfo],nashivkatext, str_2, Enchant, info_enchant);
SPD(playerid, 8236, 0, !"Èíôîðìàöèÿ î ïðåäìåòå", str_1, !"Âûõîä", !"");
}
Блять измените короче сами там на русские
stock SaveInv(id, type, slot_id)
{
new owner_id, item_id, amount, color_id, enchanted, mining, nashivka, nashivkalvl;
switch(type)
{
case 1://инв игрока
{
if(!IsPlayerLogged{id}) return 0;
owner_id = PI[id][pID];
item_id = PI[id][pInvItem][slot_id];
amount = PI[id][pInvItemAmount][slot_id];
color_id = PI[id][pInvItemColor][slot_id];
enchanted = PI[id][pInvItemEnchant][slot_id];
mining = PI[id][pInvItemMining][slot_id];
nashivka = PI[id][pInvItemNashivka][slot_id];
nashivkalvl = PI[id][pInvItemNashivkaLvl][slot_id];
}
case 2://инв аксов игрока
{
if(!IsPlayerLogged{id}) return 0;
owner_id = PI[id][pID];
item_id = PI[id][pInvItemAcs][slot_id];
amount = 1;
color_id = PI[id][pInvItemAcsColor][slot_id];
enchanted = PI[id][pInvItemAcsEnchant][slot_id];
nashivka = PI[id][pInvItemAcsNashivka][slot_id];
nashivkalvl = PI[id][pInvItemAcsNashivkaLvl][slot_id];
}
case 3://шкаф
{
owner_id = HouseInfo[id][hID];
item_id = HouseInfo[id][hItem][slot_id];
amount = HouseInfo[id][hItemAmount][slot_id];
color_id = HouseInfo[id][hItemColor][slot_id];
enchanted = HouseInfo[id][hItemEnchant][slot_id];
mining = HouseInfo[id][hItemMining][slot_id];
}
case 4://инв багажника
{
if(id == INVALID_VEHICLE_ID) return 0;
owner_id = CarInfo[id][cID];
item_id = TrunkInfo[OwnableCar[id]][TrunkItem][slot_id];
amount = TrunkInfo[OwnableCar[id]][TrunkItemAmount][slot_id];
color_id = TrunkInfo[OwnableCar[id]][TrunkItemColor][slot_id];
enchanted = TrunkInfo[OwnableCar[id]][TrunkItemEnchant][slot_id];
mining = TrunkInfo[OwnableCar[id]][TrunkItemMining][slot_id];
}
case 5:
{
owner_id = CarInfo[id][cID];
item_id = CarInfo[id][cSlotItem][slot_id];
amount = 1;
}
case 6://складское помещение
{
owner_id = SPInfo[id][spID];
item_id = SPInfo[id][spItem][slot_id];
amount = SPInfo[id][spItemAmount][slot_id];
color_id = SPInfo[id][spItemColor][slot_id];
enchanted = SPInfo[id][spItemEnchant][slot_id];
mining = SPInfo[id][spItemMining][slot_id];
}
Система вырезана из мода,поэтому дальше сами я чайник
Мод продавался за 444р
Кому полезно лайк
Файл слишком большой ссылка на файл
Последнее редактирование: