Witam mam takie pytanie. Chc? zrobi? zape?nianie woz?w PSP. mianowicie dany poijazd po stworzeniu ma 100 % zape?nienia. Ale je?li jest w??czona autopompa (czyli elementdata "ap" na true) to wtedy co 1 sekund? te zape?nienie odejmuje. Co jedn? sekunde zape?nienie maleje o 1. I je?li zape?nienie czyli elementdata jest na 0 wtedy w jakim? markerze te elementdate uzupe?nia do 100 znowu.
wiem czego musz? u?y? lecz nie wiem za bardzo jak si? do tego zabra?.
podczas tworzenia pojazdu na s side musz? nada? elementdate z zape?nieniem to wiem. Ale reszta aby to si? odejmowa?o i potem w markerach nape?nia?o to nie zbyt. Generalnie nie wiem jak zrobi? odejmowanie tej elementdaty i za? dodawanie.
! Koniecznie zapoznaj się z regulaminem forum.
Pamiętaj, aby zawsze go przestrzegać, nie mniej ważne są również regulaminy działów, w których się wypowiadasz!
Zamiast zakładać temat po kilka razy, bo jest usuwany przez Administrację, przejrzyj regulamin i napisz poprawnie temat!
Sprawy z administracją możesz załatwiać anonimowo w tym dziale.
Najważniejsze informacje od Administracji możesz przeczytać tutaj oraz tutaj.
setTimer(
function(plr)
if isPedInVehicle(plr) then
local woz = getPedOccupiedVehicle(plr)
if getElementData(woz, "apon") then
if getElementModel(veh) == 407 or getElementModel(veh) == 544 or getElementModel(veh) == 573 then
if getElementData(woz,"zapelnienie") >= 0 then
local ile = getElementData(woz, "zapelnienie")
setElementData(woz, "zapelnienie", ile - 1)
end
end
end
end
end, 60000, 0)
local tablica = {
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z}
}
for i,v in ipairs(tablica) do
createObject(id, v[1], v[2], v[3])
end
local tablica2 = {
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z}
}
for i,v in ipairs(tablica2) do
dod = createMarker(v[1],v[2],v[3],"cylinder",3,255,0,255)
end
function uzupelnij(el, md)
if isPedInVehicle(el) then
local veh = getPedOccupiedVehicle(el)
if getElementModel(veh) == 407 or getElementModel(veh) == 544 or getElementModel(veh) == 573 then
if getElementData(veh,"zapelnienie") =< 100 then
setElementData(veh, "zapelnienie", 100)
end
end
end
addEventHandler("onMarkerHit",dod,uzupelnij)
gcba = createVehicle(544, -2387.86, -83.12, 35.33,0,0,270)
woz = getPedOccupiedVehicle()
ile = getElementData(woz, "zapelnienie") or 0
setElementData(gcba, "pojazd_opis","Zape?nienie: "..ile.."% \nJRG-1 531[S]59")
EDIT. Spr?buj doda? co? takiego
setTimer(function()
for i, v in ipairs(getElementsByType("vehicle")) do
if (getElementData(v, "GCBA") == true) then
local ilosc = getElementData(v, "zapelnienie") or 0
setElementData(gcba, "pojazd_opis","Zape?nienie: "..ilosc.."% \nJRG-1 531[S]59")
end
end
end
end, 6000, 0)
Aby powy?szy kod dzia?a?, dodaj ka?demu wozowi PSP elementdat?, np. "GBA", drugiemu "GCBA" itd.
! Koniecznie zapoznaj się z regulaminem forum.
Pamiętaj, aby zawsze go przestrzegać, nie mniej ważne są również regulaminy działów, w których się wypowiadasz!
Zamiast zakładać temat po kilka razy, bo jest usuwany przez Administrację, przejrzyj regulamin i napisz poprawnie temat!
Sprawy z administracją możesz załatwiać anonimowo w tym dziale.
Najważniejsze informacje od Administracji możesz przeczytać tutaj oraz tutaj.
setTimer(
function(plr)
if isPedInVehicle(plr) then
local woz = getPedOccupiedVehicle(plr)
if getElementData(woz, "apon") then
if getElementModel(woz) == 407 or getElementModel(woz) == 544 or getElementModel(woz) == 573 then
if getElementData(woz,"zapelnienie") >= 0 then
local ile = getElementData(woz, "zapelnienie")
setElementData(woz, "zapelnienie", ile - 1)
setElementData(woz, "pojazd_opis", ""..ile.."%",true)
end
end
end
end
end, 60000, 0)
--[[
local tablica = {
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z}
}
for i,v in ipairs(tablica) do
createObject(id, v[1], v[2], v[3])
end
local tablica2 = {
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z}
}
for i,v in ipairs(tablica2) do
dod = createMarker(v[1],v[2],v[3],"cylinder",3,255,0,255)
end
-]]
local marker = createMarker(-2370.28, -75.14, 35.28,"cylinder",3,255,0,255)
function uzupelnij(el, md)
if isPedInVehicle(el,md) then
local veh = getPedOccupiedVehicle(plr)
if getElementModel(veh) == 407 or getElementModel(veh) == 544 or getElementModel(veh) == 573 then
if getElementData(veh,"zapelnienie") <= 100 then
setElementData(veh, "zapelnienie", 100)
end
end
end
end
addEventHandler("onMarkerHit",marker,uzupelnij)
db
WARNING: zapelnienie/woda.lua:3: Bad argument @ 'isPedInVehicle' [Expected ped at argument 1, got nil]
setTimer(
function(plr)
if isPedInVehicle(plr) then
local woz = getPedOccupiedVehicle(plr)
if getElementData(woz, "apon") then
if getElementModel(woz) == 407 or getElementModel(woz) == 544 or getElementModel(woz) == 573 then
if getElementData(woz,"zapelnienie") >= 0 then
local ile = getElementData(woz, "zapelnienie")
setElementData(woz, "zapelnienie", ile - 1)
setElementData(woz, "pojazd_opis", ""..ile.."%",true)
else return end
else return end
else return end
else return end
end, 60000, 0)
local tablica = {
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z}
}
for i,v in ipairs(tablica) do
createObject(id, v[1], v[2], v[3])
end
local tablica2 = {
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z},
{x,y,z}
}
for i,v in ipairs(tablica2) do
dod = createMarker(v[1],v[2],v[3],"cylinder",3,255,0,255)
end
function uzupelnij(el, md)
if isPedInVehicle(el) then
local veh = getPedOccupiedVehicle(el)
if getElementModel(veh) == 407 or getElementModel(veh) == 544 or getElementModel(veh) == 573 then
if getElementData(veh,"zapelnienie") <= 100 then
setElementData(veh, "zapelnienie", 100)
end
end
end
end
addEventHandler("onMarkerHit",dod,uzupelnij)
! Koniecznie zapoznaj się z regulaminem forum.
Pamiętaj, aby zawsze go przestrzegać, nie mniej ważne są również regulaminy działów, w których się wypowiadasz!
Zamiast zakładać temat po kilka razy, bo jest usuwany przez Administrację, przejrzyj regulamin i napisz poprawnie temat!
Sprawy z administracją możesz załatwiać anonimowo w tym dziale.
Najważniejsze informacje od Administracji możesz przeczytać tutaj oraz tutaj.
@Emm ten kod nic nie zmienia.
Problemem w timerze jest to, ?e ?aden element nie jest sprecyzowany.
setTimer(function()
for k,plr in ipairs(getElementsByType("player") do
if isPedInVehicle(plr) then
local woz = getPedOccupiedVehicle(plr)
if getElementData(woz, "apon") then
if getElementModel(woz) == 407 or getElementModel(woz) == 544 or getElementModel(woz) == 573 then
if getElementData(woz,"zapelnienie") >= 0 then
local ile = getElementData(woz, "zapelnienie")
setElementData(woz, "zapelnienie", ile - 1)
setElementData(woz, "pojazd_opis", ""..ile.."%",true)
end
end
end
end
end
end, 60000, 0)
[ Komentarz dodany przez: Emm: 2016-07-04, 23:12 ]
Przyjrzyj si? dok?adnie, ja zmieni?em z getElementModel zmienn? wozu na poprawn?
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach