Cze??, timer nie wykonuje przypisanej funkcji gdy gracz kt?ry go wywo?a? wyjdzie z serwera, zanim sko?czy si? odliczanie. Dodam tylko, ?e dzieje si? to po stronie serwera. Gdy gracz nie wychodzi z serwera wszystko dzia?a poprawnie.
Witam chcia?bym zrobi? marker w kt?ry jak wejdzie jaki? gracz nak?ada si? na niego timer i i nie mo?e wej?? na niego nikt przez np. 30s. Kto? kto ogarnia m?g?by mnie nakierowa? jak to zrobi? bo si? m?cz? ale nie daje rady.
Siemka spotka?em si? z do?? nietypowa spraw? bo pierwszy raz co? takiego mam, zaczne od tego ze to jest w 2 roznych kodach, mianowicie:
Kod przecho ma binda na backspace: (cside)
[lua]
function toggleParkingGui()
local self = cParkingsystem
if not self.settings.visibleGui then return end
self.settings.visibleGui = false
removeEventHandler('onClientRender',root,self.renderFunc)
showChat(true)
showCursor(false)
end
bindKey('Backspace','down',toggleParkingGui)
[/lua]
Po stronie CSIDE, w kodzie salon?w tez mam binda na Backspace lecz tam jest timer ktory sie aktywuje w gui przecho XD nie wiem czym to jest spowodowane pr?bowalem sie bawic timerem i nie potrafie sobie z tym poradzi?:
[lua]
function toggleGui()
local self = cCardealer
if self.settings.visibleGui then
self.settings.visibleGui = false
fadeCamera(false)
smoothTeleport()
setTimer(function()
setCameraTarget(localPlayer)
setElementAlpha(localPlayer,255)
setElementDimension(localPlayer,0)
setElementPosition(localPlayer,1590.87, -1257.22, 277.88)
setElementData(localPlayer, 'hide:hud',false)
showChat(true)
removeEventHandler('onClientRender',root,self.renderFunc)
if isElement(self.respawnedCar) then destroyElement(self.respawnedCar) end
if isTimer(self.settings.rotTimer) then killTimer(self.settings.rotTimer) end
end,1000,1)
else
self.settings.visibleGui = true
end
end
...
function cv(plr, cmd, ...)
if getElementData(plr,"player:admin") ~= true then return end
if getElementData(plr, "player:level") == 4 or 3 then
if (not ...) then
outputChatBox("#FF0000* #FFFFFFPoprawne u?ycie: /cv <model>", plr,0,0,0,true)
return
end
local model = table.concat ( { ... }, " " )
if tonumber(model) ~= nil then
outputChatBox("#FF0000* #FFFFFFWpisz model a nie ID!", plr,0,0,0,true)
return end
local model = model:lower()
if zablokowane[model] then
outputChatBox("#FF0000* #FFFFFFTen pojazd jest zablokowany!", plr,0,0,0,true)
return end
local dim = getElementDimension(plr)
local int = getElementInterior(plr)
local x,y,z = getElementPosition(plr)
local r1,r2,r3 = getElementRotation(plr)
local model = getVehicleModelFromName(model)
if not model then outputChatBox("#FF0000* #FFFFFFNie ma takiego pojazdu!", plr,0,0,0,true) return end
local vehicle = getPedOccupiedVehicle(plr)
if getPedOccupiedVehicle(plr) then
outputChatBox("#FF0000* #FFFFFFNajpierw wysi?d? z pojazdu!", plr,0,0,0,true)
else
pojazd = ...
Siemka, podpowiecie czego u?y?, aby napisa? skrypt
kt?ry co sekunde wy?wietla wiadomo?? na czasie? ma to trwa? 60 sekund. pr?bowa?em na r??nych p?tlach i nie dzia?a?o. Za ka?d? pomoc piwerko.
Przyk?ad kodu:
i = 60
repeat
outputChatBox("jakis tam tekst: "..i.. "",playerSource,255, 255, 255) i = i - 1 [tu jakis timer czy cos tam co sekunde (1000ms)] until i == 0
Cze??. Przed chwil? pr?bowa?em doj?? do tego, jak zrobi?, aby po 5 sekundach dxDrawRectangle znika?. Wiem, ?e to przy u?yciu setTimer, ale jak go poprawnie u?y??
Siemka, ja tutaj z pytaniem bo si? lekko zapomnia?em chcia?bym ograniczenie 10sekund w komendzie zrobi?. W sensie:
-wpisuje np: /komenda
-wyskakuje jakies tam info
-gdy chce znow to nic sie nie wyswietla
-po minieciu 10s znow dziala
Siema, mam ma?y problem z GameTextForPlayer oraz SetTimer.
Gdy gracz wejdzie na serwer i posiada aktywnego AdminJaila, to robi si? co? takiego... https://imgur.com/oACGW43
Tworzy si? jaki? dziwny GameTextForPlayer oraz SetTimer, kt?ry w plikach nie istnieje.. W plikach jest zapisywane czy gracz posiada AdminJail oraz jego czas.
Nast?pnie gdy si? zalogujemy i zespawnujemy pokazuje nam si? prawid?owy GameTextForPlayer oraz SetTimer z czasem, kt?ry jest pobierany z pliku(5 minut). https://imgur.com/pv6kskB
Zauwa?y?em, ?e czas leci szybciej dwukrotnie tak jakby timer zabiera? czas z tego 1 co pojawi? si? podczas logowania i tego kt?rej pojawi? si? po zespawnownaiu.
Problem polega na tym ze poprostu skrypt wywala blad.
db3: Bad argument 'getPlayerTeam' [Expected player at argument 1,got nil]
Po stronie servera:
function timerek(player)
if getPlayerTeam(player)==team then print("dziala artefakt") local losuj = math.random(1,3)
if losuj==1 then
givePlayerMoney(player,2000)
elseif losuj==2 then
setPedArmor(player,100) setElementHealth(player,100)
elseif losuj==3 then
giveWeapon(player,36,3) end
end
end
setTimer(timerek,2000,0,source)
Witam. Mam do was pytanie:
Jak poprawnie ustawi? timer aby co 0.5 sekundy ?adowa? si? od nowa i powtarza? funkcj? bez przerwy?
To moja funkcja:
local rotX, rotY, rotZ = getElementRotation(thePlayer) setElementRotation(arrest5,rotX,rotY,rotZ)
Chodzi o to aby co 0.5 sekundy obraca?o gracza (arrest5) dok?adnie tak jak jest obr?cony policjant. I czy ta funkcja ma by? po stronie client czy server?
Dzi?kuj? za wszelk? pomoc.
Czesc, chce zrobic ze po wpisaniu komendy na czacie wyswietli mi za ile minut,godzin uruchomi sie ponownie funkcja. Czyli np. Wpisze /ref wyswietla mi ***Reset za 10minut.
Witam potrzebuj? zrobi? timer do komendy na losowanie tak by komend? mo?na by?o u?y? co np 5 minut.
local pobierzNowegoGracza
function wylosujWygrana(gracz) setTimer(function() local pieniadze = math.random(500,1000) outputChatBox("#0055B5☞ #FFFFFF"..getPlayerName(gracz):gsub("#%x%x%x%x%x%x","").." wygrywa #0055B5"..pieniadze.." PLN!",root,50,90,200,true) givePlayerMoney(gracz,pieniadze) end, 5000, 1) end
local function sprawdzGracza(g)
if not getElementData(g,"p:admin") then return true,g else
return false
end
end
pobierzNowegoGracza=function() local g=getRandomPlayer() x,g=sprawdzGracza(g)
if x==true then
wylosujWygrana(g)
else pobierzNowegoGracza() end
end
function losujWygrana(plr,cmd)
if getElementData(plr,"p:admin") then
pobierzNowegoGracza() outputChatBox("#0055B5☞ #FFFFFFTrwa losowanie pieni?dzy . . .", root, 0, 255, 0, true) end
end
addCommandHandler("los",losujWygrana)
W jaki sposob moge zrobic aby /postaw mozna bylo uzywac tylko gdy nie ma aktywnej gry. Np rozpoczynamy losowanie i dopiero po zakonczeniu mozemy uzyc drugi raz. Probowalem jedna funkcja ale wywala skrypt. Piwo leje.
[lua]
addEventHandler ( "onMarkerHit", maszyna1, function ( source )
outputChatBox ( "[#FFFFFFMASZYNA#FF0033] #33CCFFWitaj w maszynie losuj?cej #66FF33*NR.1. Szansa na wygranie w tej maszynie to #66FF33*75%!", source, 255, 0, 0, true )
outputChatBox ( "[#FFFFFFMASZYNA#FF0033] #FF0033Przegrana got?wka, #33CCFFpozsotaje w maszynie.", source, 255, 0, 0, true )
outputChatBox ( "[#FFFFFFMASZYNA#FF0033] #66FF33Wygrana got?wka, #33CCFFzostaje pomno?ona #66FF33*25% #33CCFFprzez to co postawi?e?.", source, 255, 0, 0, true )
outputChatBox ( "[#FFFFFFMASZYNA#FF0033] #33CCFFAby postawi? pieni?dze u?yj #FF0033/postaw <kwota>, #33CCFFPowodzenia!", source, 255, 0, 0, true )
end)
local function result ( plr, type )
if type == true then
wynik = cash + (cash/4)
outputChatBox ( "#FF0033[#FFFFFFINFO-MASZYNA#FF0033] #33FF33Brawo! Maszyna wylosowa?a Twoje liczby - wygrywasz "..wynik.."$", plr, 255, 0, 0, true )
givePlayerMoney ( plr, wynik )
active = false
elseif type == false then
outputChatBox ( "#FF0033[#FFFFFFINFO-MASZYNA#FF0033] Niestety dopad? ci? dzisiaj, pech. Maszyna wylosowa?a inne liczby. Spr?buj jeszcze raz!", plr, 255, 255, 255, true )
active = false...
-Mam sobie hud, i mam sobie w nim zegarek. Gdy wpisze pewn? komend?. To wtedy m?j cash znika i si? pojawia zegarek. Tylko chcia?bym ?eby ten zegarek np.: By? przez 3 sekundy, a potem pojawia? si? znowu m?j cash.
-Drugi problem jest taki.: ?e nie wiem jak zrobi? w?asny chat. Bo ten z freeroamu mnie nie zadowala i jest z freeroamu, i pod tym chce zrobi? drugi chat, Ale w?a?ciwie jak naucz? si? robi ten na g?rze to i ten na dole zrobie.
-Ju? trzeci problem, jak zrobi? ?eby w tym moim chacie, ?eby wiadomo?ci by?y na odleg?o??. Co? w stylu playsound3D
Cze??, mam problem z zapisem i odczytem czasu osoby, kt?ra jest wyciszona. Og?lnie chce zrobi? blokad? czatu na minuty. Kod zapisuj? czy dana osoba ma blokad?, ale jest problem z tymi minutami w pliku zamiast 60 sekund pokazuje si? np 80 po wpisaniu /mute 0 1 test i tak samo jest problem z odczytaniem czasu z pliku, po wej?ciu na serwer pisze, ?e jest aktywna blokada, lecz czas stoi w miejscu - nie odejmuje si?.
Witam wszystkich tutaj zgromadzonych. Tworzy?em pickup, w kt?rym co minut? b?dzie si? zwi?ksza? ilo?? zgromadzonych pieni?dzy. Niestety co? mi nie pyk?o i ani nie zwi?ksza tej liczby ani nie mog? jej pobra? (get_hajs). Drugim problemem, aczkolwiek mniej wa?nym, jest to, ?e nie dzia?a tekst 3D, kt?ry powinien by? w miejscu pickupa (te same koordynaty). Za pomoc stawiam browary . W?a?nie si? ch?odz?.
function dodaj_hajsy ()
local aktulany_hajs = getElementData (hajs, "ilosc_hajsiwa_XD")
setElementData (hajs, "ilosc_hajsiwa_XD", aktualny_hajs + 500)
end
setTimer (dodaj_hajsy, 60*1000, 0)
function odbierz_hajs (source)
local aktualny_hajs = getElementData (hajs, "ilosc_hajsiwa_XD")
if isPedInVehicle (source) then return outputChatBox ("** Najpierw wysi?d? z pojazdu!", source, 255, 0, 0) end
if aktualny_hajs >= 15000 then
givePlayerMoney (source, aktualny_hajs)
setElementData (hajs, "ilosc_hajsiwa_XD", 0)
outputChatBox ("** Odebra?e? haracz z Glen Park! Pami?taj, aby podzieli? si? nim z gangiem!", source, 0, 255, 0)
else
...
Mam konkretne pytanie, czy taki skrypt b?dzie dzia?a? dla serwera w sensie, ?e gdy ustawi? tam czas na 1h to gracz kt?ry wejdzie b?dzie musia? czeka? t? godzin? czy wystarczy i? poczeka to co zosta?o, w jaki spos?b funkcjonuje timer.
Kod ten znajduje si? w S-side.
function payday() outputChatBox("Nadszed? czas wyp?aty", getRootElement(), 255, 255, 255, true) end
setTimer(payday, 5000, 0)
Je?eli jednak nie dzia?a to w ten spos?b to w jaki m?g?bym to wykona? poniewa? chc? by co okre?lony czas dla ka?dego gracza przydziela?a si? okre?lona kwota a pojazdy kt?re okre?l? si? respawnowa?y. Pozdrawiam.
[ Dodano: 2016-04-12, 11:39 ]
mo?e event onResourceStart a w nim p?tla kt?ra co 60s dodaje 1 i gdy b?dzie 3600 wyzeruje si? wszystko i tak ca?y czas
Witam tu zn?w ja :c chcia? bym was spyta? czy pomo?ecie mi (podsuniecie pomys?) jak zrobi? cos takiego ?e je?li jaki? string ma np wartosc new cos = 0 if(cos == 0) to ma si? pokaza? np textdraw ktory zniknie za 10s i za nastepne 10s si? zn?w poka?e nie mam na to pomys?u :c
Witam mam kod na zapis danych na mysql i jak zrobi? aby timer np co 5 minut zapisywa? automatycznie. Chc? przerobi? z komendy na timer. Za pomoc Kod:
function saveDataBank(thePlayer)
if not (getElementData(thePlayer,"isGuestAccount") == true) then
Bankomat = getElementData(thePlayer, "User:Bankomat") id = getElementData(thePlayer,"accountID") execute("UPDATE accounts SET Bank=? WHERE id=?",Bankomat,id)
else
return false
end
end
Witam zacz??em pisa? gamemode i teraz do was pytanie na jakich timerach si? wzorowa? bardziej jak b?d? robi?. Czy SetTimerEx i potem go usuwa? za pomoc? KillTimer , czy SetTimer i p?tla , b?d? to timery do od?wie?ania text draw , odejmowania paliwa, odmie?ania czasu itp. Czekam na wasz? wypowied? ka?dy kto pomo?e i obja?ni wszystko oraz jaki timer b?dzie bardziej optymalny stawiam mu browarka
Siemka mam ma?y problem, zrobi?em ma?y system potrzeb, ale mam taki problem, ?e zamiast wiadomo?? wy?wietla? si? co 60 sekund wy?wietla si? jedna po drugiej. Jak to zrobi??
Kod:
Co ma si? wykona? jak Brud gracza dojdzie do 100.
Ten Timer jest tworzony gdy gracz wejdzie do pojazdy a zabijany gdy wyjdzie. I z tym jest problem ?e ten timer tworzy si? tylko wtedy gdy gracz o ID 0 wejdzie do pojazdu a jak wyjdzie to zabijany jest. I moje pytanie dlaczego mo?e go nie tworzy? dla reszty graczy ?
Jak stworzy? timer do funkcji KickPlayer(playerid); ?
Po zmianie z 0.3e na 0.3x nie wy?wietlaj? si? powody ban?w/kick?w, a dodanie timera ma podobno pom?c. Stawiam
Witam, dzia?a tylko na id 0 czyli jak ja mam id 0 a kolega np 3, to jak mi hp pojazdu zejdzie do wyznaczonego hp np 40 to ka?demu na serwie si? wy??cza pojazd. Jak to naprawi? ?eby ka?demu oddzielnie robi?a t? funkcje
forward SprawdzHPpojazdu(); // Tworzymy funkcj?
public SprawdzHPpojazdu()
{
// Tworzymy zmienne
new playerid;
new i;
new vehID, Float: vehHP, vehHPP=600;
for(new nr = 1; nr < LIMIT_POJAZDOW; nr++)
// P?tla sprawdzaj?ca HP pojazdu gracza co 0,01s.
//for(new i=0; i<GetMaxPlayers(); i++)
{
vehID = GetPlayerVehicleID(i);
GetVehicleHealth(vehID, vehHP);