Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2017-03-29, 18:32


mlodasnygo







Wiek: 16
Na forum: 3973 dni
Posty: 205

Piwa: 518

Respekt: 161,8
Respekt: 161,8Respekt: 161,8

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

Pozdrawiam

za pomoc oczywi?cie wynagrodze ;d

Podpis
600 dni - 10 marca 2017
:piwo: 500 piw :piwo: - 10 marca 2017
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-29, 18:57


Kibol1908.

Good Boy






Wiek: 27
Na forum: 4111 dni
Posty: 69
Nick w MP: Hello_Boy

Piwa: 99

Respekt: 65,3

Ostrzeżeń: 60%
Mo?esz to zrobi? na przyk?ad na elementDaty, podpi?? pod GUI i ustawi?, ?e np je?eli elementData < LICZBY w tedy nie zrobi ju? nic, co? w ten dese?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-29, 23:16


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

ElementData chyba jest najlepsza. Klikasz przycisk w gui "Podwy?szenie" inkrementujesz j? i jednocze?nie w triggerze zmieniasz wysoko?? auta.

Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-30, 07:30


_Haze

Peace Yo!






Wiek: 24
Na forum: 4184 dni
Posty: 1648
Nick w MP: Haze

Piwa: 2628

Respekt: 1020
Respekt: 1020

Mo?esz da? liczby w tabeli elementdate i w tabeli elementdate

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-30, 15:26


mlodasnygo







Wiek: 16
Na forum: 3973 dni
Posty: 205

Piwa: 518

Respekt: 161,8
Respekt: 161,8Respekt: 161,8

No zrobi?em na element daty, ale problem w tym, ?e wed?ug debugscriptu "thePlayer" to boolean i nic nie da sie tam zrobi?
Kod:


function regulation(thePlayer)
local veh getPedOccupiedVehicle(thePlayer)
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)
    else end
if data == 5 then
outputChatBox("Nie mo?esz wi?cej!",255,255,255,true)
end
end
addEvent("regplus",true)
addEventHandler("regplus",getRootElement(),regulation)

PS Sprawd?cie czy dobrze ;d

Pozdrawiam

Podpis
600 dni - 10 marca 2017
:piwo: 500 piw :piwo: - 10 marca 2017
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-30, 18:59


_Haze

Peace Yo!






Wiek: 24
Na forum: 4184 dni
Posty: 1648
Nick w MP: Haze

Piwa: 2628

Respekt: 1020
Respekt: 1020

mlodasnygo, jest to strona clienta a masz setVehicleHandling + nie deklarujesz gracza w trigerze dlatego zwraca ci bool

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-30, 20:02


mlodasnygo







Wiek: 16
Na forum: 3973 dni
Posty: 205

Piwa: 518

Respekt: 161,8
Respekt: 161,8Respekt: 161,8

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.

Podpis
600 dni - 10 marca 2017
:piwo: 500 piw :piwo: - 10 marca 2017
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-30, 20:28


_Haze

Peace Yo!






Wiek: 24
Na forum: 4184 dni
Posty: 1648
Nick w MP: Haze

Piwa: 2628

Respekt: 1020
Respekt: 1020

1argument sside to player, poka? jak triggerujesz

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-31, 22:32


mlodasnygo







Wiek: 16
Na forum: 3973 dni
Posty: 205

Piwa: 518

Respekt: 161,8
Respekt: 161,8Respekt: 161,8

No witam, po moich kombinacjach wygl?da to tak.

s-side

function regulation(thePlayer)
local veh getPedOccupiedVehicle(thePlayer)
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)
    else end
if data == 5 then
outputChatBox("Nie mo?esz wi?cej!",255,255,255,true)
end
end
addEvent("regplus",thePlayer,true)
addEventHandler("regplus",getRootElement(),regulation)


c-side

function suspensionplin(thePlayer)
local player getLocalPlayer()
triggerServerEvent("regplus",thePlayer,true)
end
addEventHandler("onClientGUIClick"suspensionplsuspensionplin)


i nie dzia?a, a b??d
Kod:


ERROR: Client (Mlody.) triggered serverside event regplus, but event is not marked as remotly triggerable

;v

pozdrawiam!

Podpis
600 dni - 10 marca 2017
:piwo: 500 piw :piwo: - 10 marca 2017
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-03-31, 23:31


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

mlodasnygo, Wi?c tak. C-side:

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 potrzebnytriggerujesz locala czyli gracza wywo?uj?cego tfunckje czyli z wiki wiemy ?e to jest clientponi?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 graczaargument bool'owski czyli tylko false/true
addEventHandler("regplus",root,regulation)


Więcej informacji znajdziesz w Wikipedii MTA:

TriggerServerEvent


Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
mlodasnygo
Wysłany: 2017-04-01, 00:05


mlodasnygo







Wiek: 16
Na forum: 3973 dni
Posty: 205

Piwa: 518

Respekt: 161,8
Respekt: 161,8Respekt: 161,8

Ok, dzi?ki, mam.
Ale teraz mam kolejny problem

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)

Podpis
600 dni - 10 marca 2017
:piwo: 500 piw :piwo: - 10 marca 2017
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-04-01, 00:12


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

mlodasnygo,

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(plrlocal veh getPedOccupiedVehicle(plrlocal rh getElementData(veh"rh") 
if rh then 
setElementData(veh,"domaxa"0end 
end 
addEventHandler("onVehicleEnter"getRootElement(), setsus)


Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-04-01, 09:43


_Haze

Peace Yo!






Wiek: 24
Na forum: 4184 dni
Posty: 1648
Nick w MP: Haze

Piwa: 2628

Respekt: 1020
Respekt: 1020

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-04-01, 10:13


Kronix.Cooder







Wiek: 36
Na forum: 4899 dni
Posty: 26

Piwa: 15

Respekt: 90

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 odejmowanieje?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.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
mlodasnygo
Wysłany: 2017-04-01, 10:42


mlodasnygo







Wiek: 16
Na forum: 3973 dni
Posty: 205

Piwa: 518

Respekt: 161,8
Respekt: 161,8Respekt: 161,8

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

Podpis
600 dni - 10 marca 2017
:piwo: 500 piw :piwo: - 10 marca 2017
Postaw piwo autorowi tego posta
 

 
Tagi: poruszanie :: się :: tabeli
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » poruszanie się po tabeli Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku