nikitafloy Posted November 22, 2013 Share Posted November 22, 2013 Как запретить пикапу появляться после использования, или убрать его по таймеру. Link to comment
Kenix Posted November 22, 2013 Share Posted November 22, 2013 https://wiki.multitheftauto.com/wiki/Se ... wnInterval Link to comment
nikitafloy Posted November 22, 2013 Share Posted November 22, 2013 https://wiki.multitheftauto.com/wiki/SetPickupRespawnInterval Это не совсем то. Эти данные задаются и при создании пикапа, мне нужно, чтобы пикап не создавался вообще после использования. Link to comment
DakiLLa Posted November 22, 2013 Share Posted November 22, 2013 https://wiki.multitheftauto.com/wiki/SetPickupRespawnInterval Это не совсем то. Эти данные задаются и при создании пикапа, мне нужно, чтобы пикап не создавался вообще после использования. Ну тогда наверное имеет смысл уничтожить его: addEventHandler( "onPickupHit", твой_пикап, function() destroyElement( source ) end ) Link to comment
nikitafloy Posted November 22, 2013 Share Posted November 22, 2013 https://wiki.multitheftauto.com/wiki/SetPickupRespawnInterval Это не совсем то. Эти данные задаются и при создании пикапа, мне нужно, чтобы пикап не создавался вообще после использования. Ну тогда наверное имеет смысл уничтожить его: addEventHandler( "onPickupHit", твой_пикап, function() destroyElement( source ) end ) Ах да, у меня был destroy только если его никто не юзал. Благодарю. Link to comment
nikitafloy Posted November 22, 2013 Share Posted November 22, 2013 aclGetGroup ( "Security" or "Donate" ) Может ли работать корректно? У меня пропускает мимо... Link to comment
Kenix Posted November 22, 2013 Share Posted November 22, 2013 У тебя всегда будет получать группу "Security" т.к оператор or никогда не будет срабатывать. Оператор or работает только в том случае если значение false ( boolean ) или ( nil ). nil тоже тип. Link to comment
Memory Posted November 23, 2013 Share Posted November 23, 2013 Привет всем, скажите как исправить (мод race): если во время игры, заходит игрокок, то последний выживший в ранг листе получается на второй позиции, а деньги даются как последнему выжившему, тому кто зашёл. Последний игрок, определяется c через getAlivePlayer(): function check() local alive = getAlivePlayers() local player = alive[1] if (#alive == 1) then givePlayerMoney(player, 1000) outputChatBox(getPlayerName(player).. " receive 1000$", getRootElement(), 255, 255, 255, true ) end end addEventHandler("onPlayerWasted",getRootElement(),check) addEventHandler("onPlayerJoin",getRootElement(),check) addEventHandler("onPlayerQuit",getRootElement(),check) Link to comment
nikitafloy Posted November 23, 2013 Share Posted November 23, 2013 У тебя всегда будет получать группу "Security" т.к оператор or никогда не будет срабатывать.Оператор or работает только в том случае если значение false ( boolean ) или ( nil ). nil тоже тип. Благодарю. Тогда как сделать проверку на то, состоит ли player в двух группах? Link to comment
Kenix Posted November 23, 2013 Share Posted November 23, 2013 Привет всем, скажите как исправить (мод race): если во время игры, заходит игрокок, то последний выживший в ранг листе получается на второй позиции, а деньги даются как последнему выжившему, тому кто зашёл. Последний игрок, определяется c через getAlivePlayer(): function check() local alive = getAlivePlayers() local player = alive[1] if (#alive == 1) then givePlayerMoney(player, 1000) outputChatBox(getPlayerName(player).. " receive 1000$", getRootElement(), 255, 255, 255, true ) end end addEventHandler("onPlayerWasted",getRootElement(),check) addEventHandler("onPlayerJoin",getRootElement(),check) addEventHandler("onPlayerQuit",getRootElement(),check) Будет лучше всего создать свою таблицу живых игроков. Link to comment
Kenix Posted November 23, 2013 Share Posted November 23, 2013 У тебя всегда будет получать группу "Security" т.к оператор or никогда не будет срабатывать.Оператор or работает только в том случае если значение false ( boolean ) или ( nil ). nil тоже тип. Благодарю. Тогда как сделать проверку на то, состоит ли player в двух группах? https://wiki.multitheftauto.com/wiki/IsObjectInACLGroup Link to comment
nikitafloy Posted November 23, 2013 Share Posted November 23, 2013 У тебя всегда будет получать группу "Security" т.к оператор or никогда не будет срабатывать.Оператор or работает только в том случае если значение false ( boolean ) или ( nil ). nil тоже тип. Благодарю. Тогда как сделать проверку на то, состоит ли player в двух группах? https://wiki.multitheftauto.com/wiki/IsObjectInACLGroup Пробовал, не работает. Срабатывает только первое условие, второе нет. Т.е. я запрашиваю состоит ли челвоек в группе #1 или группе #2. Но если первой не удовлетворяет, то дальше проверка не идет. if isObjectInACLGroup ( "user." .. getAccountName ( getPlayerAccount ( Player )), aclGetGroup ( "FBI" ) ) or isObjectInACLGroup ( "user." .. getAccountName ( getPlayerAccount ( Player )), aclGetGroup ( "Security" ) ) and allVehicles[source] ~= getAccountName( getPlayerAccount( Player ) ) and not veh[ getElementModel( source ) ] then _______________________________ Создается 2 пикапа + действует для любых пикапов. Как локализовать? Почему создается по 2-ому кругу 2 пикапа, а не 1? local coordM = { {1320.80005, 1254.69995, 14.6}, ... {2637.19995, -1471.30005, 16.5} } function createPU() local rnd1 = math.random (1, #coordM) pick = createPickup ( coordM[rnd1][1], coordM[rnd1][2], coordM[rnd1][3], 3, 1274, 99999999999999999999 ) outputChatBox ( "На карте указан маркер (Стрелочка), где находятся деньги!", getRootElement(), 140, 215, 42, true ) outputChatBox ( "Ваша цель - добраться первым и забрать их!", getRootElement(), 140, 215, 42, true ) createBlipAttachedTo (pick, 3, 1, 0, 0, 0, 255, 0, 450 ) end function check() local attached = getAttachedElements ( pick ) if ( attached ) then for k,element in ipairs(attached) do if getElementType ( element ) == "blip" then destroyElement ( element ) destroyElement ( pick ) end end end end setTimer ( check, 899999, 0 ) setTimer ( createPU, 900000, 0 ) function destroy( thePlayer ) outputChatBox ( getPlayerName ( thePlayer ) .. " нашел один из пикапов! Поздравляем!", getRootElement(), 140, 215, 42, true ) givePlayerMoney ( thePlayer, 50000 ) local attached = getAttachedElements ( pick ) if ( attached ) then for k,element in ipairs(attached) do if getElementType ( element ) == "blip" then destroyElement ( element ) end end end end addEventHandler ( "onPickupUse", getRootElement(), destroy ) Link to comment
Memory Posted November 24, 2013 Share Posted November 24, 2013 Будет лучше всего создать свою таблицу живых игроков. Это наподобии такого? Просто тестировать надо с несколькими игроками, а на основном сервере это не удобно. function getAliveGuys () pAlive = 0 playerAlive = { }; for _, player in ipairs ( getElementsByType ( "player" ) ) do if ( getElementData ( player, "state" ) == "alive" ) then pAlive = pAlive + 1; playerAlive[#playerAlive+1] = { }; end end end function check() getAliveGuys() if pAlive == 1 then local winner = playerAlive[1]; givePlayerMoney( winner, 1000 ); outputChatBox( getPlayerName( winner ).. " receive 1000$", getRootElement( ), 255, 255, 255, true ); end end addEventHandler("onPlayerWasted", getRootElement( ) , check) Link to comment
kino Posted November 24, 2013 Share Posted November 24, 2013 в одном из ресурсов видел coroutine я даже не знал, что мта есть многопоточность. Так вот я хотел узнать приносит это дополнительную скорость и стабильность? Link to comment
Arisu Posted November 25, 2013 Share Posted November 25, 2013 Sandboxie в помощь Только не забудьте отрубить античит, потому что будет кикать. в одном из ресурсов видел coroutine я даже не знал, что мта есть многопоточность.Так вот я хотел узнать приносит это дополнительную скорость и стабильность? Скорость - нет. Стабильность - нет. (особенно, если вы в поточном программировании не разбираетесь) Потоками можно сделать параллельное выполнение инструкций внутри скрипта. Вот тут почитайте: http://www.lua.ru/doc/2.11.html - документация http://wiki.roblox.com/index.php/Beginn ... Coroutines - гайд с примерами Link to comment
Memory Posted November 25, 2013 Share Posted November 25, 2013 Про sandboxie. Спасибо, только ошибка выдаётся Link to comment
kino Posted November 25, 2013 Share Posted November 25, 2013 Про sandboxie. Спасибо, только ошибка выдаётся я использую wine для эмуляции но в данном могу предположить что sandbox криво встал ибо мта не может подгрузить шрифт нажмите ок для открытия страницы помощи. Всегда ваш К.О! Link to comment
Memory Posted November 25, 2013 Share Posted November 25, 2013 Всё, заработало, помогла переустановка на другую версию. Link to comment
Kenix Posted November 25, 2013 Share Posted November 25, 2013 Sandboxie в помощь Только не забудьте отрубить античит, потому что будет кикать. Не будет. Недавно проверял. Link to comment
gostop2 Posted November 25, 2013 Share Posted November 25, 2013 Здравствуйте. Столкнулся с необходимостью перемещения камеры, но никак не могу понять какой функцией это можно реализовать. Подскажите пожалуйста как это можно сделать. Link to comment
SomniumAquila Posted November 30, 2013 Share Posted November 30, 2013 Добрый вечер. Делаю босса для зомби сервера. Как дать педу много хп? К примеру 25.000 ? Заранее спасибо! Link to comment
Kenix Posted December 2, 2013 Share Posted December 2, 2013 Добрый вечер. Делаю босса для зомби сервера. Как дать педу много хп? К примеру 25.000 ? Заранее спасибо! https://forum.multitheftauto.com/viewtopic.php?f=141&t=68003 тебе ответили на вопрос Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now