-
Posts
684 -
Joined
-
Last visited
-
Days Won
4
Everything posted by TheNormalnij
-
Попробуй вставлять outputDebugString( <текст или переменная > ). Можно использовать SQLite database browser, для просмотра базы.
-
Там и есть таймер. В общем как-то так все работает ( функции вырезаны ) aibase = {} function aibase:subclass( c ) self.__index = self for key in pairs( defaultClass ) do c[key] = c[key] or defaultClass[key] end return setmetatable( c, self ) end function updateBotsState() for bot in pairs( bots ) do if bots[bot].status ~= 'dead' then bots[bot]:searchBestTargent() if bots[bot].targent then bots[bot]:chase() else bots[bot]:wait() end end end end setTimer( updateBotsState, 500, 0 ) -- Таймер --Конец мета класса --Все что написано про зомби )) zombie = aibase:subclass( { name = 'Zombie'; skins = { 13, 14, 15, 16, 17 }; status = 'wait'; anim = { walk = 'WOMAN_walknorm' }; targentDis = 70; attackDis = 1.5; attackStatus = false; } ) function zombie:onCreate() setPedFightingStyle( self.element, 7 ) end function zombie:attack() self:stop() if self.attackStatus then self.attackStatus = false callControll( self.element, 'enter_exit', false ) else triggerClientEvent( self.targent, 'targentCalling', self.element ) callControll( self.element, 'aim_weapon', true ) callControll( self.element, 'enter_exit', true ) self.attackStatus = true end end
-
блин, там я пытаюсь юзать ООП, смысл: у меня по таймеру происходит обновление ботов всевозможных видов, выбираются их действия. Вот примерно так атакует. Немного г-но код, потому что не дошел до рабочего состояния function zombie:attack() self:stop() if self.attackStatus then self.attackStatus = false callControll( self.element, 'enter_exit', false ) else callControll( self.element, 'aim_weapon', true ) triggerClientEvent( self.targent, 'targentCalling', self.element ) callControll( self.element, 'enter_exit', true ) self.attackStatus = true end end
-
Я знаю, что мне надо. Тоже док прочитай Для этого надо прицелится и нажать 'F', что эквивалентно 'enter_exit'. Прицелится можно, а "нажать" 'F' - никак. Да, запутал, тут over 9000 раз написал спецудары, анимка, комбо. Не в обиду =)
-
OnPlayerUpdate - такого события совсем нет, есть onPlayerUpdate
-
onClientRender вызывает функцию каждый раз, когда создается новый кадр. В 99% случаях пользуются dx* функциями.
-
На 22 строке нет услоавия, по которому изменять ( WHERE )
-
Прогресс бар как-бы не используют для этого. Вам нужно обрабатывать onClientRender.
-
Это получает координаты меша авто, если потренироваться, то можно перемещать их и делать анимации https://wiki.multitheftauto.com/wiki/Vehicle_component_manipulation
-
я смутно понял, что ты хочешь, но по-моему это то xmlNodeGetAttribute
-
Эмм... Спасибо, но это не то, такое обсуждение уже есть, но там обсуждалось, чтобы педы могли входить в авто, а здесь это надо для комбоударов.
-
Ок, раз этого нет, то может кто-нибудь оставит запрос на багтрекере, так как мой язык не английский.
-
-
не обязательно
-
Я бы хотел вернуться к обсуждению.
-
Анимация есть, где-то тут: https://wiki.multitheftauto.com/wiki/Animations#FIGHT_B . Чувак, я знаю где, что искать ( хоть и банили в гугле ). Я бы хотел использовать стандартные методы гта для достижения результата. Возможно, даже если надо продонатить
-
По-моему, существует анимация бокса. Не вижу преград, чтобы реализовать то, что ты задумал. Отдельно реализовывать анимку и дамаг? Ну с дамагом я понимаю, а с анимкой 'gamesexe'. Должно же быть что-то стандартное.
-
Кста, никто не знает как продвигаются дела с setPedControlState( ped, 'enter_exit', state ). Хотел сделать бота-боксера со спецударами, а тут фиг те.
-
Я, например, всегда даже на файлах ставлю type="client", это не должно влиять.
-
local id = 1509 function replace() local txd = engineLoadTXD("files/grass.txd") local dff = engineLoadDFF("files/grass.dff") engineImportTXD(txd, id) engineReplaceModel(dff, id) end addEventHandler("onClientResourceStart", resourceRoot, replace)
-
https://wiki.multitheftauto.com/index.php?title=RU/Main_Page Тут самое важное есть на русском. В фрироме как раз так и делается setMinuteDuration(9001). Где-то в примерах было по событию onClientRender, но этот вариант мне не нравится. По поводу создания: на багтрекере можно этот вопрос продонатить.
-
Почти по каждой функции в мта есть пример использования. Яркость, эффекты - шейдеры. Как пихать объекты есть в уроках. для ускорения персов можно менять режим ходьбы или ускорять время, можно менять параметры авто... Бинд тоже расписан( по-моему 'mouse_1' )
-
Ruga, =) а еще можно редактировать одну карту хоть десятиром.
-
ИМХО, самое ваажное - знать как дебагать.
-
Так и называется, GUI Editor. Однако, возможно, кому-то будет понятнее самим все подписывать.