Witam, chcia?bym si? spyta? jak mog? zrobi? regulacje zawieszenia?
Tzn. wiem jak zrobi? sam? regulacj?, ale nie wiem jak ustawi? ten limit.
My?la?em nad zrobieniem tego w tabeli, i po klikni?ciu poruszaniu si? po niej, ale co? mi si? to nie widzi.
Kto? jakie? pomys?y? :v
To jest s-side, wcze?niej by?o c-side ale zobaczy?em, ?e setVehicleHandling nie dzia?a na c-side i to przerzuci?em, troch? zmieniaj?c, sprawdz? z tym triggerem.
function suspensionplin()
triggerServerEvent("regplus",localPlayer) -- graczem w evencie gui click to jest zawsze localPlayer wi?c to jego triggerujesz
end
-- SERVER
function regulation()--argument nie potrzebny, triggerujesz locala czyli gracza wywo?uj?cego t? funckje czyli z wiki wiemy ?e to jest client, poni?ej link
local veh = getPedOccupiedVehicle(client)
local gethand = getVehicleHandling(veh)["suspensionLowerLimit"]
local rh = getElementData(veh, "rh")
local wynik = gethand+0.05
local data = getElementData(veh, "domaxa")
local data1 = data+1
if rh then
setVehicleHandling(veh,"suspensionLowerLimit",wynik)
setElementData(veh, "domaxa", data1)
end
if data == 5 then
outputChatBox("Nie mo?esz wi?cej!",client)
end
end
addEvent("regplus",true) -- tutaj nie dajesz gracza, argument bool'owski czyli tylko false/true
addEventHandler("regplus",root,regulation)
local data = getElementData(veh, "domaxa")
local data1 = data+1
jak mo?na zrobi? aby pobiera?o date 'domaxa' i by?a ona r?wna 0, ?eby potem mo?na by?o do niej doda??
[ Dodano: 2017-04-01, 00:12 ]
function setsus()
local veh = getPedOccupiedVehicle(source)
local rh = getElementData(veh, "rh")
if rh then
setElementData(veh,"domaxa", 0)
end
end
addEventHandler("onVehicleEnter", getRootElement(), setsus)
local data = getElementData(veh, "domaxa")
if not data then outputChatBox("Nie ma daty!") end
local data1 = data+1
outputChatBox(""..data1)
Nie wiem o co dok?adnie Ci chodzi. Tutaj sprawdzenie czy jest ta elementData oraz wy?wietlenie jej po dodaniu 1.
[ Dodano: 2017-04-01, 00:15 ] mlodasnygo, W tym evencie "onVehicleEnter" s? 3 argumenty, a nie masz ?adnego. Source tutaj to nie gracz tylko pojazd do kt?rego gracz wsiada. Jak widzisz nie wsz?dzie source oznacza gracza po stronie server side.
[ Dodano: 2017-04-01, 00:16 ]
function setsus(plr)
local veh = getPedOccupiedVehicle(plr)
local rh = getElementData(veh, "rh")
if rh then
setElementData(veh,"domaxa", 0)
end
end
addEventHandler("onVehicleEnter", getRootElement(), setsus)
amited, warto doda? ?e ka?dy event ma inne argumenty, co r??ni go od komendy poniewa? po stronie serwera zawsze 2pierwsze argumenty s? takie same, w przypadku clienta 1argument taki sam.
Moim zdaniem pierwsza my?l autora tematu by?a jak najbardziej trafna.
local handling_cfg = {
sLL = {
name = "suspensionLowerLimit",
min = -49.0,
max = 49.0,
step = 0.2
},
sUL = {
name = "suspensionUpperLimit",
min = -49.0,
max = 49.0,
step = 0.05
}
};
local function regulation(veh,cfg,c)
local value = getVehicleHandling(veh)[cfg.name];
value = (value <= cfg.max and value >= cfg.min) and value+tonumber(c..cfg.step) or cfg[c~="+" and "max" or "min"]; --dodawanie lub odejmowanie, je?li przekroczy "max" wraca na pocz?tek(warto?? "min") i analogicznie dla odejmowania
setVehicleHandling(veh,cfg.name,value);
end
-- zastosowanie:
regulation(vehicle,handling_cfg.sLL,"+"); --skok o warto?? "step" w g?re dla "suspensionLowerLimit"
regulation(vehicle,handling_cfg.sLL,"-"); --lub w d??
regulation(vehicle,handling_cfg.sUL,"+"); -- analogicznie dla "suspensionUpperLimit"
Zwr?? uwag? ?e aby doda? zmiany innego handling wystarczy?o doda? kilka linijek do tabeli a reszt? ju? posiadasz.
Bardzo ?atwo te? doda? osobne konfiguracje dla konkretnych modeli oraz co dusza zapragnie i w ka?dej chwili.
gdy ju? ca?a konfiguracja powstanie i zajdzie potrzeba co? zmieni? w funkcji to zmieniamy raz a dla wszystkich.
Oczywi?cie spos?b kt?ry "to?kujecie" od kilku post?w jest czytelniejszy dla pocz?tkuj?cych i jak najbardziej poprawny.
Tylko komu b?dzie si? chcia?o siedzie? kilka godzin aby co? zmieni?(je?li b?dzie potrzeba) gdy ju? b?dzie komplet funkcji na wszystkie handling i jeszcze mo?e na ka?dy model osobno i jeszcze plus inne na pojazdy VIP,ju? widz? pi?trz?ce si? setElementData w kt?rym mo?na si? pogubi?, i ten stos funkcji kt?re mozolnie trzeba zmienia? ka?d? z osobna bo koncepcja si? zmieni?a...
Chcia?em jedynie dla zainteresowanych wtr?ci? ze mo?na to zrobi? moim zdaniem praktyczniej.
Podstawa to zmieni? my?lenie.
PS. Tak, wiem ze znak ";" jest zb?dny, ale i nie jest zabroniony.
Wszystko fajnie ?wietnie, ale nie potrafi? prawie nic rozczyta? z tego kodu + nie mam poj?cia jak pod??czy? to pod buttona. ;v
Og?lnie chodzi o zrobienie regulacji zawieszenia
5 razy mo?na obni?y? w d?? i 5 w g?r?
5
4
3
2
1
N
1
2
3
4
5
Co? takiego
ten m?j kod na razie by? tylko do podnoszenia.
Pozdrawiam
[ Dodano: 2017-04-01, 10:45 ]
Chcia?em to zrobi? na tabel?, umie?ci? tam warto?ci i buttonem + i?? do g?ry, a buttonem - w d??, tylko nie wiem jak.
Na element daty te? nie pasi
a te profesjonalne lua to nie czaje ;v
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