Òåêóùèå âîïðîñû è îòâåòû ïî ðåäàêòîðó êàðò - Ñòðàíèöà 391 - Ôîðóì HeroesWorld-à

Áûñòðàÿ íàâèãàöèÿ ïî îñíîâíûì ðàçäåëàì ôîðóìà:
Òóðíèðû
ÊÀÐÒÛ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Ãåðîè Ìå÷à è Ìàãèè 5 - Êàðòîñòðîèòåëüñòâî (Ðåäàêòîð êàðò)  ýòîì ðàçäåëå ìîæíî îáñóæäàòü âñå ÷òî êàñàåòñÿ ðåäàêòîðà êàðò äëÿ Heroes of Might and Magic V. Òàê æå çäåñü îáñóæäàåì êàðòîñòðîèòåëüñòâî.

Îòâåò
Ñòðàíèöà 391 èç 391
 
Îïöèè òåìû
#5851
Ñòàðûé Ñåãîäíÿ, 01:27
  #5851
^
IchGViji
 
Àâàòàð äëÿ IchGViji
📖
Ðåãèñòðàöèÿ: 23.08.2022
Ñîîáùåíèÿ: 119
Ðåãèñòðàöèÿ: 23.08.2022
Ñîîáùåíèÿ: 119
Ñîîáùåíèå
Re: Òåêóùèå âîïðîñû è îòâåòû ïî ðåäàêòîðó êàðò

GerterМожно иметь сотни потоков одновременно и игра будет нормально это воспринимать. Не стоит только некоторые отдельные вещи в бесконечном потоке чекать, например, проверять стоимость пути в мувах соотв. функцией - вот это убивает игру даже одним потоком.

Что-ж, то, что низкого ограничения на количество открываемых потоков нет, это радует!

А вот касательно вещей, которые не стоит проверять в бесконечное потоке: у меня в скрипта следующие проверки используются, полагаю такие допускаются?

1) проверка, что через n-ое кол-во дней наступает событие (например - разблокировка региона, апдейт квеста), eventDay - глобальная переменная
function waitForEvent()
   while (1) do
      sleep(10)
      local currentDay = GetDate(DAY)
      if ((currentDay - eventDay) == 5) then
         --some code
         break
      end
      sleep(10)
   end
end

2) проверка, что у игрока нет городов и активных героев
function checkGoalCompletion()
   while (1) do
      sleep(10)
      local heroes = GetPlayerHeroes(id)
      local townsNumber = 0;
      for i, town in TOWNS do
         if (GetObjectOwner(town) == id) then
            townsNumber = townsNumber + 1
         end
      end
      if (heroes == 0 and townsNumber == 0) then
         --some code
         break
      end
      sleep(10)
   end
end

3) в гарнизона города есть требуемое количество существ
function checkTownCreatures()
   while (1) do
      sleep(10)
      local creatures = GetObjectCreatures(obj, id)
      if (creatures >= NEEDED) then
         --some code
         break
      end
      sleep(10)
   end
end
__________________

Ñöåíàðèè:
"Õîëì ìåðòâåöîâ"
"Ñâÿùåííîå äðåâî" - â ðàçðàáîòêå

Ñöåíàðèè:
"Õîëì ìåðòâåöîâ"
"Ñâÿùåííîå äðåâî" - â ðàçðàáîòêå
IchGViji âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 391 èç 391


Îïöèè òåìû



×àñîâîé ïîÿñ GMT +4, âðåìÿ: 17:48.


vBulletin v3.5.0, Copyright ©2000-2025, Jelsoft Enterprises Ltd. (Ðóññêèé)

ßíäåêñ öèòèðîâàíèå    Top.Mail.Ru