Wysłany: 2011-11-21, 21:22
jacekp54
Wiek: 31 Na forum: 6272 dni Posty: 40
Nick w MP: Ryszard
Piwa : 3
Napisa?em skrypt (bus).
Jak kto? skorzysta z tego skryptu to w konsoli wy?wietla si? b??d:
Kod: WARNING: [gamemodes]\[a-rp]\a-rp\a-rp_markery.lua:15: Bad argument @ 'getPlayerMoney'
ERROR: [gamemodes]\[a-rp]\a-rp\a-rp_markery.lua:16: attempt to compare number with boolean
Dotyczy to linijek:
Kod:
15: local money = getPlayerMoney ( thePlayer )
16: if ( money > 24 ) then
17: if
18-21: **Sprawdzanie czy gracz znajduje si? w markerze**
22: else
23: **Wy?wietla informacje je?eli gracz znajduje si? poza markerem**
24: end
25: else
26: **wy?wietla b??d je?li gracz nie ma odpowiedniej ilo?ci pieni?dzy**
27: end
Pomimo tych b??d?w skrypt dzia?a poprawnie.
Dodatkowo chcia?bym dorobi? do niego timer, kt?ry po wpisaniu komendy na wej?cie do autobusu, wy?wietla czarny ekran wraz z napisem "w drodze do...", a po up?ywie czasu ekran wraca "do normalno?ci", a napis znika.
Wysłany: 2011-11-21, 21:37
Jacob
Głupiomądry
Wiek: 28 Na forum: 5502 dni Posty: 967
Nick w MP: Jacob
Piwa : 786
jacekp54 , daj pe?ny kod tego skryptu.
Wysłany: 2011-11-21, 22:14
jacekp54
Wiek: 31 Na forum: 6272 dni Posty: 40
Nick w MP: Ryszard
Piwa : 3
Nie bardzo chc? ?eby by? udost?pniony dla wszystkich , no ale trudno...
Kod:
local p_aut_lotniskolv = createMarker ( 1720.5340, 1421.9875, 9.6000, "cylinder", 1.5, 192, 192, 192 ,150 )
-------------------------------------------------------------------------------------------
--local x, y = guiGetScreenSize()
--local arp_gui_blad = guiCreateWindow ( x/2, y/2, 0.5, 0.4, "B??d", true )
-------------------------------------------------------------------------------------------
function lotniskolv_przystanek ( hitPlayer, matchingDimension )
outputChatBox ( "#0099CC[A-RP]** Wpisz #FF0000/bus #0099CCaby wsi??? do autobusu, i pojecha? do Fort Carson", hitPlayer, 255, 255, 255, true)
end
addEventHandler ( "onMarkerHit", p_aut_lotniskolv, lotniskolv_przystanek )
-------------------------------------------------------------------------------------------
function bus ( thePlayer, matchingDimension, command )
local money = getPlayerMoney ( thePlayer )
if ( money > 24 ) then
if isElementWithinMarker( thePlayer, p_aut_lotniskolv ) then
outputChatBox ( "#0099CC[A-RP]** W drodze do Fort Carson, zap?aci?e? 25$.", thePlayer, 255, 255, 255, true )
setTimer ( bus, 10000, 1 )
setElementPosition ( thePlayer, -182.2796, 1018.1077, 19.6862, 270, 0, 0 )
takePlayerMoney ( thePlayer, 25 )
else
outputChatBox ( "#FF0000[A-RP]** Nie jeste? na przystanku!", thePlayer, 255, 255, 255, true )
end
else
outputChatBox ( "#FF0000[A-RP]** Nie masz pieni?dzy na autobus!", thePlayer, 255, 255, 255, true )
end
end
addCommandHandler ("bus", bus )
Wysłany: 2011-11-21, 22:20
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
To jest po stronie klienta, tak?
Wysłany: 2011-11-21, 22:23
jacekp54
Wiek: 31 Na forum: 6272 dni Posty: 40
Nick w MP: Ryszard
Piwa : 3
Wysłany: 2011-11-21, 22:49
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Warto czasem sp?dzi? na wiki troch? d?u?ej czasu ze s?ownikiem w r?ku.
Cytat: Note: Using this function client side (not recommended) will not change a players money server side.
T?umacz?c: Funkcja u?yta po stronie klienta nie zmieni warto?ci pieni?dzy po stronie serwera.
To jest pierwszy b??d, a drugi dotyczy addCommandHandler . Wg. wiki do funkcji powinny by? podpi?te argumenty : command, arg1, arg2... . U ciebie jest r?wnie? thePlayer , kt?ry wyst?puje po stronie serwera.
Wszystko to mo?na rozwi?za? na 2 sposoby:
Albo przerzucasz dane na stron? serwera,
Albo ca?y skrypt wykonujesz po stronie serwera
Je?eli nie wiesz o czym m?wi? to proponuj? Ci poczyta? tutki na gtao.pl w dziale Lua .
Wysłany: 2011-11-22, 19:53
jacekp54
Wiek: 31 Na forum: 6272 dni Posty: 40
Nick w MP: Ryszard
Piwa : 3
Cytat: U ciebie jest r?wnie? thePlayer, kt?ry wyst?puje po stronie serwera.
thePlayer musi by? bo bez tego jak np. kto? wejdzie w marker to informacja wy?wietla si? wszystkim na serwerze, a nie tylko temu co wejdzie.
A co do wi?kszej czasu na wiki. Skrypt mo?e do trudnych nie nale?y ale pisanie zaj??o mi ok 3-4h. Aby go napisa? u?ywa?em tylko wiki. Nie bra?em do pisania ?adnych gotowc?w...
Wysłany: 2011-11-23, 13:09
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Z twojej wypowiedzi wynika, ?e kod jest jednak po stronie serwera.
Wysłany: 2011-12-03, 14:52
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
[quote="jacekp54"] Cytat:
thePlayer musi by? bo bez tego jak np. kto? wejdzie w marker to informacja wy?wietla si? wszystkim na serwerze, a nie tylko temu co wejdzie.
Funkcja po stronie clienta jest dla JEDNEGO gracza, czyli jak np. wykonamy o to taki kod:
Kod: function napisz()
outputChatBox("Wiadomo??", 255, 255, 255, true)
end
addCommandHandler("pokaz", napisz)
To ta wiadomo?? pokaze si? tylko JEDNEMU graczu, poniewa? jest po stronie clienta
btw. robi?e? 3-4 godziny nad tym urywkiem kodu? Sporo, ale to nied?ugo b?dziesz 80% kodu pisa? z pami?ci
Wysłany: 2011-12-03, 17:44
jacekp54
Wiek: 31 Na forum: 6272 dni Posty: 40
Nick w MP: Ryszard
Piwa : 3
Ziomek11 , zapomnia?em napisa? ?e ju? poradzi?em sobie z tym problemem.
Cytat: btw. robi?e? 3-4 godziny nad tym urywkiem kodu? Sporo, ale to nied?ugo b?dziesz 80% kodu pisa? z pami?ci
Tak to ju? jest u pocz?tkuj?cych, ale przynajmniej mam satysfakcje ?e nie u?ywa?em ?adnych gotowc?w... , tylko wiki...
A je?li ju? temat powr?ci? to, mo?ecie mnie nakierowa?:
Cytat: Dodatkowo chcia?bym dorobi? do niego timer, kt?ry po wpisaniu komendy na wej?cie do autobusu, wy?wietla czarny ekran wraz z napisem "w drodze do...", a po up?ywie czasu ekran wraca "do normalno?ci", a napis znika.
Wysłany: 2011-12-03, 18:33
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Wysłany: 2011-12-03, 20:46
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Tylko, ?e on b?dzie mia? czarny ekran i nic poza tym. Ja tam proponuj? to zrobi? tak :
1. U?yj dxDrawRectangle .
2. Ustaw parametr Alpha na 255 i kolor na czarny.
3. Nie zapomnij, ?e ka?dy gracz ma r??n? rozdzielczo?? ekranu, wi?c b?dziesz musia? pobra? wysoko?? i szeroko?? ekranu (guiGetScreenSize ).
Powodzenia.
Wysłany: 2011-12-04, 09:59
Jacob
Głupiomądry
Wiek: 28 Na forum: 5502 dni Posty: 967
Nick w MP: Jacob
Piwa : 786
Pioruniasty , on chcia? mie? czarny ekran jak ju? napisa?. I dodatkowo napis, czyli guiCreateLabel .
Wysłany: 2011-12-04, 11:38
jhomlala
Lua Skrypter
Wiek: 31 Na forum: 5323 dni Posty: 79
Nick w MP: Oli
Piwa : 42
"Jacob" napisał/a :Pioruniasty , on chcia? mie? czarny ekran jak ju? napisa?. I dodatkowo napis, czyli guiCreateLabel .
na czarnym tle lepiej bedzie wygladac dxDrawText , ale to juz szczegol.
Wysłany: 2011-12-04, 15:01
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
"jhomlala" napisał/a : "Jacob" napisał/a :Pioruniasty , on chcia? mie? czarny ekran jak ju? napisa?. I dodatkowo napis, czyli guiCreateLabel .
na czarnym tle lepiej bedzie wygladac dxDrawText , ale to juz szczegol.
To jest akurat oboj?tne.
Tagi: skrypt :: bus
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: