Jump to content

Как поставить таймер?


Recommended Posts

Я не понимаю!

-- 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
-- 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

Допустим есть одна зона. Создать глобальную переменную, в которую будем помещать таймер. Когда кто-то заходит внутрь зоны (т.е. срабатывает onColShapeHit), проверяем, не захватывает ли ее уже кто-нибудь с помощью isTimer( наш_таймер ). Если не захватывается (false), то загоняем в нее таймер, который вызовет функцию, отвечающую за окончание захвата. Если уже захватывается, то ничего не делаем.

setTimer( captureSuccess, 60000, 1 ) --через одну минуту вызовется captureSuccess 

.

Ну примерно такая вот логика рассуждений...

Link to comment
Допустим есть одна зона. Создать глобальную переменную, в которую будем помещать таймер. Когда кто-то заходит внутрь зоны (т.е. срабатывает 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 и в таймерах:D:(

Link to comment
Не,Я тоже могу тупо ссылки кидать!

Тебе всё показали, тебе почти доделали его, ты уже требуешь чтобы полностью сделали за тебя скрипт, флудишь во всех темах как я не раз говорил, этот раздел "помощь" а не "сделай мне" , ссылки ты кидать не можешь, так как не юзаешь вики

нужно учиться, а не ждать чего-то от кого-то, и сделать самому

Link to comment
Не,Я тоже могу тупо ссылки кидать!

Тебе всё показали, тебе почти доделали его, ты уже требуешь чтобы полностью сделали за тебя скрипт, флудишь во всех темах как я не раз говорил, этот раздел "помощь" а не "сделай мне" , ссылки ты кидать не можешь, так как не юзаешь вики

нужно учиться, а не ждать чего-то от кого-то, и сделать самому

Слушай,Я просто в таймерах не разбираюсь,скинь мне ещё 3 темы где Я просил "сделать код за меня".

Link to comment
Не силён в if else и в таймерах:D:(

Т.е. вы не сильны в логике? if else и т.д. это условные операторы без которых никуда. Они есть в любом языке. MX_Master уже сотни раз говорил и я повторю: Сначала изучите Lua, а только потом лезте МТА. Не на оборот!

Если вы не можете составить условную конструкцию - так и будете мучиться дальше.

Не можете составить логическую цепочку - не быть программистом.

Вы когда идёте в туалет или на кухню чаю налить, выполняете там какие-то условия? Ведь чтобы (извиняюсь за бедность речи) посрать нужно снять штаны? Чтобы налить чай нужно достать кружку? Или вскипятить воду.

Если ( вода в чайнике горячая ) Тогда 
   кружка = получитьБлижайшуюКружку() 
   налитьВодыВКружку( кружка ) 
Иначе 
   Идём спать() 
Конец 

(Понятное дело что в программировании надо сначала получить объект чайника, потом получить температуру воды в нём и сравнить с градусами)

В Lua, таймер создаётся функцией setTimer, она вызывает указанную функцию через какое-то время, там где троеточие - туда указываете какие аргументы передать в функцию которую будет вызывать таймер.

Вам просто нужно понять программирование как жизнь, там всё точно также, все действия поддаются каким-то условиям, какой-то логике.

Link to comment
  • Other Languages Moderators

Если ( вода в чайнике горячая ) Тогда 
   кружка = получитьБлижайшуюКружку() 
   налитьВодыВКружку( кружка ) 
Иначе 
   Идём спать() 
Конец 

1С программирование?

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...