maauroo Posted May 7, 2012 Share Posted May 7, 2012 Hola. Queria Adelantarme Un Poco Mas. Queria Que Me Ayudaran A Crear Un Seleccionador De Skin Cuando Una Persona Entra. Tengo Funciones Abansada. Y Las Funciones Lo Consegi Con Un Resource, No Es Que Lo Estoy Robando. Solo Es Copia. Quiero Hacer Este Proyecto Como El Seleccionador De Skin Del "SA:MP" y Me Gustaria Ponerlo En El Mta. function CreateSelectorWindow() wdwselector = guiCreateWindow(0.438,0.880,0.15,0.10,"Elige Tu Skin!",true) guiWindowSetMovable(wdwselector,false) btnLeft = guiCreateButton(0.0,0.4,0.200,0.350,"<-",true,wdwselector) btnRight = guiCreateButton(0.76,0.4,0.200,0.350,"->",true,wdwselector) btnSelect = guiCreateButton(0.30,0.4,0.400,0.350,"Select",true,wdwselector) guiSetVisible(wdwselector, false) end function selectorenable () CreateSelectorWindow() addEventHandler("onClientGUIClick", btnLeft, clientSkinLeft, false) addEventHandler("onClientGUIClick", btnSelect, clientSkinSelect, false) addEventHandler("onClientGUIClick", btnRight, clientSkinRight, false) if (wdwselector ~= nil) then guiSetVisible(wdwselector, true) triggerServerEvent("FrontCamera", getRootElement()) end showCursor(true) end function clientSkinSelect(button) if button == "left" then guiSetVisible(wdwselector, false) showCursor(false) triggerServerEvent("SkinSelected", getRootElement()) end end function clientSkinRight(button) if button == "left" then triggerServerEvent("SkinRight", getRootElement()) end end function clientSkinLeft(button) if button == "left" then triggerServerEvent("SkinLeft", getRootElement()) end end ¿Como Puedo Hacer Primero Para Que Funcione Cuando Entra Una Persona? Agradesco Sus Ayuda. Link to comment
Renkon Posted May 7, 2012 Share Posted May 7, 2012 El evento correcto es OnClientResourceStart. Con este, se ejecutará cada vez que el usuario se conecta. Link to comment
iFoReX Posted May 7, 2012 Share Posted May 7, 2012 maauro si tienes un login-register Panel pon Cuando el player se logee haciendo un triggerClientEvent y en el sv-side pones como evento 'onPlayerLogin' es mejor asi no te aparecen todas las GUI juntas Link to comment
maauroo Posted May 7, 2012 Author Share Posted May 7, 2012 renkon no funciona! Fijate: addEventHandler("onResourceStart", getRootElement(),selectorenable ) Halgo Estoy Haciendo Mal? ¿Se Puede Solucionar? Mota No Tengo Panel De Registro.. Como Puedo Hacer Arrancar Los Gui? Link to comment
iFoReX Posted May 7, 2012 Share Posted May 7, 2012 Prueba con esto : addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),selectorenable ) tenias malo el evento ya que es client creo o no ? si es sv-side [lua]addEventHandler("onResourceStart", getResourceRootElement(getThisResource()),selectorenable ) [/lua] Link to comment
maauroo Posted May 7, 2012 Author Share Posted May 7, 2012 Funcina Perfecto. Bue Ahora Poner Como Hago Para Poner La Posicion Donde Se Eligiran Los Skin? Link to comment
Alexs Posted May 7, 2012 Share Posted May 7, 2012 Tengo una Duda Off Topic para @maauroo: Como le hiciste para activar el "relative" el GUI Editor lo hace automatico o que? Link to comment
maauroo Posted May 7, 2012 Author Share Posted May 7, 2012 alex creo que es automatico. Mota Primero El Ped.. Gracias. Link to comment
Alexs Posted May 7, 2012 Share Posted May 7, 2012 el Ped se hace con createPed y setElementModel Siguiendo el OFF: @ElMota sabes como exportar el codigo con el argumento relative y las coordenadas relativas al tamaño de pantalla asi como lo saco maauroo?? Link to comment
iFoReX Posted May 7, 2012 Share Posted May 7, 2012 No alexs. y si lo haces algo asi ped = createPed( SkinID, PosX, PosY, PosZ ) Link to comment
maauroo Posted May 8, 2012 Author Share Posted May 8, 2012 em Pero Como Hago Para Que Funcione Los Gui y El Ped. Osea Tiene Que Funcionar Todo.. Dijamos Que Me Faltaria Que Cuando Apretan Las Flechitas Haga La Funcion De Cambiar De Skin. Se Entiende? Link to comment
iFoReX Posted May 8, 2012 Share Posted May 8, 2012 yo ise esto para mi script ai sacas lo que necesites elseif source == GUIEditor_Button[1] then if (button == "left" and state == "up") then if(numero == 0) then numero = 288 setElementModel(ped,numero) end numero = numero - 1 setElementModel(ped,numero) end guiSetText(GUIEditor_Edit[1], " "..getElementModel(ped).."") elseif source == GUIEditor_Button[2] then if (button == "left" and state == "up") then if (numero == 289) then numero = 0 setElementModel(ped,numero) end numero = numero + 1 setElementModel(ped,numero) end guiSetText(GUIEditor_Edit[1], " "..getElementModel(ped).."") Link to comment
maauroo Posted May 8, 2012 Author Share Posted May 8, 2012 Esta Muy Dificil Sacarlo De Tu Script. Aqui esta la otra parte del resource: function camf() if (client) then local px,py,pz = getElementPosition( client ) local rot = setPedRotation(client, 1) setCameraMatrix( source, 1468.8785400391, -919,25317382813, 100.153465271 , 1468,388671875, -918,42474365234, 99.881813049316) end end addEvent("FrontCamera", true) addEventHandler("FrontCamera", getRootElement(), camf) function selected() if (client) then fadeCamera(client, true) setCameraTarget(client, client) outputChatBox("Skin successfully changed!", client) end end addEvent("SkinSelected", true) addEventHandler("SkinSelected", getRootElement(), selected) function skinright() local skin = getPedSkin(client) if (client) then if (skin == 0) then setPedSkin(client, 7) elseif (skin == 7) then setPedSkin(client, 9) elseif (skin == 41) then setPedSkin(client, 43) elseif (skin == 64) then setPedSkin(client, 66) elseif (skin == 85) then setPedSkin(client, 87) elseif(skin == 118) then setPedSkin(client, 120) elseif(skin == 148) then setPedSkin(client, 150) elseif(skin == 207) then setPedSkin(client, 209) elseif(skin == 238) then setPedSkin(client, 240) elseif(skin == 264) then setPedSkin(client, 274) elseif(skin == 288) then setPedSkin(client, 0) else setPedSkin(client, skin+1) end end end addEvent("SkinRight", true) addEventHandler("SkinRight", getRootElement(), skinright) function skinleft() local skin = getPedSkin(client) if (client) then if (skin == 7) then setPedSkin(client, 0) elseif (skin == 9) then setPedSkin(client, 7) elseif (skin == 43) then setPedSkin(client, 41) elseif (skin == 66) then setPedSkin(client, 64) elseif (skin == 87) then setPedSkin(client, 85) elseif(skin == 120) then setPedSkin(client, 118) elseif(skin == 150) then setPedSkin(client, 148) elseif(skin == 209) then setPedSkin(client, 207) elseif(skin == 240) then setPedSkin(client, 238) elseif(skin == 274) then setPedSkin(client, 264) elseif(skin == 0) then setPedSkin(client, 288) else setPedSkin(client, skin-1) end end end addEvent("SkinLeft", true) addEventHandler("SkinLeft", getRootElement(), skinleft) Fijate Si Hay Que Modificar Algo, Porque Estaba Con Cmd y Como Le Pusimos La Funcion "onClientResourceStart" Seguramente Hay Que Cambiar Las Funciones. Como Lo Puedo Solucionar? Y Faltaria Las Posiciones De La Camaras. Link to comment
iFoReX Posted May 8, 2012 Share Posted May 8, 2012 mmm nose man es muy diferente al mio Buee aqui te dejo todo el mio no lo copies solo saca lo mas importante cl GUIEditor_Button = {} GUIEditor_Edit = {} rotation = 0 addEvent("onVisibleButtons", true) addEventHandler("onVisibleButtons", getLocalPlayer(), function() GUIEditor_Button[1] = guiCreateButton(0.3688,0.84,0.0625,0.055,"<",true) GUIEditor_Button[2] = guiCreateButton(0.5013,0.84,0.0625,0.055,">",true) GUIEditor_Button[3] = guiCreateButton(0.4013,0.9067,0.1287,0.065,"Empezar a Jugar",true) GUIEditor_Edit[1] = guiCreateEdit(0.4412,0.8367,0.05,0.0567,"0",true) guiEditSetReadOnly(GUIEditor_Edit[1],true) lsT() showCursor(true) bindKey("space", "down", theR) ped = createPed( 0, 756.03051757813, -1239.4184570313, 13.552116394043 ) setElementData(ped,"City","LS") end) numero = 0 addEventHandler("onClientGUIClick", root,function(button,state) if source == GUIEditor_Button[3] then local elements ={GUIEditor_Button[1],GUIEditor_Button[2],GUIEditor_Button[3],GUIEditor_Edit[1]} for i,v in ipairs(elements)do destroyElement(v) end showCursor(false) setCameraTarget( localPlayer ) triggerServerEvent("giveWeapons", getLocalPlayer()) destroyElement(ped) unbindKey("space","down",theR) local renders = {lsT,lvT,sfT} for k,b in ipairs(renders)do removeEventHandler("onClientRender",root,b) end setPedSkin(localPlayer,numero) setElementFrozen(localPlayer,false) elseif source == GUIEditor_Button[1] then if (button == "left" and state == "up") then if(numero == 0) then numero = 288 setElementModel(ped,numero) end numero = numero - 1 setElementModel(ped,numero) end guiSetText(GUIEditor_Edit[1], " "..getElementModel(ped).."") elseif source == GUIEditor_Button[2] then if (button == "left" and state == "up") then if (numero == 289) then numero = 0 setElementModel(ped,numero) end numero = numero + 1 setElementModel(ped,numero) end guiSetText(GUIEditor_Edit[1], " "..getElementModel(ped).."") end end,true) addEventHandler("onClientRender", root,function( ) if isElement ( ped ) then rotation = rotation + 1 if ( rotation > 359 ) then rotation = 0 end setPedRotation ( ped, rotation ) end end) function lsT() addEventHandler("onClientRender", root, lsT) dxDrawText("Los Santos",433.0,539.0,641.0,585.0,tocolor(255,255,255,255),3.0,"default","left","top",false,false,true) end function bLV() if source == GUIEditor_Button[3] then setElementPosition( localPlayer, 2137.7775878906, 1480.8577880859, 10.8203125 ) end end function bSF() if source == GUIEditor_Button[3] then setElementPosition( localPlayer, -1695.2707519531, 950.0751953125, 24.890625 ) end end function bLS() if source == GUIEditor_Button[3] then setElementPosition( localPlayer, 731.21276855469, -1276.6033935547, 17.6484375 ) end end function theR() if(getElementData(ped,"City")=="LS")then removeEventHandler("onClientRender", root, lsT) setTimer(lvT,1000,1) triggerServerEvent("onCameraLV", getLocalPlayer()) setElementData(ped,"City","LV") setElementPosition(ped, 2323.7517089844, 1283.2214355469, 97.592704772949 ) addEventHandler("onClientGUIClick", root, bLV) elseif(getElementData(ped,"City")=="LV")then removeEventHandler("onClientRender",root,lvT) setTimer(sfT,1000,1) triggerServerEvent("onCameraSF", getLocalPlayer()) setElementData(ped,"City","SF") setElementPosition(ped,-1480.8948974609, 920.17132568359, 71.350372314453) addEventHandler("onClientGUIClick", root, bSF) elseif(getElementData(ped,"City")=="SF")then removeEventHandler("onClientRender",root,sfT) setTimer(lsT,1000,1) triggerServerEvent("onCameraLS", getLocalPlayer()) setElementData(ped,"City","LS") setElementPosition(ped,756.03051757813, -1239.4184570313, 13.552116394043) addEventHandler("onClientGUIClick", root, bLS) end end addCommandHandler("target", function() setCameraTarget( localPlayer ) end ) function lvT() addEventHandler("onClientRender", root, lvT) dxDrawText("Las Venturas",433.0,539.0,641.0,585.0,tocolor(255,255,255,255),3.0,"default","left","top",false,false,true) end function sfT() addEventHandler("onClientRender", root, sfT) sf = dxDrawText("San Fierro",433.0,539.0,641.0,585.0,tocolor(255,255,255,255),3.0,"default","left","top",false,false,true) end addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), function() triggerServerEvent("onMyStart", getLocalPlayer()) end ) sv-side function visible() triggerClientEvent(source, "onVisibleButtons", root) setCameraMatrix(source,755.94171142578, -1258.78125, 18.399745941162, 756.03051757813, -1239.4184570313, 13.552116394043) fadeCamera(source,true) end addEvent("onVisibleDead", true) addEventHandler("onPlayerWasted", getRootElement(), visible) addEventHandler("onPlayerLogin",root, visible) addEvent("onCameraLV", true) addEventHandler("onCameraLV", root,function() setCameraMatrix( client, 2322.7954101563, 1257.611328125, 102.61512756348, 2323.7517089844, 1283.2214355469, 97.592704772949 ) end) addEvent("onCameraSF", true) addEventHandler("onCameraSF",root, function() setCameraMatrix( client, -1509.7048339844, 921.08612060547, 75.827659606934, -1480.8948974609, 920.17132568359, 71.350372314453 ) end ) addEvent("onCameraLS", true) addEventHandler("onCameraLS", root, function() setCameraMatrix( client, 755.94171142578, -1258.78125, 18.399745941162, 756.03051757813, -1239.4184570313, 13.552116394043 ) end) addEvent("giveWeapons", true) addEventHandler("giveWeapons", getRootElement(), function() giveWeapon( source, 31, 999 ) giveWeapon( source, 32, 999 ) end ) Link to comment
maauroo Posted May 8, 2012 Author Share Posted May 8, 2012 hay Ubique El Lugar De La Camara: function camf() if (client) then local px,py,pz = getElementPosition( client ) local rot = setPedRotation(client, 1) setCameraMatrix(source,755.94171142578, -1258.78125, 18.399745941162, 756.03051757813, -1239.4184570313, 13.552116394043) fadeCamera(source,true) end end addEvent("FrontCamera", true) addEventHandler("FrontCamera", getRootElement(), camf) El Problema Es La Posicion De Los Ped.Para Que Se Vean Los Skin.¿Como Puedo Obtener Eso? Link to comment
maauroo Posted May 9, 2012 Author Share Posted May 9, 2012 Encontre Una Manera Me Parece A Mi Mas Facil. Hise Esto En Modo De Prueba.. function spawnScreen ( source) setTimer ( setCameraPosition, 1000, 1, source, 98.5163,2246.3232,125.1528 ) -- Set the coordinates of the camera setTimer ( setCameraLookAt, 1000, 1, source, 95.1860,2239.7947,126.7486 ) -- Make the camera look at specified coordinates end addCommandHandler ( "prueba", spawnScreen ) Pongo El Comando Para Probarlo Pero No Funciona.. Lo Quiero Probar Para Segir Avanzando. ¿Que Problema Hay? Link to comment
iFoReX Posted May 9, 2012 Share Posted May 9, 2012 Creo que es mas facil el CameraMatrix es esto mismo solo que mas resumido Link to comment
maauroo Posted May 9, 2012 Author Share Posted May 9, 2012 Hola. Estoy El Que Estabamos. Em Ahora Me Falta La Rotacion Del Skin.. No Se Como Ponerlo. Y Cuando Selecciona Quiero Ponerle Un Teleport.. Osea Un Spawn... Como Hago? Aqui Les Dejo Todo.. Server: function camf() if (client) then setElementPosition( client,98.5163, 2246.3232, 125.1528 ) local rot = setPedRotation(client, 1) setCameraMatrix( source, 95.1860, 2239.7947, 126.7486, 98.5163, 2246.3232, 125.1528) end end addEvent("FrontCamera", true) addEventHandler("FrontCamera", getRootElement(), camf) function selected() if (client) then fadeCamera(client, true) setCameraTarget(client, client) outputChatBox("Skin successfully changed!", client) end end addEvent("SkinSelected", true) addEventHandler("SkinSelected", getRootElement(), selected) function skinright() local skin = getPedSkin(client) if (client) then if (skin == 0) then setPedSkin(client, 7) elseif (skin == 7) then setPedSkin(client, 9) elseif (skin == 41) then setPedSkin(client, 43) elseif (skin == 64) then setPedSkin(client, 66) elseif (skin == 85) then setPedSkin(client, 87) elseif(skin == 118) then setPedSkin(client, 120) elseif(skin == 148) then setPedSkin(client, 150) elseif(skin == 207) then setPedSkin(client, 209) elseif(skin == 238) then setPedSkin(client, 240) elseif(skin == 264) then setPedSkin(client, 274) elseif(skin == 288) then setPedSkin(client, 0) else setPedSkin(client, skin+1) end end end addEvent("SkinRight", true) addEventHandler("SkinRight", getRootElement(), skinright) function skinleft() local skin = getPedSkin(client) if (client) then if (skin == 7) then setPedSkin(client, 0) elseif (skin == 9) then setPedSkin(client, 7) elseif (skin == 43) then setPedSkin(client, 41) elseif (skin == 66) then setPedSkin(client, 64) elseif (skin == 87) then setPedSkin(client, 85) elseif(skin == 120) then setPedSkin(client, 118) elseif(skin == 150) then setPedSkin(client, 148) elseif(skin == 209) then setPedSkin(client, 207) elseif(skin == 240) then setPedSkin(client, 238) elseif(skin == 274) then setPedSkin(client, 264) elseif(skin == 0) then setPedSkin(client, 288) else setPedSkin(client, skin-1) end end end addEvent("SkinLeft", true) addEventHandler("SkinLeft", getRootElement(), skinleft) Client: function CreateSelectorWindow() wdwselector = guiCreateWindow(0.438,0.880,0.15,0.10,"Nich's Skinslector v1.0",true) guiWindowSetMovable(wdwselector,false) btnLeft = guiCreateButton(0.0,0.4,0.200,0.350,"<-",true,wdwselector) btnRight = guiCreateButton(0.76,0.4,0.200,0.350,"->",true,wdwselector) btnSelect = guiCreateButton(0.30,0.4,0.400,0.350,"Select",true,wdwselector) guiSetVisible(wdwselector, false) end function selectorenable () CreateSelectorWindow() addEventHandler("onClientGUIClick", btnLeft, clientSkinLeft, false) addEventHandler("onClientGUIClick", btnSelect, clientSkinSelect, false) addEventHandler("onClientGUIClick", btnRight, clientSkinRight, false) if (wdwselector ~= nil) then guiSetVisible(wdwselector, true) triggerServerEvent("FrontCamera", getRootElement()) end showCursor(true) end addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),selectorenable ) function clientSkinSelect(button) if button == "left" then guiSetVisible(wdwselector, false) showCursor(false) triggerServerEvent("SkinSelected", getRootElement()) end end function clientSkinRight(button) if button == "left" then triggerServerEvent("SkinRight", getRootElement()) end end function clientSkinLeft(button) if button == "left" then triggerServerEvent("SkinLeft", getRootElement()) end end Link to comment
maauroo Posted May 11, 2012 Author Share Posted May 11, 2012 Reevivo tema porque nesesito la ayuda de ustedes.. Tengo Un Problema Con La Seleccion De SKin... function selected() if (client) then fadeCamera(client, true) setCameraTarget(client, client) local skin = getElementModel ( client ) spawnPlayer(client, -2026.5035, 156.7506, 29.0391, 269.1424, skin) outputChatBox("Skin successfully changed!", client) end end addEvent("SkinSelected", true) addEventHandler("SkinSelected", getRootElement(), selected) function skinright() local skin = getPedSkin(client) if (client) then if (skin == 0) then setPedSkin(client, 7) elseif (skin == 7) then setPedSkin(client, 9) elseif (skin == 41) then setPedSkin(client, 43) elseif (skin == 64) then setPedSkin(client, 66) elseif (skin == 85) then setPedSkin(client, 87) elseif(skin == 118) then setPedSkin(client, 120) elseif(skin == 148) then setPedSkin(client, 150) elseif(skin == 207) then setPedSkin(client, 209) elseif(skin == 238) then setPedSkin(client, 240) elseif(skin == 264) then setPedSkin(client, 274) elseif(skin == 288) then setPedSkin(client, 0) else setPedSkin(client, skin+1) end end end addEvent("SkinRight", true) addEventHandler("SkinRight", getRootElement(), skinright) function skinleft() local skin = getPedSkin(client) if (client) then if (skin == 7) then setPedSkin(client, 0) elseif (skin == 9) then setPedSkin(client, 7) elseif (skin == 43) then setPedSkin(client, 41) elseif (skin == 66) then setPedSkin(client, 64) elseif (skin == 87) then setPedSkin(client, 85) elseif(skin == 120) then setPedSkin(client, 118) elseif(skin == 150) then setPedSkin(client, 148) elseif(skin == 209) then setPedSkin(client, 207) elseif(skin == 240) then setPedSkin(client, 238) elseif(skin == 274) then setPedSkin(client, 264) elseif(skin == 0) then setPedSkin(client, 288) else setPedSkin(client, skin-1) end end end addEvent("SkinLeft", true) addEventHandler("SkinLeft", getRootElement(), skinleft) Cuando Hay Gente En La Seleccion De Skin El Problema Es Que Todo Se Ven En La Seleccion Skin. Se Entiende? Osea Yo Veo Como Se Cambian Los Skin, No Solo Yo Si No Tambien Los Que Estan Jugando O Los Que Estan Eligiendo Skin.Porfavor Nesesito Sus Ayuda! Gracias Se Los Agradesco.. Link to comment
JuliDiablo Posted May 11, 2012 Share Posted May 11, 2012 En ese código no está el error, creo. El error está en la parte que envías al jugador a la selección de skin, me parece. Éste razonamiento lo saco porque ese script que dejaste es de parte del cliente, deja el de parte del servidor. PD: Soy nuevo en esto así que no estoy seguro. Link to comment
maauroo Posted May 11, 2012 Author Share Posted May 11, 2012 Tiene Que Esta Hay Porque En El Client Tengo Solamente Las Flechitas.. Lo Que Yo Digo Es Cuando Entra Y Esta En La Seleccion De Skin Que Este Como En Otro world Para Que Nadie Vean Que Se Estan Eligiendo Los Skin. ¿Se Entiende? Link to comment
Castillo Posted May 11, 2012 Share Posted May 11, 2012 Cambia la dimension del jugador? setElementDimension Link to comment
JuliDiablo Posted May 11, 2012 Share Posted May 11, 2012 Ah, perdona maauroo, pensé que te referías a que uno entrar a la selección de skin lo enviaba a todos a ver a ese jugador. Link to comment
maauroo Posted May 11, 2012 Author Share Posted May 11, 2012 Yo No Se Si Es La Dimension.. Miren La Imagen De Lo Que Pasa: La Chica Vendria Ser Yo Eligiendo El Skin y El Que Esta Adelante Es Otra Persona Que Esta Eligiendo , Los Otros Dos Se Teletrasportaron. Y Es Lo Que No Querio Que Esten Juntos. Que Nadie Se Vea. Que Estan Eligiendo. Quiero Que Lo Que Estan Eligiendo Skin Que No Vea A Los Otros. Osea Separarlo Como Diciendo En El Mismo Lugar Pero A Otro Mundo.. Se Entiende? Link to comment
Recommended Posts