Witam,
Jak w tytule tematu.
Posiadam przerobiony CS:GO mod by DeroiD.
Oczywiście wszystko sobie doskonale poprawiłem i dostosowałem jednak nie mogę poradzić sobie z poprawą menu GIFT'a.
Mianowicie, nie działa opcja przekazywania klucza czy też skrzynki w modzie.
Dodaje kawałek kodu który odpowiada za tą czynność:
public MenuHandler(id, gMenu, Key)
{
if(Key == MENU_EXIT)
{
MenuMod[id] = 0;
menu_destroy(gMenu);
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32], Name[32], mName[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(MenuMod[id] == -2)
{
aThing[id] = Key;
MenuMod[id] = 5;
Menu(id);
return PLUGIN_HANDLED;
}
if(MenuMod[id] == -1)
{
MenuMod[id] = 3;
WeaponinMarket[id] = Key;
client_cmd(id, "messagemode Cost");
Menu(id);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == 0)
{
MenuMod[id] = Key;
Menu(id);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == 1)
{
parse(Data[0], Data[2], 31, Data[3], 31);
if(str_to_num(Data[3]) == 16 || str_to_num(Data[3]) == 26)
UsingWeapon[1][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == 29)
UsingWeapon[2][id] = str_to_num(Data[2]);
else
UsingWeapon[0][id] = str_to_num(Data[2]);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == 2)
{
if(Key == 1)
{
if(Chest[id] > 0 && pKey[id] > 0)
{
Chest[id]--;
pKey[id]--;
ChestOpen(id);
Menu(id);
return PLUGIN_HANDLED;
}
}
}
else if(MenuMod[id] == 3)
{
if(Key == -1)
{
MenuMod[id] = -1;
Menu(id);
return PLUGIN_HANDLED;
}
else if(Key == 0)
{
if(inMarket[id])
inMarket[id] = false;
else if(MarketPoints[id] > 0)
{
get_user_name(id, Name, 31);
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
inMarket[id] = true;
}
Menu(id);
return PLUGIN_HANDLED;
}
else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
{
get_user_name(Key, Name, 31);
get_user_name(id, mName, 31);
if(WeaponinMarket[Key] < 101)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETITEM",
mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
uWeapon[WeaponinMarket[Key]][id]++;
uWeapon[WeaponinMarket[Key]][Key]--;
}
else if(WeaponinMarket[Key] == 101)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETCHEST",
mName, MarketPoints[Key], Name);
Chest[id]++;
Chest[Key]--;
}
else if(WeaponinMarket[Key] == 102)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETKEY",
mName, MarketPoints[Key], Name);
pKey[id]++;
pKey[Key]--;
}
Points[Key] += MarketPoints[Key];
Points[id] -= MarketPoints[Key];
Save(Key);
Save(id);
inMarket[Key] = false;
MarketPoints[Key] = 0;
WeaponinMarket[Key] = 0;
MenuMod[id] = 0;
}
}
else if(MenuMod[id] == 5)
{
if(Key == -1)
{
aTarget[id] = 0;
}
if(Key == -2)
{
MenuMod[id] = -2;
}
if(Key == -3)
{
if(uWeapon[aThing[id]][id] > 0)
{
uWeapon[aThing[id]][aTarget[id]]++;
uWeapon[aThing[id]][id]--;
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Save(aTarget[id]);
Save(id);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
print_color(id, "!g%s%L",
Prefix, LANG_SERVER, "GIFTSUCCESS");
}
}
if(Key == -4)
{
client_cmd(id, "messagemode Gift");
}
if(Key > 0)
aTarget[id] = Key;
Menu(id);
return PLUGIN_HANDLED;
}
MenuMod[id] = 0;
return PLUGIN_CONTINUE;
}


Dodatki SourceMod












