#Raiden Posted August 12, 2015 Share Posted August 12, 2015 Hola, Necesito ayuda de nuevo , Pueden decirme como hacer que al precionar los botones ''Skins Vip'' Y ''Autos Vip'' Se abra una venta así como la del freeroam, y y poder añadir los skins y autos que quiero, Otra cosa es ¿Cómo puedo hacer que el panel Se abra en el centro de la pantalla En todas las resoluciones? Quiero que el panel quede igual solo que aparezca en todas las resoluciones, bueno solo eso , espero me entiendan... Link to comment
AlFA# Posted August 12, 2015 Share Posted August 12, 2015 ¿Como quieres que sepamos el código? Postea la client-side para que te ayudemos con lo de la resolución. Link to comment
aka Blue Posted August 12, 2015 Share Posted August 12, 2015 Lo que puedes hacer es una ventana con una gridlist, hecho eso, le añades todos los skins "vip" en la gridlist y luego haces que al hacerle click a uno, se lo ponga mediante un trigger al servidor. Link to comment
Tomas Posted August 12, 2015 Share Posted August 12, 2015 Podrías usar centerWindow, si el panel no es muy grande, funcionará en todas las resoluciones. Link to comment
#Raiden Posted August 12, 2015 Author Share Posted August 12, 2015 Blue, pero como hago para que al darle click a ''skins vip'' salga esa gridlist? aqui está el codigo: function centerWindow (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 centerWindow1 (center_window1) local screenW1, screenH1 = guiGetScreenSize() local windowW1, windowH1 = guiGetSize(center_window1, false) local x1, y1 = (screenW1- windowW1) /2,(screenH1 - windowH1) /6 guiSetPosition(center_window1, x1, y1, false) end function centerWindow2 (center_window2) local screenW2, screenH2 = guiGetScreenSize() local windowW2, windowH2 = guiGetSize(center_window2, false) local x2, y2 = (screenW2- windowW2) /2,(screenH2 - windowH2) /2.5 guiSetPosition(center_window2, x2, y2, false) end local xp, yp = guiGetScreenSize() local ypf = (yp - 157) /2 local mix, miy = 1366, 768 window = guiCreateWindow(103, 99, 618, 404, "Panel V.I.P", false) guiWindowSetSizable(window, false) guiSetProperty(window, "CaptionColour", "FF0BFD3E") centerWindow(window) memoVIP = guiCreateMemo(9, 25, 599, 100, "Hola!!, Bienvenido al panel vip, aqui podras hacer varias cosas que un jugador Normal no podria hacer, Habrá teleports para los V.I.P por ahora Solo Esta La Base Vip, Si tienes una sugerencia o vez algun bug sobre el panel No dudes en decirmelo nick: Raiden, Tambien Si quieres otros Teleports Solo Preguntame si lo puedo hacer... Bueno, ya terminando Lo ultimo Es un Panel Warp que se utiliza Poniendo /warp Gracias.!!", false, window) guiMemoSetReadOnly( memoVIP, true ) Jugador = guiCreateLabel(19, 145, 61, 19, "Jugador:", false, window) JetPack = guiCreateLabel(19, 168, 61, 19, "JetPack:", false, window) guiLabelSetColor(JetPack, 8, 108, 245) Invisible = guiCreateLabel(19, 192, 49, 14, "Invisible:", false, window) guiLabelSetColor(Invisible, 114, 138, 134) Velocidadx3 = guiCreateLabel(19, 216, 76, 14, "Velocidad x3:", false, window) guiLabelSetColor(Velocidadx3, 247, 227, 4) AutoIndestructible = guiCreateLabel(19, 240, 110, 14, "Auto Indestructible:", false, window) guiLabelSetColor(AutoIndestructible, 250, 0, 0) AutoInvisible = guiCreateLabel(19, 264, 76, 16, "Auto Invisible:", false, window) guiLabelSetColor(AutoInvisible, 7, 242, 35) ItemsVip = guiCreateLabel(241, 308, 61, 19, "Items Vip", false, window) guiSetFont(ItemsVip, "clear-normal") SkinsVip = guiCreateButton(27, 337, 72, 24, "Skins Vip", false, window) guiSetProperty(SkinsVip, "NormalTextColour", "FF07F223") AutosVip = guiCreateButton(109, 337, 72, 24, "Autos Vip", false, window) guiSetProperty(AutosVip, "NormalTextColour", "FFF1B705") Vida200 = guiCreateButton(27, 370, 72, 24, "Vida 200%", false, window) guiSetProperty(Vida200, "NormalTextColour", "FFF80000") Chaleco = guiCreateButton(109, 374, 72, 20, "Chaleco", false, window) guiSetProperty(Chaleco, "NormalTextColour", "FF03F4CF") PackArmas1 = guiCreateButton(191, 337, 82, 24, "Pack Armas 1", false, window) guiSetProperty(PackArmas1, "NormalTextColour", "FFE403F2") HabilidadDeArmas = guiCreateButton(283, 337, 82, 57, "Todas las Habilidades De Armas", false, window) guiSetProperty(HabilidadDeArmas, "NormalTextColour", "FFE36C14") Teleports = guiCreateLabel(355, 135, 61, 19, "Teleports", false, window) guiSetFont(Teleports, "clear-normal") BaseVip = guiCreateButton(350, 164, 66, 24, "Base Vip ", false, window) guiSetProperty(BaseVip, "NormalTextColour", "FF07F223") MasTeleports = guiCreateButton(432, 164, 141, 24, "Pronto mas teleports ", false, window) guiSetProperty(MasTeleports, "NormalTextColour", "FFFFFFFF") guiSetVisible(window, false) CheckJetPack = guiCreateCheckBox(68, 171, 15, 15, "", false, false, window) CheckInvisible = guiCreateCheckBox(65, 192, 15, 15, "", true, false, window) CheckVelocidadx3 = guiCreateCheckBox(95, 215, 15, 15, "", false, false, window) CheckAutoGod = guiCreateCheckBox(129, 240, 15, 15, "", true, false, window) CheckAutoInvisible = guiCreateCheckBox(95, 264, 15, 15, "", false, false, window) OnJetPack = guiCreateLabel(84, 170, 21, 16, "On", false, window) guiLabelSetColor(OnJetPack, 254, 13, 13) BarraJetPack = guiCreateLabel(100, 170, 21, 16, "/", false, window) OffJetPack = guiCreateLabel(105, 170, 21, 16, "Off", false, window) OnInvisible = guiCreateLabel(83, 191, 21, 16, "On", false, window) guiLabelSetColor(OnInvisible, 254, 13, 13) BarraInvisible = guiCreateLabel(100, 190, 21, 16, "/", false, window) OffJetPack = guiCreateLabel(105, 191, 21, 16, "Off", false, window) OnVelocidadx3 = guiCreateLabel(114, 214, 21, 16, "On", false, window) guiLabelSetColor(OnVelocidadx3, 254, 13, 13) BarraVelocidadx3 = guiCreateLabel(133, 214, 21, 16, "/", false, window) OffJetPack = guiCreateLabel(139, 214, 21, 16, "Off", false, window) OnAutoGod = guiCreateLabel(145, 238, 21, 16, "On", false, window) guiLabelSetColor(OnAutoGod, 254, 13, 13) BarraAutoGod = guiCreateLabel(166, 238, 21, 16, "/", false, window) OffAutoGod = guiCreateLabel(170, 238, 21, 16, "Off", false, window) OnAutoInvisible = guiCreateLabel(112, 263, 21, 16, "On", false, window) guiLabelSetColor(OnAutoInvisible, 254, 13, 13) BarraInvisible = guiCreateLabel(0.21, 0.65, 0.03, 0.04, "/", true, window) OffAutoInvisible = guiCreateLabel(135, 263, 21, 16, "Off", false, window) PackArmas2 = guiCreateButton(191, 371, 82, 24, "Pack Armas 2", false, window) guiSetProperty(PackArmas2, "NormalTextColour", "FFD73030") function Habilidades() showCursor(true) triggerServerEvent("HabilidadesFuncion", getLocalPlayer() ) end addEventHandler("onClientGUIClick",HabilidadDeArmas, Habilidades ) function Vida1() showCursor(true) triggerServerEvent("VidaFuncion", getLocalPlayer() ) end addEventHandler("onClientGUIClick",Vida200, Vida1, false ) function Chaleco1 () showCursor (true) triggerServerEvent ( "ChalecoFuncion", getLocalPlayer() ) end addEventHandler("onClientGUIClick",Chaleco, Chaleco1, false ) addEventHandler ( "onClientGUIClick", getResourceRootElement(getThisResource()), function ( ) if (source == BaseVip) then local player = getLocalPlayer() setElementPosition (player , 1707.45435, -2398.20752, 13.55469 ) end end ) function isInvisable() if getElementAlpha(localPlayer) == 0 then guiCheckBoxSetSelected(CheckInvisible) else guiCheckBoxSetSelected(CheckInvisible, false) end end addEventHandler("onClientResourceStart", localPlayer, isInvisable) function invisable() if guiCheckBoxGetSelected(CheckInvisible) == true then triggerServerEvent("noalpha", getRootElement(), localPlayer) else triggerServerEvent("noalpha1", getRootElement(), localPlayer) end end addEventHandler("onClientGUIClick", CheckInvisible, invisable, false) function carDamage() if isPedInVehicle(localPlayer) == true then if guiCheckBoxGetSelected(CheckAutoGod) == true then triggerServerEvent("cardamage", getRootElement(), localPlayer) else triggerServerEvent("nodamage", getRootElement(), localPlayer) end else guiCheckBoxSetSelected(CheckAutoGod, false) end end addEventHandler("onClientGUIClick", CheckAutoGod, carDamage, false) function inviscar() if isPedInVehicle(localPlayer) == true then if guiCheckBoxGetSelected(CheckAutoInvisible) == true then triggerServerEvent("nocaralpha", getRootElement(), localPlayer) else triggerServerEvent("nocaralpha1", getRootElement(), localPlayer) end else guiCheckBoxSetSelected(CheckAutoInvisible, false) end end addEventHandler("onClientGUIClick", CheckAutoInvisible, inviscar, false) function velo() local selected = guiCheckBoxGetSelected(CheckVelocidadx3) if selected then setGameSpeed(3) elseif not selected then setGameSpeed(1) end end addEventHandler("onClientGUIClick", CheckVelocidadx3, velo, false) function JetPack() if guiCheckBoxGetSelected(CheckJetPack) == true then triggerServerEvent("jetpack", getRootElement(), localPlayer) else triggerServerEvent("jetpack1", getRootElement(), localPlayer) end end addEventHandler("onClientGUIClick", CheckJetPack, JetPack, false) function show_gui() if guiGetVisible(window) == false then guiSetVisible(CheckInvisible, true) guiSetVisible(CheckJetPack, true) guiSetVisible(CheckVelocidadx3, true) guiSetVisible(CheckAutoInvisible, true) guiSetVisible(CheckAutoGod, true) end end function openabout() guiSetVisible(CheckInvisible, false) guiSetVisible(CheckJetPack, false) guiSetVisible(CheckVelocidadx3, false) guiSetVisible(CheckAutoInvisible, false) guiSetVisible(CheckAutoGod, false) end addEventHandler("onClientGUIClick", getRootElement(), openabout, false) function closeabout() guiSetVisible(CheckInvisible, true) guiSetVisible(CheckJetPack, true) guiSetVisible(CheckVelocidadx3, true) guiSetVisible(CheckAutoInvisible, true) guiSetVisible(CheckAutoGod, true) end addEventHandler("onClientGUIClick", getRootElement(), closeabout, false) function guiackapa() if guiGetVisible(window) then guiSetVisible(window, false) showCursor(false) local sound = playSound("Arquivos/open.wav") setSoundVolume(sound, 8.5) else guiSetVisible(window, true) showCursor(true) local sound = playSound("Arquivos/open.wav") setSoundVolume(sound, 8.5) end end addEvent("ShowGUI", true) addEventHandler("ShowGUI", getRootElement(), guiackapa) function Pack1() triggerServerEvent("pack1", getRootElement(),localPlayer) end addEventHandler("onClientGUIClick", PackArmas1,Pack1, false) function Pack2() triggerServerEvent("pack2", getRootElement(),localPlayer) end addEventHandler("onClientGUIClick", PackArmas2,Pack2, false) Link to comment
aka Blue Posted August 12, 2015 Share Posted August 12, 2015 Si has usado GUI editor y tienes el output, abrelo y pon realtive en vez de absolute y haces lo que te dijo Tomas. Link to comment
#Raiden Posted August 12, 2015 Author Share Posted August 12, 2015 Lo de las resoluciones creo que ya se como hacerlo pero necesito ayuda con los botones... Link to comment
aka Blue Posted August 12, 2015 Share Posted August 12, 2015 Es fácil, mira. En el mismo cliente, creas un evento que abra un panel con la gridlist y que al darle a x botón, abra ese panel y elimine el principal usando destroyElement o guiSetVisible (creo que era guiSetVisible). Te pasaría el código pero no estoy en casa. Link to comment
#Raiden Posted August 12, 2015 Author Share Posted August 12, 2015 Si, ya pude hacer eso pero como le agrego algo a la gridlist? Yo intente asi me sale la gridlist cuando le doy click al boton pero no se me pone nada en la gridlist mira: Horns = guiCreateGridList(10, (260 - 191) / 2, 104, 191, false, window2) usar = guiCreateButton(267 - 100 - 10, (260 - 70) / 2, 100, 70, "Usar", false, window2) guiSetFont(usar, "sa-header") local rowx rowx = guiGridListAddRow(Horns) guiGridListSetItemText(Horns, 1, "Skin1", false, false) guiGridListAddColumn(Horns, "Skins Vip", 0.9) guiGridListAddRow(Horns) guiSetFont(usar, "sa-header") local player = getLocalPlayer() addEventHandler("onClientGUIClick", usar, function() local row, column = guiGridListGetSelectedItem(Horns) if row == 0 then triggerServerEvent("skin1", player, 1) end end,false) guiSetVisible(Horns, false) guiSetVisible(window2, false) function clicks() if (source == SkinsVip) then guiSetVisible(Horns, true) guiSetVisible(window2, true) end end addEventHandler("onClientGUIClick", root, clicks) Link to comment
Enargy, Posted August 12, 2015 Share Posted August 12, 2015 Prueba... skins = { {"Skin1", 256}, --{"nombreDeSkin", ID} } Horns = guiCreateGridList(10, (260 - 191) / 2, 104, 191, false) usar = guiCreateButton(267 - 100 - 10, (260 - 70) / 2, 100, 70, "Usar", false, window2) guiSetFont(usar, "sa-header") guiGridListAddColumn(Horns, "Skins Vip", 0.9) guiGridListAddColumn(Horns, "ID", 0.5) for i,v in ipairs (skins) do local skinIDs, idModel = v[1], v[2] local row = guiGridListAddRow (Horns) guiGridListSetItemText (Horns, row, 1, skinIDs, false, true) guiGridListSetItemText (Horns, row, 2, idModel, false, true) end local player = getLocalPlayer() addEventHandler("onClientGUIClick", root, function() if source == usar then local skinRow, column = guiGridListGetItemText (Horns, guiGridListGetSelectedItem (Horns), 2) if ( skinRow ~= 0 and column ~= 0 ) then triggerServerEvent("skin1", player, skinRow) --outputChatBox( row ) end end end) y en serverside seria asi: addEvent("skin1", true) addEventHandler("skin1", root, function( skin ) if ( skin ) then setElementModel( source, tonumber(skin) ); return true; end end) Link to comment
#Raiden Posted August 12, 2015 Author Share Posted August 12, 2015 Gracias... Ya me sirvió pero como hago para ponerle mas skins para elegir ? por que cuando intento poner otro se quita el que habia puesto antes y se pone el nuevo Link to comment
aka Blue Posted August 12, 2015 Share Posted August 12, 2015 De eso se trata, ¿no? Usas lo que puso tomas para agregar más skins a la tabla {"Skin1", 256}, Link to comment
#Raiden Posted August 12, 2015 Author Share Posted August 12, 2015 Tienes razón... ¿Para los autos sería igual? ¿O hay que hacerlo de diferente manera? Link to comment
aka Blue Posted August 12, 2015 Share Posted August 12, 2015 Sería igual pero tendrías que hacer otra tabla diferente. Algo como... vehiculos = { --Precio {"Infernus", 20000}, } Aunque hay métodos mucho más fáciles de hacer. Link to comment
Kilfwan Posted August 12, 2015 Share Posted August 12, 2015 (edited) vehiculos = { --Precio {411, 20000}, } Podrias usar esto para no poner nombres y obtener su nombre a travez del model: getVehicleNameFromID Haces una tabla y agregas muchos autos sin nesecidad de poner nombres. Edited August 13, 2015 by Guest Link to comment
Enargy, Posted August 12, 2015 Share Posted August 12, 2015 El mismo codigo que te di y lo que tambien te dió Blue Pie, le agregas mas valores e.g: vehiculos = { --Precio {"Infernus", 20000}, {"Turismo", 30000}, {"Comet", 20000}, -- etc etc etc... } luego en el serverside, en lugar del setElementModel usas createVehicle, definiendo la posición actual del jugador. vehiculos = { --Precio {411, 20000}, } Podrias usar esto para no poner nombres y obtener su nombre a travez del model: https://wiki.multitheftauto.com/wiki/Ge ... elFromName Haces una tabla y agregas muchos autos sin nesecidad de poner nombres. Querrás decir getVehicleNameFromID Link to comment
#Raiden Posted August 13, 2015 Author Share Posted August 13, 2015 Y si le quiero quitar el precio para que puedan elegirlo sin pagar e_a , tendría que hacerlo así? vehiculos = { --Precio {"Infernus"}, {"Turismo"}, {"Comet"}, Si no es asi me podrian decir como hacer para que puedan elegir el Vehiculo sin pagar? Gracias. Link to comment
Enargy, Posted August 13, 2015 Share Posted August 13, 2015 Y si le quiero quitar el precio para que puedan elegirlo sin pagar e_a , tendría que hacerlo así? vehiculos = { --Precio {"Infernus"}, {"Turismo"}, {"Comet"}, Si no es asi me podrian decir como hacer para que puedan elegir el Vehiculo sin pagar? Gracias. Pues si pero en lugar de usar los nombres, puedes usar IDs (es mas facil). vehiculos = { --Precio {411}, {529}, {502}, } Link to comment
#Raiden Posted August 13, 2015 Author Share Posted August 13, 2015 Esta bien, luego lo pruebo (cuando este en la pc ) y te digo si hay un error. Link to comment
Kilfwan Posted August 13, 2015 Share Posted August 13, 2015 El mismo codigo que te di y lo que tambien te dió Blue Pie, le agregas mas valorese.g: vehiculos = { --Precio {"Infernus", 20000}, {"Turismo", 30000}, {"Comet", 20000}, -- etc etc etc... } luego en el serverside, en lugar del setElementModel usas createVehicle, definiendo la posición actual del jugador. vehiculos = { --Precio {411, 20000}, } Podrias usar esto para no poner nombres y obtener su nombre a travez del model: https://wiki.multitheftauto.com/wiki/Ge ... elFromName Haces una tabla y agregas muchos autos sin nesecidad de poner nombres. Querrás decir getVehicleNameFromID Me equivoce , Si seria mejor asi. Link to comment
aka Blue Posted August 13, 2015 Share Posted August 13, 2015 ¿Tú no estabas baneado? :v PD: Madre mía EQUIVOCE, no tio, ahi te pasaste, hiciste llorar al diccionario. "User has been locked account for abuse MTA Forum User avatar kilfmwan Pee-Wee Posts: 281 Joined: Tue Mar 31, 2015 4:40 pm Location: Ninguno Gang: S/A Link to comment
Kilfwan Posted August 13, 2015 Share Posted August 13, 2015 ¿Tú no estabas baneado? :vPD: Madre mía EQUIVOCE, no tio, ahi te pasaste, hiciste llorar al diccionario. "User has been locked account for abuse MTA Forum User avatar kilfmwan Pee-Wee Posts: 281 Joined: Tue Mar 31, 2015 4:40 pm Location: Ninguno Gang: S/A Yo puedo poner lo que me de la gana en mis signatures Link to comment
Tomas Posted August 13, 2015 Share Posted August 13, 2015 Lo peor de todo es que ni coherencia tiene lo que dice.... Link to comment
Enargy, Posted August 13, 2015 Share Posted August 13, 2015 Lo peor de todo es que ni coherencia tiene lo que dice.... +1 Link to comment
#Raiden Posted August 13, 2015 Author Share Posted August 13, 2015 Enargy, Podrias darme el codigo de como hacerlo? por que intente y no me salio la verdad no entendi... Link to comment
Recommended Posts