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

Wysłany: 2014-03-09, 09:55


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

Cze?c, czy m?g?by mi kto? pokaza? jak u?ywa? set i get element daty. Wystarczy ma?y przyk?adzik z wyt?umaczeniem. Stawiam du?o :piwo: :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-09, 10:45


monio







Wiek: 30
Na forum: 5028 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5

Laysik to tak:


function licencja(hitElement)
if hitElement == getLocalPlayer() then
setElementData (source, "DAJ1", true)
outputChatBox ("DostA?ES licencje", hitElement)
else
outputChatBox ("Mamy b??d druku", hitElement)
end
end
addEventHandler ("onClientMarkerHit", ...., licencja)

function sprawdz(hitElement)
if hitElement == getLocalPlayer() then
if getElementData (source, "DAJ1") == true then
outputChatBox ("Posiadasz", hitElement)
else
outputChatBox ("Nie posiadasz", hitElement)
end
end
end
addEventHandler ("onClientMarkerHit", ...., sprawdz)


tylko mam 2 dobr? rade z triggeruj to bo w?tpie w dzia?anie tego ;) , u siebie pr?bowa?em 3 razy na cliencie to np zrobi? ale nie dzia?a dlatego ja to triggerowa?em na strone servera a tak samo kod daj z setElementData i getElementData

[ Dodano: 2014-03-09, 10:55 ]
a w razie problem?w zapraszam tu: ...

Ostatnio zmieniony przez Riot 2014-03-09, 21:22, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-09, 11:13


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

Monio prosi?em z wyt?umaczeniem ale dobra xD

[ Dodano: 2014-03-09, 11:28 ]
Po stronie serwera jak wejde w marker ktory daje licke to pisze ze dostalem a gdy wejd? w ten co pokazuje czy mam czy nie mam to pisze ze nie posiadam ... Co zrobi? ? :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-09, 11:53


monio







Wiek: 30
Na forum: 5028 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5



client...

function licencja()
gracz = getLocalPlayer() then
triggerServerEvent ("DAJ1", root, gracz)
end
addEventHandler ("onClientMarkerHit", ...., licencja)

function spr()
gracz = getLocalPlayer() then
triggerServerEvent ("Sprawdz", root, gracz)
end
addEventHandler ("onClientMarkerHit", ...., spr)

server...

addEvent ("DAJ1", true)
addEventHandler ("DAJ1", root, function(thePlayer)
if not isPedInVehicle (thePlayer)---- nie jestem pewny co do tego
setElementData (source, "DAJ11", true)
outputChatBox ("Dosta?e? licencje", thePlayer)
else
outputChatBox (" Nie dosta?e? licencji", thePlayer)
end
end
)

addEvent ("Sprawdz", true)
addEventHandler ("Sprawdz", root, function(thePlayer)
if getElementData (source, "DAJ1") == true then
outputChatBox ("Posiadasz", thePlayer)
else
outputChatBox (" Nie posiadasz", thePlayer)
end
end
)

i teraz skoro wyt?umaczenie to masz :D

setElementData (source, "DAJ1", true)--- t? linijk? wywo?ujemy dodanie do konta zapis na kr?tki czas
if getElementData (source, "DAJ1") == true then--ta linijka sprawdza Ci czy masz t? licencje
reszte chyba sam rozumiesz, Zapraszam na www.happy-gaming.xaa.pl ;) wrazie problem?w


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-09, 12:41


Jacob

Głupiomądry






Wiek: 28
Na forum: 5643 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Ale mu wyt?umaczy?e?...
Jak sama nazwa funkcji wskazuje - setElementData, s?u?y do zapisywania jakie? warto?ci do danego elementu. Tym elementem nie koniecznie musi by? player, ale object, czy te? marker. Lista element?w:
https://wiki.multitheftauto.com/wiki/Element
Jak tego u?ywa??
Ta funkcja ma to do siebie, ?e mo?emy j? u?y? po 2 stronach - client, jak i zar?wno serverside. Dzi?ki temu nie musimy si? bawi? w niepotrzebne triggerowanie mi?dzy stronami.
Przyk?ad u?ycia:
function setData ( player, cmd )    
    setElementData ( player, "Komenda", true )
end
addCommandHandler ( "setdata", setData )

function getData ( player, cmd, name )
    if not name then return end -- sprawdza czy podano nazwe
    
    local playerElement = getPlayerFromName ( name ) -- pobiera gracza z nazwy
    if not isElement ( name ) and getElementType ( name ) ~= "player" then return end  -- sprawdza czy gracz jest elementem

    local data = getElementData ( name, "Komenda" ) or false -- pobiera date
    if ( data ) then -- sprawdza czy data jest r?wna 'true'
        outputChatBox ( "U?y? komendy", player )
    else  -- je?li nie
        outputChatBox ( "Nie u?y? komendy", player )
    end
end
addCommandHandler ( "getdata", getData )

Ten ma?y kodzik robi tak:
Po u?yciu /setdata - ustawia dat? pod nazw? 'Komenda' na warto?? true
Po u?yciu /getdata nick - sprawdza czy gracz u?y? tej komendy czy nie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-09, 15:28


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

Jacob nie dzia?a ani po stronie serwera ani po stronie clienta...
Nic sie nie dzieje tylko w debugu po obu stronach b?edy s?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-09, 17:45


Jacob

Głupiomądry






Wiek: 28
Na forum: 5643 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

function setData ( player, cmd )    
    setElementData ( player, "Komenda", true )
end
addCommandHandler ( "setdata", setData )

function getData ( player, cmd, name )
    if not name then return end -- sprawdza czy podano nazwe
    
    local playerElement = getPlayerFromName ( name ) -- pobiera gracza z nazwy
    if not ( isElement ( playerElement ) ) or getElementType ( playerElement ) ~= "player" then return end  -- sprawdza czy gracz jest elementem

    local data = getElementData ( playerElement, "Komenda" ) or false -- pobiera date
    if ( data ) then -- sprawdza czy data jest r?wna 'true'
        outputChatBox ( "U?y? komendy", player )
    else  -- je?li nie
        outputChatBox ( "Nie u?y? komendy", player )
    end
end
addCommandHandler ( "getdata", getData )

Ju? dzia?a, pomyli?em zmienne :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-09, 17:56


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

A jak teraz zrobic aby usun?c z kogo? t? "Komend?"?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-09, 17:57


KukiX







Wiek: 34
Na forum: 6859 dni
Posty: 567

Piwa: 17560

Respekt: 160
Respekt: 160Respekt: 160

"Laysiks" napisał/a:

A jak teraz zrobic aby usun?c z kogo? t? "Komend?"?

https://wiki.multitheftauto.com/wiki/RemoveElementData

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-09, 21:59


monio







Wiek: 30
Na forum: 5028 dni
Posty: 319
Nick w MP: Monio99

Piwa: 3565

Respekt: 120,5
Respekt: 120,5

lub setElementData (...., ".....", false) ta sama zasada tylko zmieniasz na false

Postaw piwo autorowi tego posta
 

 
Tagi: setelementdata/getelementdata
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA 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