Monnoroch 6 Опубликовано 9 Декабря 2009 malandrinus, спс.кстати,а кто нибудь знает что такое morale?За что оно отвечает в игре? Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 9 Декабря 2009 (изменено) Gonarh, а для гг есть эффекты? И туда же: у НПС есть psy_health - так вот какие нибудь эффекты оно имеет?И когда изменяется?Я в свое время заставлял пить вотку,когда ее мало,но они пили 1 раз - при загрузке игры. Изменено 9 Декабря 2009 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 12 Декабря 2009 Gonarh, Мне!!! Мне в личку!Как в паскале Н-мерный массив создать!Я уже давно бьюсь Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 20 Декабря 2009 malandrinus, для партиклов есть утиль от Колмогора.Коли нужно - точно знаю,что у Архары есть. Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 26 Декабря 2009 (изменено) Кто-нибудь,подскажите,как превратить весь нетпакет непися в табличку? мне не надо в нем ковыряться,надо просто запомнить...а потом записать его неписю - неизменным. Изменено 26 Декабря 2009 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 27 Декабря 2009 (изменено) Какой максимальный обьем переменной в ЛУА сталкеровском можно сделать?Если у меня таблица,допустим,килобайт 300 будет - это нормально? ==== И еще: вот у меня есть обьект.Как мне определить клиентский он или серверный? Изменено 27 Декабря 2009 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 27 Декабря 2009 (изменено) Krevedko, както так... class "ggg" -- вызывать из bind_stalker.actor_binder:update(delta) function ggg:init() for i = 0,65535,0 do local obj = level.object_by_id(i) if obj:id() and obj:id() == db.actor:id() then obj = db.actor end end if obj.health >0.1 then self:gg_bessmerten(obj) else self:gg_bessmerten(obj) end end function ggg:gg_bessmerten(obj) for i = 1,(3-math.floor(16-225/15)-1) do if obj.health <0.1 then obj.health = obj.health+1 end if obj.health >0.1 then obj.health = obj.health+1 end if obj.health =0.1 then obj.health = obj.health+1 end end end в bind_stalker.actor_binder:update(delta) (=скрипт bind_stalker, функция actor_binder:update(delta)) пишешь твое_название_скрипта.ggg:init() где название скрипта - тот скрипт,куда ты написанное мной допишешь Лучше создай новый скрипт. n6260,ахахаха gamedata\scripts\bind_stalker.script ('это я продолжил твой путь ) Изменено 27 Декабря 2009 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 27 Декабря 2009 (изменено) Darien, Не сметь порочить мою систему!Она рабочая на все 100! Gonarh, на самом деле все еще проще - можно почитать шапку темы Изменено 27 Декабря 2009 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 27 Декабря 2009 malandrinus, я нетпакеты неписей пишу в таблицу.это я так понимаю обьекты LUA? Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 27 Декабря 2009 Я составляю таблицу полных нетпакетов НПС в онлайне которые. Тут проблема просто - зависают они иногда.Причину обыскалисть - не нашли. Теперь вот решили сделать как: переписываем пстор и нетпакет.Для этого нужна таблица нетпакетов.Вот я и думаю если в онлайне 60 НПС будет игра не рухнет? Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 30 Декабря 2009 (изменено) Gonarh, помнишь мы пересчитывали high(integer) downto 1 ?Было 1.7 секунды А это гораааздо больше,нежели 65 тыщь. Изменено 30 Декабря 2009 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 31 Декабря 2009 Garry_Galler, линейный перебор - не такое уж зло есть во время сделать break - то етсть не перебирать все 65 тыщ. В модах обычно так дела и обстоят - ищется конкретный обьект. Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 2 Января 2010 Кто-нибудь знает,что происходит,когда скрипт считает математические действия? то есть 2+3 или 4*2 я пишу в скрипте - как это обрабатывает компиллятор? Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 2 Января 2010 Gonarh, что происходит в движке,когда он в скрипте находит,математические действия. Я это хотел сказать. ты же сам знаешь,что я знаю,что это просто текст Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 2 Января 2010 (изменено) malandrinus, так. Можно попроще,пожалуйста? Вот пишу я function plus(a,b ) return a+b end что происходит когда я вызываю plus(2,12) например?сам процесс складывания - что он из себя представляет? меня интересует именно механизм складывания чисел - что компиллятор делает,имея 2 числа и задачу их сложить. Изменено 2 Января 2010 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 3 Января 2010 (изменено) - выполняет собственно сложение. Обычно для этого есть инструкция типа "сложить значение из регистра А со значением из регистра Б и поместить обратно в А" Вот это мне и надо...То есть это непосредственно команда процессора? Ты не знаешь,в таком случае,как устроена эта "сложить" в процессоре? Я сам могу в уме или на бумаге складывать: -столбиком -десятично (есть вариации) А как складывает процессор? Изменено 3 Января 2010 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 3 Января 2010 (изменено) RvP, а по-русски? Предположим, что необходимо сложить два числа 5 и 4. Что же происходит в компьютере, когда поступает подобная команда? Давайте рассмотрим подобную ситуацию. Для начала необходимо перевести 5 и 4 в двоичную систему исчисления(так как компьютер ничего кроме нее не понимает). 5(в 10-ой)=0101(в 2-ой) и 4(в 10-ой)=0100(в 2-ой). Эта информация храниться в оперативной памяти до тех пор, пока не поступит команда их сложить. После того, как настало время произвести операцию, система заранее посылает эти два числа и код инструкции которую необходимо произвести(в нашем случае сложение) из оперативной памяти в кэш процессора. Там по истечении некоторого времени они ждут своей очереди поступления на конвейер. Когда очередь наступила, число 0101(5) заносится в один регистр, число 0100(4) во второй и поступает инструкция сложить. Два числа складываются, получается результат 1001(9), который заносится в третий регистр, и затем значение регистра отсылается обратно в оперативную память в определенную ячейку. Вот мне эта инструкция и интересно как действует. И насколько долго она работает. Практический интерес в том - что будет обрабатываться быстрее - перевод из строки в число+сложение+перевод обратно в строку или таблица соответствий то есть функция,переводящая "2"+"2" в "4" для ЦИФЕР. Только не надо говорить,что это занимает пол миллисекунды,дело не в этом.Мне сейчас именно важна скорость,а не сложность кода. Изменено 3 Января 2010 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 3 Января 2010 (изменено) Ммм,если кто программировал на паскале,не можете подсказать тогда,что будет быстрее обсчитываться: inttostr(strtoint('2')+strtoint('2')); // стандартные функции или function plus(a,b:char):string; begin if (a = '2') and (b = '2') then result:='4' elseif...//тут условия для всех комбинаций цифр (да,81 штука,а что делать) end; Изменено 3 Января 2010 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 3 Января 2010 (изменено) RvP, нельзя.слишком короткое -19 знаков точность и все равно 0 пишет. Добавлено через 1 мин.: malandrinus, спасибо.я просто думал - может оно логические выражения быстрее выполняет.... ===== хе-хе.А вот по итогам 10 миллионов вычислений быстрее мой способ гдето 0.1 секунды.однако вот так Изменено 3 Января 2010 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение
Monnoroch 6 Опубликовано 3 Января 2010 (изменено) malandrinus, это не у меня,это в среде === просто сейчас я использую стандартные функции,но мне позарез надо убить парочку наносекунд.... Изменено 3 Января 2010 пользователем Monnoroch Поделиться этим сообщением Ссылка на сообщение