Vladimir5 Posted January 7, 2012 Share Posted January 7, 2012 Смотрите,как поставить таймер,например ты вошёл в зону,и поставился таймер на 2 минуты,после этих двух минут игроку даются деньги. ? Link to comment
StUNt71 Posted January 7, 2012 Share Posted January 7, 2012 timer setTimer(function theFunction, int timeInterval, int timesToExecute, [ var arguments... ]) Link to comment
Vladimir5 Posted January 7, 2012 Author Share Posted January 7, 2012 Я видел это в вики.Но var arguments это типо Dimesionmatching и др? Link to comment
MX_Master Posted January 7, 2012 Share Posted January 7, 2012 любое кол-во аргументов означает Link to comment
Vladimir5 Posted January 7, 2012 Author Share Posted January 7, 2012 любое кол-во аргументов означает Тоесть можно поставить 1 или 2 или 3? Link to comment
DakiLLa Posted January 7, 2012 Share Posted January 7, 2012 Сколько вызываемая функция требует аргументов, столько и нужно ставить. Link to comment
Vladimir5 Posted January 7, 2012 Author Share Posted January 7, 2012 Я не понимаю! -- add hill_Enter as a handler for when a player enters the hill area function hill_Enter ( thePlayer, matchingDimension ) if (getElementType(thePlayer) == "player") then outputChatBox( getPlayerName(thePlayer) .. " Начал захватывать зону!!", getRootElement(), 255, 255, 109 ) setRadarAreaFlashing ( hillRadar, true ) givePlayerMoney ( thePlayer, 1000 ) end end addEventHandler ( "onColShapeHit", hillArea, hill_Enter ) Вот Я добавил зону! И когда входишь тебе даётся 1000 .А как сделать что бы когда ты входишь начался отсчёт таймера.и в конце тебе давали 1000? Link to comment
_Vincent_ Posted January 7, 2012 Share Posted January 7, 2012 setTimer(function hill_Enter, время-в-миллисекундах, 0) Link to comment
Vladimir5 Posted January 7, 2012 Author Share Posted January 7, 2012 -- add hill_Enter as a handler for when a player enters the hill area function hill_Enter ( thePlayer, matchingDimension ) if (getElementType(thePlayer) == "player") then outputChatBox( getPlayerName(thePlayer) .. " Начал захватывать зону!!", getRootElement(), 255, 255, 109 ) setRadarAreaFlashing ( hillRadar, true ) setTimer(function hill_Enter,50000, 0) givePlayerMoney ( thePlayer, 1000 ) end end addEventHandler ( "onColShapeHit", hillArea, hill_Enter ) Tак? Link to comment
DakiLLa Posted January 7, 2012 Share Posted January 7, 2012 Допустим есть одна зона. Создать глобальную переменную, в которую будем помещать таймер. Когда кто-то заходит внутрь зоны (т.е. срабатывает onColShapeHit), проверяем, не захватывает ли ее уже кто-нибудь с помощью isTimer( наш_таймер ). Если не захватывается (false), то загоняем в нее таймер, который вызовет функцию, отвечающую за окончание захвата. Если уже захватывается, то ничего не делаем. setTimer( captureSuccess, 60000, 1 ) --через одну минуту вызовется captureSuccess . Ну примерно такая вот логика рассуждений... Link to comment
Vladimir5 Posted January 7, 2012 Author Share Posted January 7, 2012 Допустим есть одна зона. Создать глобальную переменную, в которую будем помещать таймер. Когда кто-то заходит внутрь зоны (т.е. срабатывает onColShapeHit), проверяем, не захватывает ли ее уже кто-нибудь с помощью isTimer( наш_таймер ). Если не захватывается (false), то загоняем в нее таймер, который вызовет функцию, отвечающую за окончание захвата. Если уже захватывается, то ничего не делаем. setTimer( captureSuccess, 60000, 1 ) --через одну минуту вызовется captureSuccess . Ну примерно такая вот логика рассуждений... А captureSuccess Эт чо?. Ща попробую function hill_Enter ( thePlayer, matchingDimension ) if (getElementType(thePlayer) == "player") then outputChatBox( getPlayerName(thePlayer) .. " Начал захватывать зону!!", getRootElement(), 255, 255, 109 ) setRadarAreaFlashing ( hillRadar, true ) end end addEventHandler ( "onColShapeHit", hillArea, hill_Enter ) [lua]function hill_enter turf () if isTimer(hill_enter[source]) then cancelEvent() else setTimer(function hill_Enter, 50000, 0) [/lua] Что то вроде этого? Не силён в if else и в таймерах Link to comment
Kenix Posted January 8, 2012 Share Posted January 8, 2012 Прочти эту тему ещё раз: viewtopic.php?f=141&t=32458 Link to comment
Vladimir5 Posted January 8, 2012 Author Share Posted January 8, 2012 Не,Я тоже могу тупо ссылки кидать! Link to comment
TwiX! Posted January 8, 2012 Share Posted January 8, 2012 Не,Я тоже могу тупо ссылки кидать! Тебе всё показали, тебе почти доделали его, ты уже требуешь чтобы полностью сделали за тебя скрипт, флудишь во всех темах как я не раз говорил, этот раздел "помощь" а не "сделай мне" , ссылки ты кидать не можешь, так как не юзаешь вики нужно учиться, а не ждать чего-то от кого-то, и сделать самому Link to comment
Vladimir5 Posted January 8, 2012 Author Share Posted January 8, 2012 Не,Я тоже могу тупо ссылки кидать! Тебе всё показали, тебе почти доделали его, ты уже требуешь чтобы полностью сделали за тебя скрипт, флудишь во всех темах как я не раз говорил, этот раздел "помощь" а не "сделай мне" , ссылки ты кидать не можешь, так как не юзаешь вики нужно учиться, а не ждать чего-то от кого-то, и сделать самому Слушай,Я просто в таймерах не разбираюсь,скинь мне ещё 3 темы где Я просил "сделать код за меня". Link to comment
TwiX! Posted January 8, 2012 Share Posted January 8, 2012 https://forum.multitheftauto.com/viewtopic.php?f=142&t=38609&p=396747#p396747 и т.д Link to comment
Vladimir5 Posted January 8, 2012 Author Share Posted January 8, 2012 Если что-евенты или функции это не делать код за меня... Вот функция: createRadarArea(или что то подобное) Link to comment
Kernell Posted January 10, 2012 Share Posted January 10, 2012 Не силён в if else и в таймерах Т.е. вы не сильны в логике? if else и т.д. это условные операторы без которых никуда. Они есть в любом языке. MX_Master уже сотни раз говорил и я повторю: Сначала изучите Lua, а только потом лезте МТА. Не на оборот! Если вы не можете составить условную конструкцию - так и будете мучиться дальше. Не можете составить логическую цепочку - не быть программистом. Вы когда идёте в туалет или на кухню чаю налить, выполняете там какие-то условия? Ведь чтобы (извиняюсь за бедность речи) посрать нужно снять штаны? Чтобы налить чай нужно достать кружку? Или вскипятить воду. Если ( вода в чайнике горячая ) Тогда кружка = получитьБлижайшуюКружку() налитьВодыВКружку( кружка ) Иначе Идём спать() Конец (Понятное дело что в программировании надо сначала получить объект чайника, потом получить температуру воды в нём и сравнить с градусами) В Lua, таймер создаётся функцией setTimer, она вызывает указанную функцию через какое-то время, там где троеточие - туда указываете какие аргументы передать в функцию которую будет вызывать таймер. Вам просто нужно понять программирование как жизнь, там всё точно также, все действия поддаются каким-то условиям, какой-то логике. Link to comment
Other Languages Moderators Disinterpreter Posted January 11, 2012 Other Languages Moderators Share Posted January 11, 2012 Если ( вода в чайнике горячая ) Тогда кружка = получитьБлижайшуюКружку() налитьВодыВКружку( кружка ) Иначе Идём спать() Конец 1С программирование? Link to comment
Vladimir5 Posted January 12, 2012 Author Share Posted January 12, 2012 Вы забыли получить ближайшую кружку МЫТУЮ! 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