Wysłany: 2014-05-30, 17:39
maxerxxl
Wiek: 30 Na forum: 5068 dni Posty: 285
Nick w MP: MaXI
Piwa : 38
Mam problem z pickupami, zrobi?em konkurs ?e jak si? znajdzie pickup i wejdzie w niego to si? losuje kasa, ale nie do ko?ca dzia?a bo dzia?a tylko ostatni pickup a pierwszy drugi trzeci itp ju? nie dzia?aj?.
Kod: infokonkurs = createPickup ( -2015.88, 877.68, 45.45, 3, 1239, 10000)
markery = {
{ -2058.94, 889.64, 61.86 }, -- ko?o spawnu sf
{ -2164.56, 854.39, 85.62 }, -- za spawnem sf
{ -2292.44, 557.71, 35.37 }, -- ko?o stacji tramwaj?w sf (przystanek)
{ -2511.57, 493.31, 14.61 }, -- za szpitalem sf
{ -2651.59, 457.96, 7.20 }, -- ko?o urz?du sf
{ -1909.81, 830.29, 45.10 }, -- burger sf
{ -1883.85, 882.65, 57.93 } -- za go?ciem vegas na spawnie sf
}
for k,v in ipairs ( markery ) do
kasakonkurs = createPickup ( v[1], v[2], v[3], 3, 1274)
end
function startKonkurs(thePlayer, matchingDimension)
if source == infokonkurs then
outputChatBox(" ", thePlayer)
outputChatBox("* Na ca?ym mie?cie zosta?y umieszczone pickupy z kas?, znajd? kas? a dostaniesz wybran? kwot?.", thePlayer)
outputChatBox("* Mo?na zdoby? za wszystkie pieni?dze 2k wi?c ruszajcie w drog?.", thePlayer)
outputChatBox("* ale pami?tajcie ?e pieni?dze s? schowane w ?adko spotykanych miejscach!", thePlayer)
outputChatBox("* Podpowied?: Schowano 8 pickup?w!", thePlayer)
outputChatBox(" ", thePlayer)
end
if source == kasakonkurs then
kasa = math.random ( 50, 150 )
givePlayerMoney ( thePlayer, kasa )
outputChatBox("Gratulacje! Znalaz?e? banknota i otrzymujesz: "..kasa.." EUR.", thePlayer)
end
end
addEventHandler("onPickupHit", root, startKonkurs)
Wysłany: 2014-05-30, 20:29
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4395 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
Wysłany: 2014-05-30, 21:19
Tey
Wiek: 31 Na forum: 4876 dni Posty: 155
Nick w MP: l0nger
Piwa : 280
for k , v in ipairs ( markery ) do
kasakonkurs = createPickup ( v [ 1 ], v [ 2 ], v [ 3 ], 3 , 1274 )
end
Ty si? ch?opie dziwisz dlaczego dzia?a Ci ostatni pickup? Podpowiem: zrobi?e? zmienna i przypisujesz do niej element. Kolejne iteracje w tej p?tli b?d? po prostu nadpisywa? element do tej zmiennej.
Powinno by? raczej tak:
kasakonkurs ={}
for k , v in ipairs ( markery ) do
kasakonkurs [ k ] = createPickup ( v [ 1 ], v [ 2 ], v [ 3 ], 3 , 1274 )
end
W evencie musisz te? doda? sprawdzanie pickup?w wykorzystuj?c p?tle, ?eby przeiterowa? wszystkie indeksy w celu odnalezienia elementu pickupa.
for i = 1 , #kasakonkurs do
if source == kasakonkurs [ i ] then
-- jakas akcja
break
end
end
Ostatnio zmieniony przez Tey 2014-05-30, 21:22, w całości zmieniany 1 raz
Wysłany: 2014-05-30, 21:20
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4395 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
Tey , nie koniecznie musi tak by?. Kod napisa? poprawnie. Kod odczyta wszystkie pickupy jako jedn? zmienn?. Na tej samej zasadzie mam zrobiony system stacji benzynowych i dzia?a
Wysłany: 2014-05-30, 22:36
dudeks
Wiek: 31 Na forum: 6576 dni Posty: 171
Piwa : 89
Jak mo?e zadzia?a? na wszystkie pickupy, skoro nadpisuje warto?? zmiennej inn? warto?ci??
Wysłany: 2014-05-30, 22:49
dudeks
Wiek: 31 Na forum: 6576 dni Posty: 171
Piwa : 89
To zale?y jak masz napisan? obs?ug? tych marker?w
- local, aha.
Nie no, w og?le si? NIC NIE NADPISUJE, BO TO PRZECIE? NIEMO?LIWE.
http://scr.hu/1jfv/bcqi8
@moderatorzy, wyga?cie to
Wysłany: 2014-05-30, 22:53
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4395 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
To jak wyt?umaczysz dzia?anie marker?w obs?uguj?cych stacje paliwowe, kt?re dzia?aj? 100% ?
Wysłany: 2014-05-30, 22:56
dudeks
Wiek: 31 Na forum: 6576 dni Posty: 171
Piwa : 89
Mog?e? przecie? na wiele sposob?w to zrobi?, sprawdza? w jaki typ pickupu gracz wjecha? pojazdem i wed?ug tego obs?ugiwa? stacj?. Z samego kodu od tworzenia markera/pickupa ci??ko jest stwierdzi?, jak to masz zrobione.
Wysłany: 2014-05-30, 22:58
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4395 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
addEventHandler ( "onClientMarkerHit" , resourceRoot , hitMarker )
w bardzo logiczny spos?b
Wysłany: 2014-05-30, 23:00
dudeks
Wiek: 31 Na forum: 6576 dni Posty: 171
Piwa : 89
No to mo?e nie tworzysz innych marker?w do innych rzeczy, z reszt?:
addEventHandler("onClientMarkerHit", resourceRoot, hitMarker) < nie przypisujesz do konkretnych marker?w, czyli nie korzystasz z 'markers' kt?re jest lokalne. Ba, przy resourceRoot wysz?o by Ci to samo w samym
createMarker ( v [ 1 ], v [ 2 ], v [ 3 ], "cylinder" , 3 , 255 , 0 , 255 , 255 )
zamiast markers = createMarker ( v [ 1 ], v [ 2 ], v [ 3 ], "cylinder" , 3 , 255 , 0 , 255 , 255 )
Wysłany: 2014-05-30, 23:06
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4395 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
Tak, ale tworz?c zmienn?, s?dzi?em, ?e b?dzie potrzebna przy dalszym kodzie
Wysłany: 2014-05-30, 23:15
dudeks
Wiek: 31 Na forum: 6576 dni Posty: 171
Piwa : 89
No to przy tym u?ywaniu stwierdzi?by?, ?e co? jest nie tak, mam racj?? Mia?by? taki sam przypadek jak autor tego tematu.
Tagi: pickupy
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: