Wysłany: 2014-07-08, 14:46
Maximerr
Programmer PHP, LUA
Wiek: 25 Na forum: 4427 dni Posty: 548
Piwa : 1051
Witam! Stworzy?em skrypt na hotel, w?a?ciwie to tworz?. I pojawia si? problem, jak zrobi? aby po klikni?ciu na button Wejd? pobiera?o ElementData lub AccountData "hotel:wynajmij", a je?li gracz tego nie ma to wyskakuje wiadomo?? "Nie posiadasz hotelu!"? I co polecacie setElementData czy setAccountData?
KOD KLIENT: function info ( tekst )
exports . msgboxrpg : showBox ( "info" , tekst )
end
marker = createMarker ( 1498.5700683594 , - 1580.5150146484 , 13.549827575684 , "cylinder" , 1 , 0 , 255 , 0 , 50 )
local player = getLocalPlayer ()
wynajmij = guiCreateButton ( 738 , 363 , 142 , 28 , "Wynajmij pok?j" , false )
zamknij = guiCreateButton ( 738 , 401 , 142 , 28 , "Zamknij" , false )
wejdz = guiCreateButton ( 738 , 325 , 142 , 28 , "Wejd?" , false )
opis = guiCreateLabel ( 452 , 302 , 282 , 69 , "Hotel - Tutaj mo?esz wynaj?? sw?j w?asny pok?j.\nKoszt takiego pokoju wynosi 150$. Ten pok?j\n masz ju? na sta?e, a? do kupna domu." , false )
guiSetFont ( opis , "default-bold-small" )
id = guiCreateLabel ( 452 , 485 , 42 , 15 , "ID: 3" , false )
guiSetVisible ( wynajmij , false )
guiSetVisible ( zamknij , false )
guiSetVisible ( wejdz , false )
guiSetVisible ( opis , false )
guiSetVisible ( id , false )
function hotel ()
dxDrawRectangle ( 448 , 264 , 442 , 241 , tocolor ( 1 , 1 , 1 , 225 ), false )
dxDrawText ( "Hotel Los Santos" , 458 , 242 , 880 , 274 , tocolor ( 255 , 255 , 255 , 255 ), 1.20 , "bankgothic" , "center" , "top" , false , false , true , false , false )
end
addEventHandler ( "onClientMarkerHit" , marker , function( element )
guiSetVisible ( wynajmij , true )
guiSetVisible ( zamknij , true )
guiSetVisible ( wejdz , true )
guiSetVisible ( opis , true )
guiSetVisible ( id , true )
addEventHandler ( "onClientRender" , getRootElement (), hotel )
end
end )
addEventHandler ( "onClientGUIClick" , zamknij , function()
guiSetVisible ( wynajmij , false )
guiSetVisible ( zamknij , false )
guiSetVisible ( wejdz , false )
guiSetVisible ( opis , false )
guiSetVisible ( id , false )
removeEventHandler ( "onClientRender" , getRootElement (), hotel )
end )
addEventHandler ( "onClientGUIClick" , wynajmij , function()
setElementData ( player , "hotel:wynajmij" , true )
guiSetVisible ( wynajmij , false )
guiSetVisible ( zamknij , false )
guiSetVisible ( wejdz , false )
guiSetVisible ( opis , false )
guiSetVisible ( id , false )
removeEventHandler ( "onClientRender" , getRootElement (), hotel )
end )
addEventHandler ( "onClientGUIClick" , wejdz , function()
guiSetVisible ( wynajmij , false )
guiSetVisible ( zamknij , false )
guiSetVisible ( wejdz , false )
guiSetVisible ( opis , false )
guiSetVisible ( id , false )
removeEventHandler ( "onClientRender" , getRootElement (), hotel )
end )
Za pomoc =
Wysłany: 2014-07-08, 15:18
zabijaka2000
Wiek: 26 Na forum: 4983 dni Posty: 147
Nick w MP: aleks556
Piwa : 13
setElementData - po wyj?ciu z serwera usun? Ci si? dane.
setAccountData - po wyj?ciu z serwera i ponownemu zalogowaniu b?dziesz mia? dane.
Wysłany: 2014-07-08, 15:21
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4394 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
setAccountData nie dzia?a w c-side. Musisz stworzy? odwo?anie triggerem do s-side.
[ Dodano : 2014-07-08, 15:23 ]
A co odp to :
data = getAccountData ( getPlayerAccount ( element_gracza ), "hotel:wynajmij" )
if not data then
outputChatBox ( "Nie posiadasz hotelu" , element_gracza ) return end
Wysłany: 2014-07-08, 15:32
zabijaka2000
Wiek: 26 Na forum: 4983 dni Posty: 147
Nick w MP: aleks556
Piwa : 13
Je?li dzia?asz na MySQL i setElementData to ten kod powininem by? poprawny.
addEventHandler ( "onClientGUIClick" , wejdz , function()
if getElementData ( localPlayer , "hotel:wynajmij" ) == true then
guiSetVisible ( wynajmij , false )
guiSetVisible ( zamknij , false )
guiSetVisible ( wejdz , false )
guiSetVisible ( opis , false )
guiSetVisible ( id , false )
removeEventHandler ( "onClientRender" , getRootElement (), hotel )
else
info ( "Nie posiadasz hotelu!" )
end
end )
Wysłany: 2014-07-08, 15:40
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4394 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
zabijaka2000 , nie musisz dawa? "==true" kod, je?li funkcja zwr?ci TRUE kod sam to odczyta.
Wysłany: 2014-07-08, 15:45
Maximerr
Programmer PHP, LUA
Wiek: 25 Na forum: 4427 dni Posty: 548
Piwa : 1051
Nie dzia?am na MySQL, da?by kto? odrazu odwo?anie triggerem do:
function niemasz ()
data = getAccountData ( getPlayerAccount ( player ), "hotel:wynajmij" )
if not data then
outputChatBox ( "Nie posiadasz hotelu" , player ) return end
end
Wysłany: 2014-07-08, 15:47
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4394 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
od razu *
Ka?de odwo?anie wygl?da inaczej, jest zale?ne od kodu.
Wysłany: 2014-07-08, 15:54
Maximerr
Programmer PHP, LUA
Wiek: 25 Na forum: 4427 dni Posty: 548
Piwa : 1051
Czyli jak mam wogl? ten trigger zrobi?? Przez addEvent?
Wysłany: 2014-07-08, 16:05
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4394 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
przyk?ad triggera z s-side na c-side
s-side
addCommandHandler ( "tak" , function( plr )
skin = getElementModel ( plr )
triggerClientEvent ( "przeslij" , plr , skin )
end )
c-side
addEvent ( "przeslij" , true )
addEventHandler ( "przeslij" , root , function( skin )
skin = tonumber ( skin )
outputChatBox ( skin )
end )
Wysłany: 2014-07-08, 16:56
Maximerr
Programmer PHP, LUA
Wiek: 25 Na forum: 4427 dni Posty: 548
Piwa : 1051
Czy m?g?by mi to kto? zrobi?? Nie rozumiem, tego triggerowania ju? ;/
Wysłany: 2014-07-08, 16:59
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4394 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
coo w tym trudnego ? Wysylasz "sygna?" na odpowiedni? stron? i po tej stronie nadajesz nowy event i event do wydarzenia z nazw? kt?ra da?e? w triggerze.
Wysłany: 2014-07-08, 17:11
Maximerr
Programmer PHP, LUA
Wiek: 25 Na forum: 4427 dni Posty: 548
Piwa : 1051
Co? takiego?
Strona klienta: addEvent ( "niemasz" , true )
addEventHandler ( "niemasz" , root , function( data )
data = getAccountData ( getPlayerAccount ( player ), "hotel:wynajmij" )
if not data then
info ( player , "Nie posiadasz pokoju hotelowego." ) return end
end )
[ Dodano : 2014-07-08, 21:54 ]
Pomo?e kto?? Za pomoc =
Wysłany: 2014-07-14, 00:06
kubak14
Wiek: 24 Na forum: 5205 dni Posty: 119
Nick w MP: Heavy
Piwa : 149
Kod: addEvent ( "niemasz", true )
addEventHandler ( "niemasz", root, function(data)
data = getAccountData ( getPlayerAccount ( player ), "hotel:wynajmij" )
if not data then
outputChatBox("Nie posiadasz pokoju hotelowego.", player) return end
end)
Masz zdefiniowane info? Nie
Wysłany: 2014-07-14, 00:24
Maximerr
Programmer PHP, LUA
Wiek: 25 Na forum: 4427 dni Posty: 548
Piwa : 1051
kubak14 , Da?em tylko skrawek kodu, mam to zdefiniowane
Wysłany: 2014-07-14, 00:28
krydianero
Samotny Wilk
Wiek: 33 Na forum: 4782 dni Posty: 395
Nick w MP: Yoshida
Piwa : 1798
Tak maximerr co? takiego jeszcze strona servera do tego
Podpis
Multi Drive Unlimited:Nowy projekt już wkrótce
Tagi: skrypt :: hotelu
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: