Wysłany: 2015-05-15, 20:36
teusz11
Wiek: 29 Na forum: 4652 dni Posty: 191
Nick w MP: Matevsz
Piwa : 4
Witam, gdy wejde w marker pokazuje si? gui lecz w ?rodku nie ma skin?w, button dzia?a, gui si? zamyka itp. Liste skin?w wczytuje z pliku Skiny.xml.
local screenWidth , screenHeight = guiGetScreenSize ()
GUIEditor = {
gridlist = {},
window = {},
button = {}
}
addEventHandler ( "onClientResourceStart" , resourceRoot ,
function()
windowWidth , windowHeight = 335 , 414
GUIEditor . window [ 1 ] = guiCreateWindow ( 1195 , 349 , 361 , 509 , "Skin Shop v.1.0.0" , false )
guiWindowSetSizable ( GUIEditor . window [ 1 ], false )
GUIEditor . gridlist [ 1 ] = guiCreateGridList ( 9 , 24 , 342 , 422 , false , GUIEditor . window [ 1 ])
guiGridListAddColumn ( GUIEditor . gridlist [ 1 ], "Nazwa" , 0.5 )
guiGridListAddColumn ( GUIEditor . gridlist [ 1 ], "ID" , 0.5 )
GUIEditor . button [ 1 ] = guiCreateButton ( 118 , 463 , 134 , 31 , "Zamknij" , false , GUIEditor . window [ 1 ])
guiSetVisible ( GUIEditor . window [ 1 ], false )
addEventHandler ( "onClientGUIClick" , GUIEditor . button [ 1 ], function () guiSetVisible ( GUIEditor . window [ 1 ], false ) showCursor ( false ) setPlayerHudComponentVisible ( "all" , true ) setElementModel ( localPlayer , Model ) setElementFrozen ( localPlayer , false ) end , false )
addEventHandler ( "onClientGUIDoubleClick" , GUIEditor . gridlist [ 1 ], previewSkin , false )
end
)
function PokazSkina ( TabelaSkinow )
guiGirdListClear ( GUIEditor . gridlist [ 1 ])
setElementFrozen ( localPlayer , true )
for category , skins in pairs ( TabelaSkinow ) do
local row = guiGirdListAddRow ( GUIEditor . gridlist [ 1 ])
guiGirdListSetItemText ( GUIEditor . gridlist [ 1 ], row , 1 , category , true , false )
for id , name in pairs ( skins ) do
local row = guiGirdListAddRow ( GUIEditor . gridlist [ 1 ])
guiGirdListSetItemText ( GUIEditor . gridlist [ 1 ], row , 1 , name , false , false )
guiGirdListSetItemText ( GUIEditor . gridlist [ 1 ], row , 2 , id , false , false )
end
end
guiSetVisible ( GUIEditor . gridlist [ 1 ], true )
showCursor ( true )
model = getElementModel ( localPlayer )
end
addEvent ( "clothes.showSkin" , true )
addEventHandler ( "clothes.showSkin" , root , PokazSkina )
function previewSkin ()
local row = guiGirdListGetSelectedItem ( GUIEditor . gridlist [ 1 ])
if ( not row or row == - 1 ) then return end
local id = guiGirdListGetItemText ( GUIEditor . gridlist [ 1 ], row , 2 )
id = tonumber ( id )
if ( not id ) then return end
setElementModel ( localPlayer , id )
end
function WybierzSkina ()
local row = guiGirdListGetSelectedItem ( GUIEditor . gridlist [ 1 ])
if ( not row or row == - 1 ) then return end
local id = guiGirdListGetItemText ( GUIEditor . gridlist [ 1 ], row , 2 )
id = tonumber ( id )
if ( not id ) then return end
setElementModel ( localPlayer , model )
setElementFrozen ( localPlayer , false )
guiSetVisible ( GUIEditor . window [ 1 ], false )
showCursor ( false )
triggerServerEvent ( "clothes.WybierzSkina" , root , id )
triggerServerEvent ( "clothes.WybierzSkina" , root , id )
end
addEventHandler ( "onClientGUIDoubleClick" , GUIEditor . gridlist [ 1 ], WybierzSkina )
Wysłany: 2015-05-15, 21:40
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4395 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
Ale namiesza?e?. po 1.
Więcej informacji znajdziesz w Wikipedii MTA: xmlLoadFile
Wysłany: 2015-05-16, 12:36
teusz11
Wiek: 29 Na forum: 4652 dni Posty: 191
Nick w MP: Matevsz
Piwa : 4
Mam xmlLoadFile ale po stronie servera, doda?em po stronie clienta ale nadal nie wida? skin?w w gui
Wysłany: 2015-05-18, 14:46
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4395 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
Wszystkie oddzia?owania XML r?b w s-side i triggeruj wyniki na c-side
Wysłany: 2015-05-18, 16:51
teusz11
Wiek: 29 Na forum: 4652 dni Posty: 191
Nick w MP: Matevsz
Piwa : 4
Daje do sprawdzenia:
S:
local Markerwejscie = createMarker ( 462 ,- 1500.8000488281 , 31.60000038147 , "arrow" , 1.20000004 , 0 , 0 , 0 , 0 )
local Markerwyjscie = createMarker ( 207.69999694824 ,- 111.59999847412 , 1005.9000244141 , "arrow" , 1.20000004 , 0 , 0 , 0 , 0 )
local marker = createMarker ( 207.60000610352 ,- 100.90000152588 , 1004.299987793 , "cylinder" , 1 , 255 , 255 , 255 )
local sprzedawca = createPed ( 211 , 207.60000610352 ,- 98.599998474121 , 1005.299987793 , 180.005493 )
local blip = createBlip ( 462 ,- 1500.8000488281 , 31.60000038147 , 45 )
skinsTable = {}
skinsTable . all = {}
skinsTable . categories = {}
function Wejscie ( player )
if getElementType ( player )== "player" then
if source == Markerwejscie then
setElementPosition ( player , 207.69999694824 ,- 109.90000152588 , 1005.0999755859 )
setElementInterior ( player , 15 )
setElementInterior ( sprzedawca , 15 )
setElementInterior ( Markerwyjscie , 15 )
setElementInterior ( marker , 15 )
setElementFrozen ( player , true )
setTimer ( setElementFrozen , 2000 , 1 , player , false )
end
end
end
addEventHandler ( "onMarkerHit" , Markerwejscie , Wejscie )
function Wyjscie ( player )
if getElementType ( player )== "player" then
if source == Markerwyjscie then
setElementPosition ( player , 459.20001220703 ,- 1500.9000244141 , 31 )
setElementInterior ( player , 0 )
setElementFrozen ( player , true )
setTimer ( setElementFrozen , 2000 , 1 , player , false )
end
end
end
addEventHandler ( "onMarkerHit" , Markerwyjscie , Wyjscie )
function loadSkins ()
local xml = xmlLoadFile ( "Skiny.xml" )
for index , category in pairs ( xmlNodeGetChildren ( xml )) do
local cName = xmlNodeGetAttribute ( category , "name" )
skinsTable . categories [ cName ] = {}
for index , skin in pairs ( xmlNodeGetChildren ( category )) do
local id , name = xmlNodeGetAttribute ( skin , "model" ), xmlNodeGetAttribute ( skin , "name" )
skinsTable . categories [ cName ][ id ] = name
skinsTable . all [ id ] = name
end
end
xmlUnloadFile ( xml )
end
addEventHandler ( "onResourceStart" , resourceRoot , loadSkins )
function WybieranieSkina ( player , matchingDimension )
if ( player and getElementType ( player ) == "player" and matchingDimension ) then
local skins = getSkinsTable ()
triggerServerEvent ( player , "clothes.showSkin" , player , skins )
end
end
function getSkinsTable ( category )
if not category then
return skinsTable . categories or false
elseif category == "all" then
return skinsTable . all or false
else
return skinsTable [ category ] or false
end
return false
end
addEventHandler ( "onMarkerHit" , marker ,
function( hitElement , matchingDimension )
if matchingDimension and isElement ( hitElement ) and getElementType ( hitElement ) == "player" then
local skins = getSkinsTable ()
triggerClientEvent ( player , "clothes.showSkin" , player , Skiny )
end
end
)
C:
GUIEditor = {
gridlist = {},
window = {},
button = {}
}
addEventHandler ( "onClientResourceStart" , resourceRoot ,
function()
GUIEditor . window [ 1 ] = guiCreateWindow ( 1195 , 349 , 361 , 509 , "Skin Shop" , false )
guiWindowSetSizable ( GUIEditor . window [ 1 ], false )
GUIEditor . gridlist [ 1 ] = guiCreateGridList ( 9 , 24 , 342 , 422 , false , GUIEditor . window [ 1 ])
guiGridListAddColumn ( GUIEditor . gridlist [ 1 ], "Nazwa" , 0.5 )
guiGridListAddColumn ( GUIEditor . gridlist [ 1 ], "ID" , 0.5 )
GUIEditor . button [ 1 ] = guiCreateButton ( 118 , 463 , 134 , 31 , "Zamknij" , false , GUIEditor . window [ 1 ])
guiSetVisible ( GUIEditor . window [ 1 ], false )
addEventHandler ( "onClientGUIClick" , GUIEditor . button [ 1 ], function () guiSetVisible ( GUIEditor . window [ 1 ], false ) showCursor ( false ) setPlayerHudComponentVisible ( "all" , true ) setElementModel ( localPlayer , Model ) setElementFrozen ( localPlayer , false ) end , false )
addEventHandler ( "onClientGUIDoubleClick" , GUIEditor . gridlist [ 1 ], WybierzSkina , false )
end
)
function showSkin ( skinsTable )
guiGridListClear ( GUIEditor . girldlist [ 1 ])
setElementFrozen ( localPlayer , true )
for category , skins in pairs ( skinsTable ) do
local row = guiGridListAddRow ( GUIEditor . girldlist [ 1 ])
guiGridListSetItemText ( GUIEditor . girldlist [ 1 ], row , 1 , category , true , false )
for id , name in pairs ( skins ) do
local row = guiGridListAddRow ( GUIEditor . girldlist [ 1 ])
guiGridListSetItemText ( GUIEditor . girldlist [ 1 ], row , 1 , name , false , false )
guiGridListSetItemText ( GUIEditor . girldlist [ 1 ], row , 2 , id , false , false )
end
end
guiSetVisible ( GUIEditor . window [ 1 ], true )
showCursor ( true )
model = getElementModel ( localPlayer )
end
addEvent ( "clothes.showSkin" , true )
addEventHandler ( "clothes.showSkin" , root , showSkin )
function previewSkin ()
local row = guiGridListGetSelectedItem ( GUIEditor . girldlist [ 1 ])
if ( not row or row == - 1 ) then return end
local id = guiGridListGetItemText ( GUIEditor . girldlist [ 1 ], row , 2 )
id = tonumber ( id )
if ( not id ) then return end
setElementModel ( localPlayer , id )
end
function WybierzSkina ()
local row = guiGirdListGetSelectedItem ( GUIEditor . girldlist [ 1 ])
if ( not row or row == - 1 ) then return end
local id = guiGirdListGetItemText ( GUIEditor . girldlist [ 1 ], row , 2 )
id = tonumber ( id )
if ( not id ) then return end
setElementModel ( localPlayer , model )
setElementFrozen ( localPlayer , false )
guiSetVisible ( GUIEditor . window [ 1 ], false )
showCursor ( false )
triggerServerEvent ( "clothes.WybierzSkina" , root , id )
end
function wMarkerze ( center_window )
local screenW , screenH = guiGetScreenSize ()
local windowW , windowH = guiGetSize ( center_window , false )
local x , y = ( screenW - windowW )/ 2 ,( screenH - windowH )/ 2
guiSetPosition ( center_window , x , y , false )
end
function Skiny ()
local xml = xmlLoadFile ( "Skiny.xml" )
for index , category in pairs ( xmlNodeGetChildren ( xml )) do
local cName = xmlNodeGetAttribute ( category , "name" )
skinsTable . categories [ cName ] = {}
for index , skin in pairs ( xmlNodeGetChildren ( category )) do
local id , Nazwa = xmlNodeGetAttribute ( skin , "Model" ), xmlNodeGetAttribute ( skin , "name" )
skinsTable . categories [ cNames ][ id ] = Nazwa
skinsTable . all [ id ] = Nazwa
end
end
xmlUnloadFile ( xml )
end
addEventHandler ( "onResourceStart" , resourceRoot , Skiny )
Jedyny error w debugscript:
S: line81: Bad argument @ 'triggerClientEvent' [Expected string at argument 1, got nil]
Wysłany: 2015-05-18, 16:56
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4395 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
Nie robi?e? tego sam prawda?
Wysłany: 2015-05-18, 17:07
teusz11
Wiek: 29 Na forum: 4652 dni Posty: 191
Nick w MP: Matevsz
Piwa : 4
Prawda, edytuje to tylko pod swoje ustawienia
Wysłany: 2015-05-18, 17:16
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4395 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
Zr?b to sam bo jest tu ponad 20 linijek kt?re mo?na zniwelowa? do prostszego kodu. Zr?b sam i poka? tu efekty oraz wyskakuj?ce b??dy.
Tagi: brak :: skinów :: gui
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: