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

Wysłany: 2012-08-31, 15:49


HartHol

Log Out






Wiek: 27
Na forum: 5037 dni
Posty: 116
Nick w MP: HartHol

Piwa: 14

Respekt: 50

Ziomek, nie chcesz pomaga? na Gadu-Gadu, wi?c pomagaj tutaj ;)

Funkcja rozladunek():

Kod:


source = getLocalPlayer()

function rozladunek()
if towar == 1 and id == id2 then
setElementData(getLocalPlayer(),"points",tonumber(points + 1))
towar = 0
rmoney = math.random(350,700)
givePlayerMoney ( source, rmoney )
outputChatBox("Roz?adowa?e? trociny!", player)
destroyElement(destblip)
else
outputChatBox("To nie jest ten roz?adunek!", 0, 255, 0)
end
end


Zmie? ten kod na skrypt po stronie serwera i klienta. Wyt?umacz dok?adnie.

Ostatnio zmieniony przez Jacob 2012-08-31, 21:16, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-31, 15:54


Riot

3X






Wiek: 29
Na forum: 5729 dni
Posty: 1123
Nick w MP: Riot/3X

Piwa: 286

Respekt: 123
Respekt: 123

Daj ?y? :)

Client:
source getLocalPlayer() 

function rozladunek() 
if towar == and id == id2 then 
setElementData(getLocalPlayer(),"points",tonumber(points 1)) 
towar 0 
rmoney math.random(350,700triggerServerEvent("kasa"getRootElement(), getLocalPlayer(), rmoney)
outputChatBox("Roz?adowa?e? trociny!"playerdestroyElement(destblip) 
else 
outputChatBox("To nie jest ten roz?adunek!"02550end 
end


Server:

addEvent("kasa"true)
addEventHandler("kasa"getRootElement(),
function(playersuma)
givePlayerMoney(playertonumber(suma))
end)


Co do samych trigger?w tak jak na GG pisa?em - niekt?re funkcje mo?esz wykona? tylko po jednej stronie, np. GUI po stronie clienta czy zarz?dzanie ACL po stronie servera. Dlatego u?ywamy "trigger?w" by np. po wci?ni?ciu przycisku kickowa?o gracza.
Polecam tak?e poradnik Pioruna, kt?ry znajdziesz tutaj: http://www.gtaonline.pl/t...ami-vt57830.htm

Ostatnio zmieniony przez Riot 2012-08-31, 16:08, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-31, 16:06


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Ziomek11, ok kilka b??d?w w serwer

addEvent("kasa"true)
addEventHandler("kasa"getRootElement(),
function(sourcermoney)
givePlayerMoney(sourcermoney)
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-31, 16:11


Riot

3X






Wiek: 29
Na forum: 5729 dni
Posty: 1123
Nick w MP: Riot/3X

Piwa: 286

Respekt: 123
Respekt: 123

"luki123luki123" napisał/a:

Ziomek11, ok kilka b??d?w w serwer

addEvent("kasa"true)
addEventHandler("kasa"getRootElement(),
function(sourcermoney)
givePlayerMoney(sourcermoney)
end)


Nie, b?dzie dzia?a?o jak nawet argument w triggerze masz pod inn? nazw? a tu inn?. Ba, mo?liwe ?e w twoim kodzie b?dzie wyskakiwa? b??d bo nie masz "tonumber'a".

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-31, 16:14


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

HartHol, zr?b na gridlist towary
Kod:


towary ={
"?mieci",
"Owowce",
}




Otwarcie okna:

Kod:

for key,towarname in pairs(towary) do
local row = guiGridListAddRow ( lista )
guiGridListSetItemText ( lista, row, 1, towarname, false, false )
end

pomys? dalej

[ Dodano: 2012-08-31, 16:14 ]
Ziomek11, sprawdza?em nic

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-31, 16:17


Jacob

Głupiomądry






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

Piwa: 786

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

Lepiej tak:


function rozladunek() 
if ((towar == 1) and (id == id2)) then 
setElementData(localPlayer,"points",tonumber(points 1)) 
towar 0 
rmoney math.random(350,700triggerServerEvent("kasa"localPlayerrmoney)
outputChatBox("Roz?adowa?e? trociny!"destroyElement(destblip) 
else 
outputChatBox("To nie jest ten roz?adunek!"02550trueend 
end


addEvent("kasa"true)
addEventHandler("kasa"root,
function(rmoney)
givePlayerMoney(sourcetonumber(rmoney))
end
)


luki, do jasnej cholery! Jak nie umiesz pomaga? to nie pomagaj, bo tylko mylisz u?ytkownika. Wyjd?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-31, 16:29


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Jacob, Zauwa?y?em b??d w score nie daje

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-31, 16:31


Riot

3X






Wiek: 29
Na forum: 5729 dni
Posty: 1123
Nick w MP: Riot/3X

Piwa: 286

Respekt: 123
Respekt: 123

Zapewne nie masz nigdzie ?e Ci ustawia setElementData.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-31, 17:43


HartHol

Log Out






Wiek: 27
Na forum: 5037 dni
Posty: 116
Nick w MP: HartHol

Piwa: 14

Respekt: 50

Kod:


for k, v in ipairs (markers) do
destmarker = createMarker(v[1], v[2], v[3], "cylinder", 3, 255, 255, 0, 255)
setElementData(destmarker, "id", v[4])
createBlip(v[1],v[2],v[3], 51)
end

function rozladunek()
if towar == 1 and id == id2 then
setElementData(getLocalPlayer(),"points",tonumber(points + 1))
towar = 0
rmoney = math.random(350,700)
triggerServerEvent("kasa", localPlayer, rmoney)
outputChatBox("Roz?adowa?e? trociny!", player)
destroyElement(destblip)
else
outputChatBox("To nie jest ten roz?adunek!", 0, 255, 0)
end
end


Dlaczego pokazuje mi si? error: Attempt to concenate (co? takiego) global id2. Teraz mo?na roz?adowa? towar byle gdzie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-31, 21:13


Jacob

Głupiomądry






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

Piwa: 786

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

HartHol, daj pe?ny, szczeg??owy b??d.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-01, 10:07


HartHol

Log Out






Wiek: 27
Na forum: 5037 dni
Posty: 116
Nick w MP: HartHol

Piwa: 14

Respekt: 50

1. Wszed?em rano na serwer i spr?bowa?em za?adowa? towar, a nast?pnie roz?adowa? tam gdzie za?adowa?em. Skrypt wy?wietli?: "To nie jest ten roz?adunek", wi?c by?o dobrze.

2. Roz??czy?o mi internet, wi?c zrobi?em restart wi-fi w laptopie. Serwer by? wy??czony, musia?em w??cza? w panelu playhost.

3. Wszed?em na serwer i dalej mog? roz?adowa? towar byle gdzie, ale b??d by? tylko z dawaniem pieni?dzy graczowi, wi?c poprawi?em i teraz daje kas?, ale dalej mog? roz?adowa? towar byle gdzie, a b??du nie ma.

Kod:


for k, v in ipairs (markers) do
destmarker = createMarker(v[1], v[2], v[3], "cylinder", 3, 255, 255, 0, 255)
setElementData(destmarker, "id", v[4])
createBlip(v[1],v[2],v[3], 51)
end

function rozladunek()
if towar == 1 and id == id2 then
setElementData(getLocalPlayer(),"points",tonumber(points + 1))
towar = 0
rmoney = math.random(350,700)
triggerServerEvent("kasa", localPlayer, rmoney)
outputChatBox("Roz?adowa?e? trociny!", player)
destroyElement(destblip)
else
outputChatBox("To nie jest ten roz?adunek!", 0, 255, 0)
end
end

function towarTrociny()
if points >= 0 and towar == 0 then
towar = 1
outputChatBox("Za?adowa?e? trociny!", player)
destblip = createBlip( dest[1], dest[2], dest[3], 41, 2, 255, 255, 0, 0, 100)
setElementData(source, "id2", dest[4])
id2 = getElementData(source, "id2")
else
outputChatBox("Aby za?adowa? ten towar musisz mie? minimum 0 punkt?w!", 0, 255, 0)
end
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-01, 11:52


Jacob

Głupiomądry






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

Piwa: 786

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

HartHol, jak masz zdefiniowany to id i id2.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-09-01, 17:46


HartHol

Log Out






Wiek: 27
Na forum: 5037 dni
Posty: 116
Nick w MP: HartHol

Piwa: 14

Respekt: 50

Wystarczy?o przenie?? zmienne id i id2 do funkcji rozladunek(). Jacob, a m?g?by? mi pomaga? na gg (jak masz) ?

[ Dodano: 2012-09-01, 18:16 ]
Kod:


-- "Kategoria", "Towar", Numer towaru, Minimalna nagroda, Maksymalna nagroda
local towary = {
{"Odpady", "Trociny", 1, 350, 700}
{"Spo?ywcze","Jab?ka",2,700,1000}
}

function rozladunek()
id = getElementData(source, "id")
id2 = getElementData(source, "id2")
if towar == tow[3] and id == id2 then
setElementData(getLocalPlayer(),"points",tonumber(points + 1))
towar = 0
rmoney = math.random(tow[4],tow[5])
triggerServerEvent("kasa", localPlayer, rmoney)
outputChatBox("Roz?adowa?e?" .. tow[2], player)
destroyElement(destblip)
else
outputChatBox("To nie jest ten roz?adunek!", 0, 255, 0)
end
end


Je?eli b?d? mia? towar = 1. Skrypt wyszuka 1 w tow[3] i linijka, w kt?rej ten element zostanie znaleziony, b?dzie brana pod uwag?. I wtedy tow[1] = Odpady, tow[2] = Trociny, a nie ?eby by?o pomieszane, ?e tow[1] = Spo?ywcze, a tow[2] = Trociny.

Jak to zrobi? ? W og?le zrozumieli?cie mnie ?

Postaw piwo autorowi tego posta
 

 
Tagi: wytłumaczenie.
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