BcerDaOduH
Участник
- Сообщения
- 12
- Реакции
- 4
Плагинов
Плагин полностью функционирует(CS:GO). Ищите ошибку у себяСоздание предметов (Елки,Снеговека) не работает для карт с workshop (не создается конфиг который отвечает за спавн предметов по координатам)
С обычными картами которые в maps плагин работает корректно,а вот карты которые находятся в maps/workshop/ плагин не работает (именно спавн предметов)Плагин полностью функционирует(CS:GO). Ищите ошибку у себя
В этом то и вся проблема.С обычными картами которые в maps плагин работает корректно,а вот карты которые находятся в maps/workshop/ плагин не работает (именно спавн предметов)
char g_sCurrentMap[32];
GetCurrentMap(g_sCurrentMap, sizeof(g_sCurrentMap));
if(!DirExists("addons/sourcemod/configs/newyear/"))
{
CreateDirectory("addons/sourcemod/configs/newyear/", 511);
}
FormatEx(g_sFile, sizeof(g_sFile), "addons/sourcemod/configs/newyear/%s.cfg", g_sCurrentMap);
Будет ли фикс для workshop карт?
Попробуйте создать папку addons/sourcemod/configs/newyear/workshopЛя, а фикс то будет?
Там надо добавлять на ксго ещё map, "workshop" после GetCurrentMap вроде как, но я без понятия как это на ксго будетПопробуйте создать папку addons/sourcemod/configs/newyear/workshop
void GetCurrentMapEx(char[] szMapBuffer, int iSize)
{
char szBuffer[256];
GetCurrentMap(szBuffer, sizeof szBuffer);
int iIndex = -1, iLen = strlen(szBuffer);
for(int i = 0; i < iLen; i++)
{
if(FindCharInString(szBuffer[i], '/') != -1 || FindCharInString(szBuffer[i], '\\') != -1)
{
if(i != iLen - 1)
{
iIndex = i;
}
continue;
}
break;
}
strcopy(szMapBuffer, iSize, szBuffer[iIndex+1]);
}
L 12/15/2019 - 02:01:15: [SM] Exception reported: Not enough space on the stackФикс для воркшопа:
1. Добавляем в конец плагина:
C++:void GetCurrentMapEx(char[] szMapBuffer, int iSize) { char szBuffer[256]; GetCurrentMap(szBuffer, sizeof szBuffer); int iIndex = -1, iLen = strlen(szBuffer); for(int i = 0; i < iLen; i++) { if(FindCharInString(szBuffer[i], '/') != -1 || FindCharInString(szBuffer[i], '\\') != -1) { if(i != iLen - 1) { iIndex = i; } continue; } break; } strcopy(szMapBuffer, iSize, szBuffer[iIndex+1]); }
2. Ищем GetCurrentMap и меняем на GetCurrentMapEx.
3. Компилируем плагин.
Готово!
bool g_bActive, g_iAnswer;
#tryinclude <shop>
#undef REQUIRE_PLUGIN
#tryinclude <shop>
switch (GetRandomInt(1,4))
{
#if defined _shop_included
case 1:
{
int shopwin = GetRandomInt(0,100);
if (shopwin <= 15)
CGOPrintToChat(activator, "%t", "Bronze_Ticket", Shop_GiveClientCredits(activator, GetRandomInt(iBrMin,iBrMax), CREDITS_BY_NATIVE));
else if (shopwin <= 50)
CGOPrintToChat(activator, "%t", "Silver_Ticket", Shop_GiveClientCredits(activator, GetRandomInt(iSiMin,iSiMax), CREDITS_BY_NATIVE));
else if (shopwin <= 70)
CGOPrintToChat(activator, "%t", "Gold_Ticket", Shop_GiveClientCredits(activator, GetRandomInt(iGoldMin,iGoldMax), CREDITS_BY_NATIVE));
else if (shopwin <= 85)
CGOPrintToChat(activator, "%t", "Platinum_Ticket", Shop_GiveClientCredits(activator, GetRandomInt(iPlatMin,iPlatMax), CREDITS_BY_NATIVE));
else if (shopwin <= 97)
CGOPrintToChat(activator, "%t", "VIP_Ticket", Shop_GiveClientCredits(activator, GetRandomInt(iVipMin,iVipMax), CREDITS_BY_NATIVE));
else
{
switch (GetRandomInt(0,3))
{
case 1: {CGOPrintToChat(activator, "%t", "Jackpot_Ticket_One", Shop_GiveClientCredits(activator, ijackpotOne, CREDITS_BY_NATIVE));}
case 2: {CGOPrintToChat(activator, "%t", "Jackpot_Ticket_Two", Shop_GiveClientCredits(activator, ijackpotTwo, CREDITS_BY_NATIVE));}
case 3: {CGOPrintToChat(activator, "%t", "Jackpot_Ticket_Three", Shop_GiveClientCredits(activator, ijackpotThree, CREDITS_BY_NATIVE));}
default: CGOPrintToChat(activator, "%t", "Jackpot_Ticket_Bad");
}
}
}
#endif
default: {CGOPrintToChat(activator,"%t", "Comforting_Gift", Shop_GiveClientCredits(activator, iLow, CREDITS_BY_NATIVE));}
}
#if defined _shop_included
...
#endif
default: {... Shop_GiveClientCredits(activator, iLow, CREDITS_BY_NATIVE));}
#if defined _shop_included
...
default: {... Shop_GiveClientCredits(activator, iLow, CREDITS_BY_NATIVE));}
#endif
char g_sFile[64];
char g_sFile[PLATFORM_MAX_PATH];
if (!strncmp(g_sCurrentMap, "workshop", 8, false))
{
int ik;
if((ik = FindCharInString(g_sCurrentMap, '/')) != -1 || (ik = FindCharInString(g_sCurrentMap, '\\')) != -1)
{
g_sCurrentMap[9 + ik] = '\0';
FormatEx(g_sFile, sizeof(g_sFile), "addons/sourcemod/configs/newyear/%s/", g_sCurrentMap);
if (!DirExists(g_sFile))
{
CreateDirectory("addons/sourcemod/configs/newyear/workshop/", 511);
CreateDirectory(g_sFile, 511);
}
g_sCurrentMap[9 + ik] = '/';
}
}
FormatEx(g_sFile, sizeof(g_sFile), "addons/sourcemod/configs/newyear/%s.cfg", g_sCurrentMap);
В этой версии всё именно для SHOP'a, без шопа это получится как оригинал, кроме некоторых моментов.Я так понимаю обязательно устанавливать плагин SHOP...C-подобный:HappyNewYear_2K20.smx (Happy New Year 2020+): Could not find required plugin "shop"
Так что я останусь на 2k15
Посмотреть вложение 49672
Добавьте форвард и 1-2В этой версии всё именно для SHOP'a, без шопа это получится как оригинал, кроме некоторых моментов.
Скомпиль на своём SM'eL 12/16/2019 - 23:04:40: [SM] Failed to load plugin "HappyNewYear_2K20.smx": Unable to load plugin (no debug string table).
В чем проблема?
Толку нет, там инклюд требует от shop fork а его для css v34 нетуСкомпиль на своём SM'e