Furious^ONE! Posted August 13, 2014 Share Posted August 13, 2014 (edited) Bonjour, Je recherche actuellement comment je fait pour mettre une image de fond sur la GUI du freeroam quand on appuie sur F1. J'ai tenté d'essaiyé mais je n'arrive pas car quand demarre le freeroam le F1 Ne fonctionne pas.. Voilà le code: J'ai ajouté ça a la ligne 1524. {'img', src='fnf.jpg'} fr_client.lua: CONTROL_MARGIN_RIGHT = 5 LINE_MARGIN = 5 LINE_HEIGHT = 16 g_Root = getRootElement() g_ResRoot = getResourceRootElement(getThisResource()) g_Me = getLocalPlayer() server = createServerCallInterface() guiSetInputMode("no_binds_when_editing") --------------------------- -- Set skin window --------------------------- function skinInit() setControlNumber(wndSkin, 'skinid', getElementModel(g_Me)) end function showSkinID(leaf) if leaf.id then setControlNumber(wndSkin, 'skinid', leaf.id) end end function applySkin() local skinID = getControlNumber(wndSkin, 'skinid') if skinID then server.setMySkin(skinID) fadeCamera(true) end end wndSkin = { 'wnd', text = 'Set skin', width = 250, x = -20, y = 0.3, controls = { { 'lst', id='skinlist', width=230, height=290, columns={ {text='Skin', attr='name'} }, rows={xml='skins.xml', attrs={'id', 'name'}}, onitemclick=showSkinID, onitemdoubleclick=applySkin }, {'txt', id='skinid', text='', width=50}, {'btn', id='set', onclick=applySkin}, {'btn', id='close', closeswindow=true} }, oncreate = skinInit } function setSkinCommand(cmd, skin) skin = skin and tonumber(skin) if skin then server.setMySkin(skin) fadeCamera(true) closeWindow(wndSpawnMap) closeWindow(wndSetPos) end end addCommandHandler('setskin', setSkinCommand) addCommandHandler('ss', setSkinCommand) --------------------------- --- Set animation window --------------------------- function applyAnimation(leaf) if type(leaf) ~= 'table' then leaf = getSelectedGridListLeaf(wndAnim, 'animlist') if not leaf then return end end server.setPedAnimation(g_Me, leaf.parent.name, leaf.name, true, true) end function stopAnimation() server.setPedAnimation(g_Me, false) end addCommandHandler("stopanim", stopAnimation) bindKey("lshift", "down", "stopanim") wndAnim = { 'wnd', text = 'Set animation', width = 250, x = -20, y = 0.3, controls = { { 'lst', id='animlist', width=230, height=290, columns={ {text='Animation', attr='name'} }, rows={xml='animations.xml', attrs={'name'}}, expandlastlevel=false, onitemdoubleclick=applyAnimation }, {'btn', id='set', onclick=applyAnimation}, {'btn', id='stop', onclick=stopAnimation}, {'btn', id='close', closeswindow=true} } } addCommandHandler('anim', function(command, lib, name) server.setPedAnimation(g_Me, lib, name, true, true) end ) --------------------------- -- Weapon window --------------------------- function addWeapon(leaf, amount) if type(leaf) ~= 'table' then leaf = getSelectedGridListLeaf(wndWeapon, 'weaplist') amount = getControlNumber(wndWeapon, 'amount') if not amount or not leaf then return end end server.giveMeWeapon(leaf.id, amount) end wndWeapon = { 'wnd', text = 'Give weapon', width = 250, controls = { { 'lst', id='weaplist', width=230, height=280, columns={ {text='Weapon', attr='name'} }, rows={xml='weapons.xml', attrs={'id', 'name'}}, onitemdoubleclick=function(leaf) addWeapon(leaf, 500) end }, {'br'}, {'txt', id='amount', text='500', width=60}, {'btn', id='add', onclick=addWeapon}, {'btn', id='close', closeswindow=true} } } function giveWeaponCommand(cmd, weapon, amount) weapon = tonumber(weapon) or getWeaponIDFromName(weapon) if not weapon then return end amount = amount and tonumber(amount) or 500 server.giveMeWeapon(math.floor(weapon), amount) end addCommandHandler('give', giveWeaponCommand) addCommandHandler('wp', giveWeaponCommand) --------------------------- -- Fighting style --------------------------- addCommandHandler('setstyle', function(cmd, style) style = style and tonumber(style) if style then server.setPedFightingStyle(g_Me, style) end end ) --------------------------- -- Clothes window --------------------------- function clothesInit() if getElementModel(g_Me) ~= 0 then errMsg('You must have the CJ skin set in order to apply clothes.') closeWindow(wndClothes) return end if not g_Clothes then triggerServerEvent('onClothesInit', g_Me) end end addEvent('onClientClothesInit', true) addEventHandler('onClientClothesInit', g_Root, function(clothes) g_Clothes = clothes.allClothes for i,typeGroup in ipairs(g_Clothes) do for j,cloth in ipairs(typeGroup.children) do if not cloth.name then cloth.name = cloth.model .. ' - ' .. cloth.texture end cloth.wearing = clothes.playerClothes[typeGroup.type] and clothes.playerClothes[typeGroup.type].texture == cloth.texture and clothes.playerClothes[typeGroup.type].model == cloth.model or false end table.sort(typeGroup.children, function(a, b) return a.name < b.name end) end bindGridListToTable(wndClothes, 'clothes', g_Clothes, false) end ) function clothListClick(cloth) setControlText(wndClothes, 'addremove', cloth.wearing and 'remove' or 'add') end function applyClothes(cloth) if not cloth then cloth = getSelectedGridListLeaf(wndClothes, 'clothes') if not cloth then return end end if cloth.wearing then cloth.wearing = false setControlText(wndClothes, 'addremove', 'add') server.removePlayerClothes(g_Me, cloth.parent.type) else local prevClothIndex = table.find(cloth.siblings, 'wearing', true) if prevClothIndex then cloth.siblings[prevClothIndex].wearing = false end cloth.wearing = true setControlText(wndClothes, 'addremove', 'remove') server.addPedClothes(g_Me, cloth.texture, cloth.model, cloth.parent.type) end end wndClothes = { 'wnd', text = 'Clothes', x = -20, y = 0.3, width = 350, controls = { { Edited August 16, 2014 by Guest Link to comment
pRemi Posted August 14, 2014 Share Posted August 14, 2014 Bonjour, Apparemment, tu essais une chose.. Tu vois que ça fonctionne pas et tu poste sur le forum pour que quelqu'un aide. J'ai pas vraiment envie d'aider quelqu'un qui essais une seule fois et pas manque de volonté et par flemme préfère poster un message sur le forum pour obtenir la réponse. Tu dis vouloir modifier le gui et y mettre un fond d'écran donc tu ouvre le premier fichier que tu voit côté client en espérant (Parce que bon .. Ça sert a rien de vérifier après tout les autres fichiers) que c'est le bon. Après avoir ouvert le fichier, sélectionné aux pifs, tu regarde rapidement le code pour t'y inspirer afin de faire ce que tu souhaite. Une fois avoir regarder le code, tu t'y inspire et tu nous ajoute le code suivant ligne 1524 : {'img', src='fnf.jpg'} Et tu espère évidemment que le code fonctionnera du premier essais. Après tout ça sert à quoi de persévérer et de réfléchir ou bien même de faire des recherches sur le wiki ? Par contre, je suis d'accord pour dire que le code du GUI est relativement complexe.. Et demande à avoir de bonne connaissance en LUA pour pouvoir le comprendre. J'espère que tu comprendra sincèrement, Rémi Link to comment
Furious^ONE! Posted August 14, 2014 Author Share Posted August 14, 2014 Merci de ton aide , mais j'ai essaiyé de le faire fonctionné avec plusieurs essaie sur un serveur exprés pour tout ce qui est Mapping script etc.. et sa n'a pas fonctionne , j'ai même fait planté le freeroam a plusieurs reprise. Link to comment
Moderators Citizen Posted August 14, 2014 Moderators Share Posted August 14, 2014 j'ai même fait planté le freeroam a plusieurs reprise. Quand tu rajoutes une ligne dans un tableau, il faut mettre la virgule à la fin si ce n'est pas la dernière ligne. Bon sinon, je viens de lire le code qui gère les fenêtres dans freeroam et perso je trouve ça énorme ! En gros il conçoit sa fenêtre dans un tableau en respectant des conventions et une fois fait, y a plus qu'à envoyer le petit tableau à la fonction createWindow qui suit les même conventions afin de créer la fenêtre avec ses boutons etc en appelant les bonnes fonctions (guiCreateWindow, guiCreateCheckBox, guiCreateStaticImage etc). Bref c'est du bon code et c'est puissant ! En gros tu n'as pas indiqué la taille que l'image devait faire: {'img', src='fnf.jpg', width=280, height=300}, Modifie les valeurs comme bon te semblera. Vérifie aussi que t'as placé fnf.jpg dans le dossier freeroam au même endroit que map.png etc. Normalement ça devrait marcher. Si c'est pas le cas, soit bien sûr que tu modifies le bon fichier et que t'as bien pensé à restart freeroam Link to comment
Furious^ONE! Posted August 15, 2014 Author Share Posted August 15, 2014 Très bien , merci beaucoup celà fonctionne ! mais pour la mettre en arriére plan comment dois-je m'y prendre ? J'aimerai bien que sa me donne sa: Link to comment
Moderators Citizen Posted August 15, 2014 Moderators Share Posted August 15, 2014 Tu aurais pu nous donner un screenshot pour voir le problème mais je pense qu'il suffit de mettre img blabla en premier à la ligne 1515 au lieu de 1524 Ou alors préciser explicitement la position de l'image en faisant comme ceci: {'img', src='fnf.jpg', x=0, y=0, width=280, height=300}, Link to comment
Furious^ONE! Posted August 15, 2014 Author Share Posted August 15, 2014 Merci, oui je sais , je m'en excuse donc logiquement la sa devrai fonctionne et mettre une image d'arriére plan sur le GUI Freeroam Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now