Jump to content

mrhamdy

Members
  • Posts

    1
  • Joined

  • Last visited

mrhamdy's Achievements

I ordered some spaghetti with marinara sauce and I got egg noodles and ketchup. I'm an average nobody.

I ordered some spaghetti with marinara sauce and I got egg noodles and ketchup. I'm an average nobody. (2/54)

0

Reputation

  1. hello every body, i download a script call ipod from here https://community.multitheftauto.com/ind ... ils&id=330 it work fine and no problems it's server side. my problem i need it client side that can everyone run his own music on his client. i mean how to make the client read other xml file and put it in table from client side . so i can make music.xml file in every client and read it table to display in ipod menu. i don't have good background about lua programming but i can read and understand the scrpit. the server code and client code for the ipod program is shown below:- local gRoot = getRootElement(); addEvent( "serverLoadMusicTable", true ); addEventHandler( "serverLoadMusicTable", gRoot, function () local res, mTable, xml = getThisResource(), {}, xmlLoadFile( "meta.xml", res ); if xml then local i = 0; while ( xmlFindChild( xml, "file", i ) ) do local dir = xmlNodeGetAttribute( xmlFindChild( xml, "file", i ), "src" ); if dir:find( "music/" ) ~= nil then table.insert( mTable, dir ); end; i = i + 1; end; end; triggerClientEvent( source, "clientReceiveMusicTable", gRoot, mTable ); end ) and the client side is gMe = getLocalPlayer(); gRoot = getRootElement(); gResRoot = getResourceRootElement( getThisResource () ); btn = {}; ipodCoor = { moving={}, pos={} }; addEvent( "clientReceiveMusicTable", true ); addEventHandler( "onClientResourceStart", gResRoot, function () outputChatBox( "pree i to open ipod", 0, 255, 0 ); ipod = guiCreateStaticImage( 1.0, 0.2279, 0.1916, 0.4036, "ipod.png", true ); --0.7744 ipodCoor.moving[ipod] = false; ipodCoor.pos[ipod] = "out"; songDisplay = guiCreateGridList( 0.0671, 0.0245, 0.8504, 0.4663, true, ipod ); btn[1] = guiCreateButton( 0.64, 0.67, 0.15, 0.05, "Play", true, ipod ); btn[2] = guiCreateButton( 0.185, 0.67, 0.15, 0.05, "Stop", true, ipod ); btn[3] = guiCreateButton( 0.42, 0.825, 0.15, 0.05, "vD", true, ipod ); btn[4] = guiCreateButton( 0.42, 0.525, 0.15, 0.05, "vU", true, ipod ); for i=1,4 do guiSetAlpha( btn[i], 1.0 ); guiSetFont( btn[i], "default-small" ); end; songList = guiGridListAddColumn( songDisplay, "My Songs", 0.85 ); addEvent( "serverLoadMusicTable", true ); addEventHandler( "onClientGUIClick", gRoot, function () if source == btn[1] then local selSong = guiGridListGetItemText( songDisplay, guiGridListGetSelectedItem( songDisplay ) ); if selSong then if not music then music = playSound( tostring( selSong ) ); else stopSound( music ); music = playSound( tostring( selSong ) ); end; end; elseif source == btn[2] then if music then stopSound( music ); music = nil; end; elseif source == btn[4] then if music then setSoundVolume( music, getSoundVolume( music ) + 0.25 ); if getSoundVolume( music ) > 1 then setSoundVolume( music, 1 ); end; end; elseif source == btn[3] then if music then setSoundVolume( music, getSoundVolume( music ) - 0.25 ); if getSoundVolume( music ) < 0 then setSoundVolume( music, 0 ); end; end; end; end ) bindKey( "i", "down", function () if ipodCoor.moving[ipod] == false then if ipodCoor.pos[ipod] == "out" then showCursor( true, false ); ipodCoor.moving[ipod] = true; addEventHandler( "onClientRender", gRoot, openIPod ); toggleControl( "fire", false ); else showCursor( false, false ); ipodCoor.moving[ipod] = true; addEventHandler( "onClientRender", gRoot, closeIPod ); toggleControl( "fire", true ); end; end; end ) end ) function openIPod() local x, y = guiGetPosition( ipod, true ); guiSetPosition( ipod, x - 0.01, y, true ); if x < 0.775 then ipodCoor.moving[ipod] = false; ipodCoor.pos[ipod] = "in"; removeEventHandler( "onClientRender", gRoot, openIPod ); end; end; function closeIPod() local x, y = guiGetPosition( ipod, true ); guiSetPosition( ipod, x + 0.01, y, true ); if x > 1.0 then guiSetPosition( ipod, 1.0, y, true ); ipodCoor.moving[ipod] = false; ipodCoor.pos[ipod] = "out"; removeEventHandler( "onClientRender", gRoot, closeIPod ); end; end; addEventHandler( "clientReceiveMusicTable", gRoot, function ( mTable ) if mTable == nil then addEvent( "serverLoadMusicTable", true ); else for _, v in ipairs ( mTable ) do local row = guiGridListAddRow( songDisplay ); guiGridListSetItemText( songDisplay, row, 1, v, false, false ); end; guiGridListAutoSizeColumn( songDisplay, 1 ); guiBringToFront( songDisplay ); end; end ) i'll be thankful for your reply
×
×
  • Create New...