Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.
GTAONLINE.PL
Tematy otagowane jako: settimer
1. Blokowanie/stopowanie funkcji setTimer
Witam, chcia?bym aby po up?ywie 120 sek Funkcja setTimer poprostu tak jakby si? zatrzymywa?a albo co? w ten dese?. Chcia?bym tak zrobi? aby by?o to bardziej optymalne. Ch?tnie te? poczytam jak to lepiej napisa? ;)

    function ZablokujRespPracy(timer,element)
outputChatBox(timer,element)
    
setElementData (element"player:time_work"timer)
    
        
setTimer(function()
        
local getData tonumber(getElementData (element"player:time_work")) or 0
            
if getElementData(element"player:time_work") < 1 then return end
                
if getData then
                    setElementData 
(element"player:time_work"getData-1)
                
end
            end
10000)

end


[ Dodano: 2020-12-22, 01:59 ]
Nie wa?ne ju? to wy?ej ale teraz jest problem ?e jak gracz wyjdzie z serwera wywala taki b??d

Kod:

WARNING: [Prace]/Praca_core/s.lua:155: Bad argument @ 'getElementData' [Expected element at argument 1] [DUP x5]


[ Dodano: 2020-12-22, 02:00 ]
155 linijka
local getData getElementData(element"player:time_work") or 0
2. SetTimer - wykonywanie się funkcji
Witam!

U?ywam w skrypcie funkcji SetTimer i pomimo ustawionego interwa?u na powiedzmy 5000 ms, funkcja wykonuje si? po czasie d?u?szym ni? zadeklarowany (czasem po 10 sekundach, czasem po 2 minutach) a czasem nawet nie wykonuje si? wcale. Czy spotka? si? kto? w swojej "karierze" programisty aby funkcja "SetTimer" tak "lagowa?a" podczas gry?

My?la?em, ?e mo?e jest to kwestia gamemoda (nawalone timer?w) lecz to nie to - za?adowa?em skrypt na chyba najczystszej mapie jaka tylko mo?e by? ("grandlarc") i efekt jest dok?adnie taki sam.

Aby znale?? problem kt?ra funkcja konkretnie nie dzia?a pos?u?y?em si? wysy?aniem log?w na czat z poszczeg?lnych callback?w, ewidentnie funkcja SetTimer ma "laga".

Pr?bowa?em stawia? serwer na innym sprz?cie - objawy identyczne.

Czy kto? mia? kiedy? podobny problem?

Pozdrawiam :)
3. setTimer zależny od kwoty
witam mam pytanie jak ustawi? setTimer aby liczy? minuty zale?y jaka kwota b?dzie do zap?aty w warsztacie ?
4. Wsadzenie setTimer ?
WItam jak u?y? tutaj setTimer aby auto da?o si? spawni? co 5 sekund.




addEvent
("event"true)
addEventHandler("event"root, function(plrveh)
    if 
not veh then return end
    local x
ygetElementPosition plr )
    if 
getElementData(source,"created:Vehicle"then 
        destroyElement
(getElementData(source"created:Vehicle"))
    
end
    pojazd 
createVehicle(getVehicleModelFromName(veh),  x+2yz)
    
setElementData(source"created:Vehicle"pojazd)
end

addEventHandler("onPlayerQuit"root, function() 
    if 
getElementData(source"created:Vehicle"then 
        destroyElement
(getElementData(source"created:Vehicle"))
    
end
end



5. setTimer
Wie kto? mo?e czemu nie chce dzia?a? setTimer na ko?cu?

[code]addEventHandler("onClientRender", root, function()
local x_1, y_1 = getCenter(1920,1080)
local hajs = getPlayerMoney(localPlayer)
local ping = getPlayerPing(localPlayer)
local health = getElementHealth(localPlayer)
if getElementData(localPlayer,"notshowhud") then return end
if not getElementData(localPlayer,"player:logged") then return end
dxDrawImage(x_1, y_1, 1920/zoom, 1080/zoom, texture_background, 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawImage(x_1, y_1, 1920/zoom, 1080/zoom, texture_s0, 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawText("#e4e4e4"..przecinek(hajs).." #00cc00$", sx-352/zoom, sy-1800/zoom, 1710/zoom, 925/zoom, tocolor(255, 255, 255, 255), 0.9, LOTTUS.FONCIK[2], "center", "center", false, false, true, true, false)
dxDrawText("#e4e4e4"..math.floor(health).." #e60000HP", sx-493/zoom, sy-1865/zoom, 1710/zoom, 925/zoom, tocolor(255, 255, 255, 255), 0.65, LOTTUS.FONCIK[2], "center", "center", false, false, true, true, false)
dxDrawText("#e4e4e4"..math.floor(ping).." #0066ffPING", sx-282/zoom, sy-1865/zoom, 1710/zoom, 925/zoom, tocolor(255, 255, 255, 255), 0.65, LOTTUS.FONCIK[2], "center", "center", false, false, ...
6. settimer okreslenie czasu
Siema, mam malutki problem z funkcj? setTimer, a dok?adnie skrypt powinien dawa? got?weczk? co 1min i 0,5min, ale daje tak jakby losowo albo po d?u?szym czasie... Mo?e mi kto? to wyja?ni? jak ustawi? aby dawa?o co 30 minut or 15 min

[lua]setTimer(function()
local players=getElementsByType('player')
for _, p in pairs(players) do
if getElementData(p, "player:online") and tonumber(getElementData(p, "player:online")) > 20 then
if getElementData(p, "player:online") == 20 then
local hour = getElementData(localPlayer,"player:hours") or 0
setElementData(localPlayer,"player:hours",hour+1)
end
setElementData(p, "player:online", 0)
if getElementData(p, "player:premium") then
local rp = math.random(1,5)
local rp2 = getElementData(g, "player:srp")
setElementData(g, "player:srp", rp+rp2)
triggerEvent("givePlayerMoney", p, 2500, false)
outputChatBox("* [PREMIUM] Otrzymujesz 2 500 PLN i "..rp.." za 30 minut gry!", p)
end
end
end
end, 60000, 0)

setTimer(function()
local players=getElementsByType('player')
for _, p in pairs(players) do
if getElementData(p, "player:online") and tonumber(getElementData(p, "player:online")) > 20 then
if getElementData(p, "player:online") == 20 then
local hour = getElementData(localPlayer,"player:hou...
7. W jaki sposób używać setTimer
przychodz? z zapytaniem w jaki spos?b za??czy? setTimer na okre?lon? funkcje b?d? linijke. Nie mam poj?cia w jaki spos?b to wykona?, bardzo przyda?a by mi si? taka wiedza.
8. setElementData i SetTimer
witam w db3 mi nic si? nie pokazuje, czyli jest dobrze no nie bo mi si? nie zwi?ksza
c-side

fuckYouMonter 
dxCreateFont("textury/tak.ttf"14)

   function 
pomagamySamraytan(el)
if 
el ~= localPlayer then 
Timer 
getElementData(el"czasPrzesylki") or 0
        dxDrawText
("Tw?j czas: "..Timer..""6744931260557tocolor(000255), 1.00fuckYouMonter"left""top"truefalsefalsefalsefalse)
end
    end

         addEventHandler
("onClientRender",root,pomagamySamraytan)
         
triggerServerEvent("zapiszToCzas"localPlayerlocalPlayer)

((Wszystko dzia?a pokazuje DxDrawText tylko wskazuje ciagle 0))

s-side

addEvent
("zapiszToCzas"true)
addEventHandler("zapiszToCzas"getRootElement(), function(el)
if 
not getElementType(el) ~= "player" then return end
        setTimer
(function(el)
czas getElementData(el"czasPrzesylki") or 0
setElementData
(el"czasPrzesylki"czas+1)
end1000)
end)

"Nie nalicza si? ten 1 czy nawet 2 itp"
Pomocy to wszystko sam napisa?em i nie wiem gdzie le?y b??d
9. setTimer
Hej, wiecie moze co zrobic, zeby mozna bylo uzyc tej komendy tylko raz na dzien lub raz na 24h? Z gory dzieki.
Kod:

local 
function opoznienie()
        
outputChatBox("Mam, znalaz?em dla Ciebie skrzynke pelna skarbow! Wbij jutro ponownie, napewno cos dla Ciebie przygotuje..."0128128source)
end

local 
function dilej()
        
outputChatBox("Skrzynka z wynagrodzeniem za codzienne logowanie zostala otwarta!"02550source)
end

local 
function dziennyKesz()
    
outputChatBox("Przygotowuje skrzynke dla Ciebie...!"2550255source)
    
local dzwiekNaWpisanieCmd playSound("https://s107.123apps.com/aconv/d/s107sgUnsLE1.mp3"source)
    
setSoundVolume(dzwiekNaWpisanieCmd1)
    
setTimer(function() destroyElement(dzwiekNaWpisanieCmdend67001)
    
givePlayerMoney(16500source)

    
setTimer(opoznienie25001)
    
setTimer(dilej35001)
end
addCommandHandler
("odbierzskrzynke"dziennyKesz)

Dam piwko i respekt!
10. SetTimer jak ustawic?
[lua]bindKey("mouse1", "down", function()
if not getElementData(localPlayer, "gui:listonosz") or getElementData(localPlayer, "gui:listonosz") ~= true then return end
if isMouseIn(404*px, 447*py, 227*px, 38*py) then
zrobione = 0
triggerServerEvent("create:listonosz", localPlayer)
showCursor(false)
setElementData(localPlayer, "gui:listonosz", nil)
setElementData(localPlayer, "praca", "listonosz")
for i,v in ipairs(punktyListonosza) do
local markerList = createMarker(v[1], v[2], v[3]-1, "cylinder", 1, 29, 10 ,100)
local blipList = createBlipAttachedTo(markerList, 41)
addEventHandler("onClientMarkerHit", markerList, function(hit)
--setPedAnimation(localPlayer,"COP_AMBIENT", "Copbrowse_nod", -1, true, false )
triggerServerEvent("anim", localPlayer, true)
if hit ~= localPlayer then return end
if isPedInVehicle(localPlayer) then outputChatBox("Nie moĹĽesz siedzie?‡ w pojeĹşdzie!", 255, 0, 0) return end
zrobione = zrobione+1
destroyElement(source)
destroyElement(blipList)
outputChatBox("Odniesiono list do skrzynki, wykonano: "..tostring(zrobione).."/3")
setElementFrozen(veh, true)
setTimer ( function()
end, 5000, 1 )
...
11. setTimer
Witam,mam taki problem ?e chcia?bym zrobi? ?e po wej?ciu w marker daje freeza na czas okre?lony.Pr?bowa?em w taki spos?b:
setTimer(function(plr)
    if 
isElementWithinMarker(markerthen
        setElementFrozen
(plr,true)
    
end
end
,  500,  1)

Ale to nie zadzia?a?o
Za pomoc daje :piwo:
12. Niedziałający setTimer
Witam ot?? mam problem z timerem ciagle wywala b?ad w db3 table index is nill, gdy mam setTimer a jak dam addCommandHandler to wszystko dziala. Za pomoc stawiam Zimne Piwerko

Kod:
local sprawdzenie = {}
function 
dodaj(element)
    
local ranga exports.ddsysgrup:getPlayerGroup(element)
    if 
ranga == "Siema" then
        outputChatBox
("dziala"element)
        
sprawdzenie[element] = 1
    
else
        
sprawdzenie[element] = 0
    end
end
setTimer
(dodaj50000)
13. setTimer stara funkcja
cze??, mam ma?y b??d gdy? po uruchomioniu skryptu kt?ry pobra?em (system bot?w) to w db3 spami du?? ilo?ci? b??d?w kt?re brzmi?:
Expected positive value, got negative. This warning may be an error in future versions.

Line: 85
Kod z tej linijki

self
.idleTimer setTimer(function() self:NewIdlePos() endmath.random(900011000), -1)
14. setTimer
Witam,jestem bardzo zielony w lua,mam do was pytanie,mo?e dla was oczywiste,wyjasni mi ktos jak dodac timer do komendy np na czat dla vipow ? /p (premium-cmd na czat) zeby spamu nie by?o,chce ustawic wiadomosc co 15s na osobe ;C pomoze ktos? stawiam zimnego/pozdrawiam
15. GivePlayerWeapon - SetTimer
Cze?? wszystkim, chcia?bym prosi? o pomoc, przyk?ad.. :)

Chcia?bym stworzy? funkcj?, kt?ra b?dzie dzia?a?a na zasadzie, gdy osoba sama sobie doda bro?, albo dostanie w jakim? czasie, to zostaje wyrzucona z serwera...

Przyk?adowo gracz sobie dodaje M4 w ci?gu sekundy i go wywala z serwera ;d
Nie wiem, czy takie co? jest mo?liwe, ale mo?e kto? co? poradzi, rzucam pifkami i respektem ^^
16. poprawne umieszczenie setTimer
mam straszne problemy z umieszczeniem timera do komendy tepania na spawn, oczywiscie chodzi o to ze piszemy komende i po jakims czasie zostajemy przeteleportowani, ale ni cholery nie wiem jak go umiescic

Kod:

function TpToSpawn ( thePlayer )
setElementPosition (thePlayer, -202, -221, 1.421)
end
addCommandHandler ("spawn", TpToSpawn)
17. setTimer
Witam. Czy kto? m?g?by mi wyt?umaczy? jak poprawnie uzupe?ni? t? funkcje? Wiki nie pomaga :( . Bardzo prosz? o wyrozumia?o??.
18. setTimer
Witam mam problem bo chcialbym zeby ponizsza funkcja wykonywala sie z opoznieniem 5 sekund.Czyli po wybuchnieciu auta za 5 sekund ono zniknie.Probowalem takie cos zrobic ale nie dziala.
Kod:


function wybuch ()
destroyElement(source)
end
addEventHandler("onVehicleExplode", root,wybuch)
setTimer ( wybuch, 5000, 1)



:piwo: w nagrode
19. setTimer uzyty na dxDrawText
Witam, jak u?y? setTimera tak aby dxDrawText wy?wietla? si? nie ca?y czas tylko na 5 sekund?




W nagrode :piwo:
20. setTimer
Jak pobra? argument gracza z funkcji setTimer.
Kod server:
function aaaa ()
    
outputChatBox"text"argument)
end
setTimer 
aaaa1000*5)


Dok?adnie chodzi mi o ten argument jaki tam wstawi?.

Prosz? o pomoc, za pomoc lec? zimne piwa.
21. SetTimer, blokowanie funkcji
Witam, mam pro?b? ot?? przerobi?em sobie pewien skrypt na suszark? z community i wszystko dzia?a, ale chcia?bym tam doda? timer na 15 sekund od zmierzenia predkosci. Chodzi o to, ?e po wystawieniu mandatu trzeba czeka? 15 sekund a? zrobi si? kolejny(aby nie bugowali kasy)

Kod:
Ze wzgl?du na to, ?e nie chc? aby kto? sobie zgapi? kod poka?? tylko wymagan? ko?c?wk? (je?li do timera potrzeba ca?y kod to m?w)
Kod:

if speed > 60 then
outputChatBox ( "Zarejestrowa?e? gracza kt?ry przekroczy? pr?dko??, jego predkosc to "..speed.." km/h i otrzymales 15$", source, 255, 0, 0, true )
givePlayerMoney(source, 15)
takePlayerMoney(target, 20)
end
end
end
end
end
addEventHandler ( "onPlayerTarget", root, checkSpeed )
22. setTimer usuwa tylko raz i nie działa teleport
Witam. Mam taki problem, ot?? przerabia?em m?j stary system respektu na system g?odu i natrafi?em na problem. Gdy odpal? skrypt to jest dobrze bo usuwa 1 punkt w minut?, ale drugi raz ju? nie usunie. po 100 ustawia na 99 i dalej ju? si? nie ruszy. Wiecie o co chodzi? Przecie? setTimer jest ustawiony na niesko?czono?? razy :)

[lua]function dxDraw()
dxDrawText("G??d:", 0, 335, 131, 385, tocolor(0, 255, 137, 255), 1.50, "pricedown", "left", "top", false, false, false, false, false)
dxDrawText(getElementData(localPlayer, "Respekt") or 0, 148, 335, 261, 378, tocolor(255, 43, 43, 255), 1.50, "pricedown", "left", "top", false, false, false, false, false)
end
addEventHandler("onClientRender", root, dxDraw)


local player = getLocalPlayer ()
local data = getElementData(player, "Respekt") or 100
function resp_minuta ()
setElementData (player, "Respekt", data - 1)
end
setTimer (resp_minuta, 60*1000, 0)

function sprawdz_poziom_glodu ()
glod = getElementData (player, "Respekt")
if glod == 0 then
killPlayer (player)
outputChatBox ("* Umar?e? z g?odu! Trzeba by?o co? zje??!", 255, 0, 0)
elseif glod == 10 then
outputChatBox ("Powoli robisz si? g?odny. Znajd? co? do jedzenia!")
end
end
setTimer (sprawdz_poziom_glodu, 60*1000, 0)[/lua]


...
23. Randomowy SetTimer
Czesc mam pytanko czy da sie zrobic randomowego settimera ? a jesli tak to czy podalibyscie kod bo probuje zrobic skrypt na rozwiazane sznurowki. skrypt ma dzialac tak ze randomowo od 2-20minut rozwiazuja sie sznurowki i nie mozna biegac. Aby zawiazac trzeba kliknac e ;) i odpala sie animacja. Tylko jak dac ten randomowy timer? za pomoc :piwo: :piwo: :piwo:
24. setTimer
witam mam problem poniewa? nie wiem jak zrobi? tak ?eby co 5 minut odejmowa?o warto?? 1 z ElementDaty(ka?demu graczowi na serwerze) chyba ze kto? ma 0 to nie odejmuje.

pr?bowa?em tak ale nie dzia?a


function trzezwienie()
    
local data getElementData(source"alko")
    
setElementData(getRootElement(), "alko"data 1)
end
setTimer
(trzezwienie60000*50)


za pomoc :piwo:
25. [INNE] forward i Settimer
Witam !
Posiadam taki forward:

Kod:

forward wezglod();
public wezglod()
{
for(new i=0;i<MAX_PLAYERS;i++) {
if(!IsPlayerConnected(i)) continue;
new playerid;
Gracz[i][glod] = Gracz[i][glod] - 2;
Gracz[i][zmeczenie] = Gracz[i][zmeczenie] - 1;


new ss[10];
new s2[10];
format(ss, sizeof(ss), "%d", Gracz[i][glod]);
format(s2, sizeof(s2), "%d", Gracz[i][zmeczenie]);
TextDrawSetString(Glodz[i][0], ss);
TextDrawSetString(Glodz[i][1], s2);

if(Gracz[i][glod] <= 0)
{
SetPlayerHealth(i, 0);
}
if(Gracz[i][zmeczenie] <= 5)
{
SetPlayerDrunkLevel(i, 50000);
}
/*if(Gracz[i][zmeczenie] >= 6)
{
SetPlayerDrunkLevel(i, 0);
}*/
if(Gracz[i][zmeczenie] > 100)
{
Gracz[i][zmeczenie] = 99;
}
if(Gracz[i][glod] > 100)
{
Gracz[i][glod] = 100;
}
}
return 1;
}


Z takim timerem:

Kod:

SetTimer("wezglod", 60000, true);


No i dziala, lecz jest problem poniewa? zawsze na start ustawia g?od na 0 i zmeczenie, poniewaz mam zapis dini na playerid, a wczytuje z [i]. Zapis:

Kod:

dini_IntSet(string, "glod", Gracz[playerid][glod]);
dini_IntSet(string, "zmeczenie", Gracz[playerid][zmeczenie]);


Dlatego zamiast wczytywac z kont to na 0 ustawia, macie jakis pomysl jak to poprawic ? :C

Dla kazdego posta piwo ! Z gory dzieki !

Pozdrawiam !
26. [INNE] SetTimer dziala tylko dla id 0
Witam!

Nie dziala timer dla zmniejszania glodu dla gracza powyzej id 0, tylko dla id 0 dziala. Czytalem mnostwo tematow, ale zaden mi nie pomogl, dlatego pisze tutaj.

Posiadam timer w "OnGameModeInit":

Kod:

SetTimer("wezglod", 10000, true);


Oraz funkcje:

Kod:

forward wezglod(playerid);
public wezglod(playerid)
{
Gracz[playerid][glod] = Gracz[playerid][glod] - 2;
Gracz[playerid][zmeczenie] = Gracz[playerid][zmeczenie] - 1;
return 1;

}


Po zmianie timera na:

Kod:

SetTimerEx("wezglod", 10000, true, "i", playerid);


Wyrzuca blad ze nie ma zdefinowanego playerid. Wrzucilem timer do "OnPlayerConnect". Ju? nie wyrzuca warningow przy konwertowaniu, lecz nadal nie zabiera zarcia, tylko dla id 0. Macie pomysl jak to naprawic ?

Dla kazdego stawiam piwka !

Z gory dzieki
27. SetTimer
Witam. Jak zrobi? tutaj setTimer, a mianowicie chodzi o to, ?e jak zostanie funkcja w??czona przez komend? :


function burzaJeden ()
createObject (8461098.60974, -2341.6723611.70432)
setWeather (8)
end
addCommandHandler
("burza1"burzaJeden)


To potem od razu rozpocznie si? odliczanie do tego:


setWeather 
(10)


Za pomoc :piwo: :piwo:
28. setTimer po wejściu na serwer
Witam. To Znowu ja. Prosz? o pomoc chce zrobi? skrypt kt?ry po jakim? tam czasie po wej?ciu na serwer wykonuje dan? mu funkcje. Wygl?da?o by to Tak: Gracz W chodzi na serwer i po ilu? sekundach po logowaniu daje mu np. Bronie. Bardzo mi zale?y na op??nieniu funkcji.
29. setTimer aktywowany buttonem
Cze??, pracuj? nad jednym skryptem jednak mam problem, chcia?em aby po naci?ni?ciu gui buttona uruchamia? si? timer oraz progressbar, jednak ten nie chce ruszy?, kiedy pytam si? go ile ju? min??o uwa?a, ?e wcale go nie aktywowa?em.




Pomo?ecie? Dzi?ki.
30. [GF] SetTimer w TextDraw
Kod:

CMD:kick(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return 1;

new Id, Powod[128];
if(sscanf(params, "ds[128]", Id, Powod))
{
SendClientMessage(playerid, -1, "Wpisz: /kick [id] [pow?d]");
return 1;
}

if(!IsPlayerConnected(Id))
{
SendClientMessage(playerid, -1, "Nie ma takiego gracza.");
return 1;
}

new AdminName[MAX_PLAYER_NAME], String[128];
GetPlayerName(playerid, AdminName, MAX_PLAYER_NAME);

format(String, 128, "~r~Gracz ~w~%s ~r~zostal wyrzucony~n~Nadal: ~w~%s~n~~r~Powod kicka: ~w~%s",PlayerName(Id), AdminName, Powod);
TextDrawSetString(TDKick, String);

Kick(Id);
return 1;
}


Witam, mam komende kick z text drawem i chc? aby wy?wietla?a si? 5 sek po nadaniu kary dla wszystkich. Text draw jest ju? ca?kiem gotowy, jednak problem tkwi w set Timerze, poniewa? kiedy go ustawiam nic si? nie wy?wietla. Mo?ecie mi pom?c?