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

Wysłany: 2015-09-16, 18:26


Tomeg123







Wiek: 32
Na forum: 4067 dni
Posty: 26

Piwa: 83

Respekt: 80

Ostrzeżeń: 100%
Posiadam oto taki kodzik, chcia?bym aby otwiera?a si? brama, gdy wejd? i gdy wejd? nast?pnym razem to dopiero si? zamyka. Fanciak napisa?, abym zdefiniowa? "brama.otwarta" aby mia?a si? do czego odnie??, lecz ja nie do ko?ca wiem co mam zrobi?. Ucz? si? lua od kilku dni, wi?c nie ogarniam niekt?rych rzeczy. Prosi?bym o jak najszybsz? pomoc, poniewa? chc? zobaczy? jak taki kod ma wygl?da?. Stawiam skrzynie :piwo:

brama createObject(idxyz)
marker createMarker (xyz'cylinder'wielko??, kolor)


function brama.otwarta()
if brama.zamknieta then
moveObject(brama3000xyz)
end
end
addEventHandler("onMarketHit"markerbrama.otwarta)



function brama.zamknieta()
if brama.otwarta then
moveObject(brama3000xyz)
end
end
addEventHandler("onMarketHit"marker,  brama.zamknieta
:piwo:

[ Dodano: 2015-09-16, 18:27 ]
PS. Pomoc otrzymywa?em w tym po?cie, dosta?em polecenie abym za?o?y? nowy, LINK: http://gtao.pl/brama-otwi...rze-vt98381.htm

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-17, 17:28


Fanciak

BOT






Wiek: 25
Na forum: 4446 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

Mozesz uzyc setElementData a przy otwieraniu/zamykaniu dac if getElementData, poprobuj i daj kod.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-17, 17:32


#404







Wiek: 26
Na forum: 4771 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%

brama createObject(idxyz)
marker createMarker (xyz'cylinder'wielko??, kolor)
zamknieta true


function brama.otwarta()
if zamknieta then
moveObject(brama3000xyz)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"markerbrama.otwarta)



function brama.zamknieta()
if not zamknieta then
moveObject(brama3000xyz)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"marker,  brama.zamknieta


Takie co? powinno dzia?a?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-17, 18:21


Tomeg123







Wiek: 32
Na forum: 4067 dni
Posty: 26

Piwa: 83

Respekt: 80

Ostrzeżeń: 100%
"DestroY" napisał/a:


brama createObject(idxyz)
marker createMarker (xyz'cylinder'wielko??, kolor)
zamknieta true


function brama.otwarta()
if zamknieta then
moveObject(brama3000xyz)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"markerbrama.otwarta)



function brama.zamknieta()
if not zamknieta then
moveObject(brama3000xyz)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"marker,  brama.zamknieta


Takie co? powinno dzia?a?.


Wyskakuje co? takiego:
Kod:

ERROR: bramysfpd\brama.lua:9: attempt to index global 'brama' <a user data value>


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-17, 19:46


#404







Wiek: 26
Na forum: 4771 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
Tomeg123, powstawia?e? swoje koordynaty ? 2 sprawa, zmie? nazwy funckji (tez te w eventHandlerach) na nazwy vrz kropek np "bramazamknieta".

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-17, 19:52


Tomeg123







Wiek: 32
Na forum: 4067 dni
Posty: 26

Piwa: 83

Respekt: 80

Ostrzeżeń: 100%
"DestroY" napisał/a:

Tomeg123, powstawia?e? swoje koordynaty ? 2 sprawa, zmie? nazwy funckji (tez te w eventHandlerach) na nazwy vrz kropek np "bramazamknieta".


Kod po moich "rewolucjach"
brama createObject(3089, -1603.2890625713.80273437529.567188262939000)
marker createMarker (-1603.2890625713.80273437529.567188262939'cylinder'3100100255)
zamknieta true

function bramaotwarta()
if zamknieta then
moveObject(brama3000, -1603.2890625713.80273437531.5671882629390090)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"markerbramaotwarta)



function bramazamknieta()
if not zamknieta then
moveObject(brama3000, -1603.2890625713.80273437529.567188262939000)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"marker,  bramazamknieta


[ Komentarz dodany przez: DestroY: 2015-09-17, 19:57 ]
No tak, kod... Ale dzia?a, czy nie dzia?a ?

[ Dodano: 2015-09-17, 19:59 ]
DestroY, Wi?c tak. Nic w konsoli ju? nie wyskakuje, brama oraz marker si? pokazuj? ale brama si? nie rusza.. ;C

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-17, 20:02


#404







Wiek: 26
Na forum: 4771 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
Tomeg123, to w takim razie spr?buj zamieni? koordynaty (te z otwierania do zamykania i na odwr?t).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-17, 20:06


Tomeg123







Wiek: 32
Na forum: 4067 dni
Posty: 26

Piwa: 83

Respekt: 80

Ostrzeżeń: 100%
brama createObject(3089, -1543.2890625713.80273437529.567188262939000)
marker createMarker (-1603.2890625713.80273437529.567188262939'cylinder'3100100255)
zamknieta true

function bramaotwarta()
if zamknieta then
moveObject(brama3000, -1603.2890625713.80273437529.567188262939)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"markerbramaotwarta)



function bramazamknieta()
if not zamknieta then
moveObject(brama3000, -1603.2890625713.80273437529.567188262939000)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"marker,  bramazamknieta


Da?em takie oto losowe koordynaty, brama po "zamkni?ciu" nie wraca na miejsce, lecz da?em aby przesuwa?a si? w miejsce, w kt?rym stoj?. Dalej nic ;C

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-17, 20:11


#404







Wiek: 26
Na forum: 4771 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
Problem masz z tymi koordynatami. W funkcji moveObject 1 argument to objekt, 2 to czas - te 2 masz dobrze. 3, 4 i 5 to x y z DOK?D ma brama si? przemie?ci?. Natomiast od 6 do 8 to elementy rotacji (o jaki k?t ma si? obroci?...).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-18, 17:03


Tomeg123







Wiek: 32
Na forum: 4067 dni
Posty: 26

Piwa: 83

Respekt: 80

Ostrzeżeń: 100%
"DestroY" napisał/a:

Problem masz z tymi koordynatami. W funkcji moveObject 1 argument to objekt, 2 to czas - te 2 masz dobrze. 3, 4 i 5 to x y z DOK?D ma brama si? przemie?ci?. Natomiast od 6 do 8 to elementy rotacji (o jaki k?t ma si? obroci?...).

Dalej nic :C Pom?? :arrow: R* :piwo: R* :piwo:

Powstawia?em ca?kiem nowe koordynaty, rotacje i nic.. :C

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-18, 23:12


Wittx

8===D






Wiek: 26
Na forum: 4794 dni
Posty: 121
Nick w MP: wittula

Piwa: 1905

Respekt: 120
Respekt: 120

"Fanciak" napisał/a:

Mozesz uzyc setElementData a przy otwieraniu/zamykaniu dac if getElementData, poprobuj i daj kod.


setElementData jest wolniejsze od wewn?trznej pami?ci Lua. On b?dzie korzysta? z danych bramy tylko w tym zasobie i tylko po jednej stronie, wi?c setElementData nie jest mu potrzebne.

Kod:
local gateState = {}
local gate = {}

gate.object createObject(3089, -1543.2890625713.80273437529.567188262939000)
gate.marker createMarker (-1603.2890625713.80273437529.567188262939'cylinder'3100100255)

addEventHandler('onMarkerHit'gate.marker, function()
    if not gateState[sourcethen
        moveObject(gate.object3000, -1603.2890625713.80273437529.567188262939)
        gateState[source] = true
    end
end)

addEventHandler('onMarkerLeave'gate.marker, function()
    if gateState[sourcethen
        moveObject(gate.object3000, -1603.2890625713.80273437529.567188262939)
        gateState[source] = false
    end
end)


Popatrzcie na nazwy waszych event?w i zobaczycie dlaczego wam nie dzia?a?o. :D

Wg mnie boolean m?wi?cy o tym, czy brama jest otwarta czy nie, nie jest potrzebny.

[ Komentarz dodany przez: DestroY: 2015-09-18, 23:15 ]
"chcia?bym aby otwiera?a si? brama, gdy wejd? i gdy wejd? nast?pnym razem to dopiero si? zamyka"

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-19, 15:59


Tomeg123







Wiek: 32
Na forum: 4067 dni
Posty: 26

Piwa: 83

Respekt: 80

Ostrzeżeń: 100%
Problem pomimo zmiany koordynat?w dalej wyst?puje ;c

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-20, 12:44


Wittx

8===D






Wiek: 26
Na forum: 4794 dni
Posty: 121
Nick w MP: wittula

Piwa: 1905

Respekt: 120
Respekt: 120

Poka? kod kt?ry obecnie masz.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-21, 14:27


Tomeg123







Wiek: 32
Na forum: 4067 dni
Posty: 26

Piwa: 83

Respekt: 80

Ostrzeżeń: 100%
brama createObject(3089, -1543.2890625713.80273437529.567188262939000)
marker createMarker (-1603.2890625713.80273437529.567188262939'cylinder'3100100255)
zamknieta true

function bramaotwarta()
if zamknieta then
moveObject(brama3000, -1603.2890625713.80273437529.567188262939)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"markerbramaotwarta)



function bramazamknieta()
if not zamknieta then
moveObject(brama3000, -1603.2890625713.80273437529.567188262939000)
zamknieta not zamknieta
end
end
addEventHandler("onMarketHit"marker,  bramazamknieta


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-09-21, 16:31


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4329 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

Nie dzia?a tak?

Postaw piwo autorowi tego posta
 

 
Tagi: brama :: otwierana :: markerze.
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