_SAXI_

Members
  • Content Count

    25
  • Joined

  • Last visited

Everything posted by _SAXI_

  1. function WarpearJugadores(btn, state) if source == WarpearOtroJugador then local r, c = guiGridListGetSelectedItem (JugadorListadoWarpeo) if not r or r == -1 or not c or c == -1 then outputChatBox("#FF0000Moderador: #55FF00Selecciona a un jugador de la lista.", 255, 255, 255, true) return false end local WarpData = guiGridListGetItemData (JugadorListadoWarpeo, r, c) if not WarpData or not isElement(WarpData) then outputChatBox("#FF0000Moderador: #55FF00El jugador #FFE800"..getPlayerName(WarpData).." #55FF00No existe o no se encuentra conectado.", 255, 255, 255, true) return false end selected1 = guiGridListGetItemText(GridJugadores, guiGridListGetSelectedItem(GridJugadores), 1) selected2 = guiGridListGetItemText(JugadorListadoWarpeo, guiGridListGetSelectedItem(JugadorListadoWarpeo), 1) triggerServerEvent ("WarpOtro", getLocalPlayer(), selected1) -- Suponiendo que estamos seleccionando el jugador al que queremos llegar --triggerServerEvent ("WarpOtro", getLocalPlayer(), selected2) <- Para que repetir el proceso? end end addEventHandler ("onClientGUIClick", root, WarpearJugadores) function warpearOtro (thePlayer) toggleControl ( client, "radio_next", false ) toggleControl ( client, "radio_previous", false ) if isPedInVehicle(source) == true then outputChatBox("#FF0000Moderador: #55FF00No puedes teletransportarte a un jugador si estas en un vehiculo." , source, 255, 255, 255, true) return false end local player = getPlayerFromName(thePlayer) local x, y, z = getElementPosition(player) local int = getElementInterior(player) local dim = getElementDimension(player) local vehicle = getPedOccupiedVehicle ( player ) local seat = 0 --if ( vehicle ) then seat = getPedOccupiedVehicleSeat ( player ) end --if ( vehicle ) then warpPedIntoVehicle ( player, vehicle, seat ) end setElementPosition(client, x + 0.5,y,z ) setElementInterior(client,int) setElementDimension(client,dim) if ( isPedInVehicle ( player ) ) then local vehicle = getPedOccupiedVehicle ( player ) local seats = ( vehicle ) + 1 local i = 0 while ( i < seats ) do if ( not getVehicleOccupant ( vehicle, i ) ) then warpPedIntoVehicle (client, vehicle, i ) break end i = i + 1 end if ( i >= seats ) then warp ( client, player ) end end end addEvent("WarpOtro", true) addEventHandler("WarpOtro", getRootElement(), warpearOtro) La verdad no lo probé, pero creo que debería funcionar, estaba casi todo bien xd
  2. Intentaste con el setElementRotation?
  3. function SaberRama pia) if (pia == 1) and (Rama1 == 0) then Rama = 1 RamaGral = 0 triggerClientEvent (client,"RamaEs1", resourceRoot, RamaGral) end end addEvent( "SaberRamaTrigger", true ) addEventHandler( "SaberRamaTrigger", root, SaberRama )
  4. _SAXI_

    Ayuda

    addEventHandler('onPlayerSpawn',root,function() setElementModel(source,177) end) ¿Por qué mejor no usar onPlayerSpawn?
  5. function SubenPasajeros(jugador) if CantidadDeAsientos >= 0 then if Asiento1 == 0 then Asiento1 = 1 local vehicle = getPedOccupiedVehicle( jugador ) x1, y1, z1 = getElementPosition ( jugador ) Asiento1 = createObject (2035, 1421.958984375, 2624.4677734375, 11.392612457275) setElementPosition ( Asiento1, x1, y1, z1) attachElements( Asiento1, vehicle, 0.95, 0.6, 0, 0, 0, 0 ) --Fila 1 A outputChatBox ("Asiento1") end else if Asiento2 == 0 then Asiento2 = 1 outputChatBox ("Asiento2") local vehicle = getPedOccupiedVehicle( jugador ) x1, y1, z1 = getElementPosition ( jugador ) Asiento2 = createObject (2035, 1421.958984375, 2624.4677734375, 11.392612457275) setElementPosition ( Asiento2, x1, y1, z1) attachElements( Asiento2, vehicle, 0.5, -0.2, 0, 0, 0, 0 ) --Fila 2 B end end end addCommandHandler("sube",SubenPasajeros) function PrenderFuncSubenPasajeros(jugador) outputChatBox ("JEJE") setTimer ( SubenPasajeros, 500, 1,jugador) end addCommandHandler("pe",PrenderFuncSubenPasajeros) Ahora debería funcionar
  6. Considerando que no es un script muy difícil que digamos, y que también ya tiene bastantes versiones en la comunidad de MTA, creo que sería mejor darlo como un aporte para los que están aprendiendo :). Sólo es un comentario, una opinión personal, no tengo nada en contra a que quieras comerciar con tú trabajo.
  7. Postea el código para saber bien que es lo que estás haciendo, si no, dificilmente podremos saber que es lo que estás haciendo mal
  8. _SAXI_

    Teams y Zombies

    local equipo = createTeam('Asesino de zombies',0,255,0) local data = 'Zombie KIlls' local maxKills = 10 function muerteZombie(asesino) local kills = getElementData(asesino,data) or 0 kills = kills+1 if kills >= maxKills and getPlayerTeam(asesino) ~= equipo then setPlayerTeam(asesino,equipo) end setElementData(asesino,data,kills) end addEventHandler('onZombieWasted',root,muerteZombie)
  9. _SAXI_

    Ayuda

    local remove = "https://www.youtube.com/watch?v=" local video = "https://www.youtube.com/watch?v=6biv8AQcjNU" local new = video:sub(#remove+1,#video)
  10. Para que se te haga más fácil podrías hacer que si el jugador si el jugador ya tiene tal arma el botón se habilite y si no, bueno, obvio, se desactive. Por ejemplo: if getPedWeapon(localPlayer) == 22 then guiSetEnabled(btn,true) else guiSetEnabled(btn,false) end
  11. _SAXI_

    [Ayuda] Borrar

    Boton = {} Label = {} Check = {} function Holi() addCommandHandler("Holi", abrir) -- Así la función 'abrir' trabajará con los elementos de la función Holi Boton[1] = guiCreateButton(973, 537, 136, 34, "Jugadores VIP", false) guiSetAlpha(Boton[1], 0.83) Boton[2] = guiCreateButton(973, 581, 136, 34, "Anuncio", false) guiSetAlpha(Boton[2], 0.83) Boton[3]= guiCreateButton(973, 625, 136, 34, "Lugares", false) guiSetAlpha(Boton[3], 0.83) Label[15] = guiCreateLabel(968, 369, 213, 15, "Nombre:", false) guiSetFont(Label[15], "clear-normal") Label[16] = guiCreateLabel(968, 394, 213, 15, "Cuenta:", false) guiSetFont(Label[16], "clear-normal") Label[17] = guiCreateLabel(968, 419, 213, 15, "Dinero:", false) guiSetFont(Label[17], "clear-normal") Label[18] = guiCreateLabel(968, 444, 213, 15, "Nivel:", false) guiSetFont(Label[18], "clear-normal") Label[19] = guiCreateLabel(968, 469, 213, 15, "Respeto:", false) guiSetFont(Label[19], "clear-normal") Label[20] = guiCreateLabel(968, 494, 213, 15, "Rango VIP:", false) guiSetFont(Label[20], "clear-normal") Check[1] = guiCreateCheckBox(1122, 537, 151, 24, "Invisible", false, false) guiSetFont(Check[1], "clear-normal") Check[2] = guiCreateCheckBox(1122, 571, 151, 24, "Vehiculo Indestructible", false, false) guiSetFont(Check[2], "clear-normal") end state = false function abrir() if ( not state ) then Holi() setTimer(function () addEventHandler("onClientRender",root, HoliGRANDE)end,500,1) showCursor(true) state = true else state = false -- Crearemos un loop para cada elemento y así itineramos y eliminaremos los elementos de las tablas. for k,v in ipairs(Boton)do destroyElement(v) end for k,v in ipairs(Label)do destroyElement(v) end for k,v in ipairs(Check)do destroyElement(v) end removeEventHandler("onClientRender",root, HoliGRANDE) showCursor(false) end end function HoliGRANDE() dxDrawRectangle(958, 264, 398, 425, tocolor(0, 0, 0, 134), false) dxDrawRectangle(958, 264, 398, 52, tocolor(0, 0, 0, 168), true) dxDrawText("Panel de Usuario VIP", 959, 264, 1356, 316, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "center", false, false, true, false, false) dxDrawText("General", 959, 316, 1065, 355, tocolor(255, 255, 255, 255), 0.50, "bankgothic", "center", "center", false, false, true, false, false) dxDrawText("Vehiculos", 1065, 316, 1171, 355, tocolor(255, 255, 255, 255), 0.50, "bankgothic", "center", "center", false, false, true, false, false) dxDrawText("Armas", 1171, 316, 1277, 355, tocolor(255, 255, 255, 255), 0.50, "bankgothic", "center", "center", false, false, true, false, false) dxDrawText("Ayuda", 1277, 316, 1356, 355, tocolor(255, 255, 255, 255), 0.50, "bankgothic", "center", "center", false, false, true, false, false) dxDrawLine(959, 316, 1357, 316, tocolor(255, 255, 255, 255), 1, true) dxDrawLine(958, 316, 958, 355, tocolor(255, 255, 255, 255), 1, true) dxDrawLine(958, 355, 1356, 355, tocolor(255, 255, 255, 255), 1, true) dxDrawLine(1065, 316, 1065, 355, tocolor(255, 255, 255, 255), 1, true) dxDrawLine(1171, 316, 1171, 355, tocolor(255, 255, 255, 255), 1, true) dxDrawLine(1277, 316, 1277, 355, tocolor(255, 255, 255, 255), 1, true) dxDrawLine(1356, 316, 1356, 355, tocolor(255, 255, 255, 255), 1, true) end
  12. Hola buenas, tengo un problema con este script. Lo que sucede es que quiero que me muestre el jugador que lleva la mayor cantidad de kills, pero no me manda nada. client-side nombreLbl = guiCreateLabel(564, 468 794, 486,"Nadie",false) addEvent("ActualizarKiller",true) addEventHandler("ActualizarKiller",root,function(topKiller) guiSetText(nombreLbl,topKiller) end) server-side addEventHandler("onPlayerWasted",root,function(killer) if killer ~= source and getElementType(killer) == "player" then local jugadores = getElementsByType("player") for k,v in ipairs(jugadores)do local Potros = getElementData(k,"kills") local misKills = getElementData(killer,"kills") if misKills < Potros then topKiller = getPlayerName(killer) triggerClientEvent(root,"ActualizarKiller",root,topKiller) end end end end)
  13. _SAXI_

    Gang System

    Podrías usar algo así: local cuenta = getAccountName(getPlayerAccount(source)) isObjectInACLGroup("gang.miembro"..cuenta,aclGetGroup("Gangs")) No sé son ocurrencias mías jaja
  14. Te daré 2 ejemplos sencillos: Si quieres hacerlo por grupos de ACL donadores = createTeam("Donators",255,255,255) function esDonador() local cuenta = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user."..,aclGetGroup("Donators")) then -- Condicionamos si es del grupo "Donators" setPlayerTeam(source,donadores) -- Asignamos al jugador el team "Donators" que es del grupo "Donators" en la ACL end end addEventHandler("onPlayerLogin",root,esDonador) -- Establecemos evento para que se ejecute nuestra función Ahora si quieres que sea solo para un team puedes usar esto: local jefes = createTeam("Jefes del servidor") function ola() if getPlayerTeam(source) == jefes then setElementModel(source,217) -- Le damos el skin "217" solo si es del team "Jefes del servidor" end end addCommandHandler("miSkin",ola)
  15. addCommandHandler("saludo",function() local tiempo = 0 if getTickCount() > 50000 then outputChatBox("Hola mundo!",getRootElement(),0,255,0,false) else outputChatBox("Debes esperar 5 minutos para poder utilizar este comando!",255,0,0,false) end end)
  16. Te aconsejo utilizar valores relativos, son más cómodos con las resoluciones
  17. Yo me encuentro trabajando en lo mismo para el server de mi clan, y como dice Alexs_Steel como si es un server con gamemodes estilo deathmatch será más simple, en mi caso para hacerlo bastante más sencillo uso elementData para separar los gamemodes.
  18. Tienes: addCommandHandler("onResourceStart",getRootElement(),privado Estás usando un comando y no el evento, debería ser: addEventHandler("onResourceStart",getRootElement(),privado) o si quieres que sea por comando: addCommandHandler("comando",privado)
  19. Client: function startTeleportWindow() createTeleportWindow() guiSetVisible(window, true) showCursor(true) guiSetInputEnabled(true) end addEvent("mostrarVentana",true) addEventHandler("mostrarVentana",root,startTeleportWindow) Server: addCommandHandler("teleport",function() local cuenta = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..cuenta, aclGetGroup ( "Admin" ) ) then triggerClientEvent(thePlayer,"mostrarVentana",thePlayer) else outputChatBox("No tienes permiso para usar este comando",thePlayer,255,0,0,false) end end)
  20. Hola, bueno quisiera saber si es posible hacer que 2 jugadores con el mismo elementdata se les bloqueara el daño entre ellos; asi como el setTeamFriendlyFire. Solo que yo tengo equipos por data. setElementData(getLocalPlayer(),"Equipo","Rojo") or setElementData(getLocalPlayer(),"Equipo","Azul") La idea es que aquellos que tengan por equipo "Rojo" no puedan dañarse entre ellos, pero si dañar a los que tienen equipo "Azul". Ayuda pls, gracias de ante mano
  21. _SAXI_

    [Ayuda]dxAnuncios

    Gracias, si me resultó, y gracias por las aclaraciones
  22. Hola Bueno estaba trabajando en un script super facil, pero al parecer no es tan facil para mi . Bueno, les explico. al mandar el comando "gmsg" se nos abre una gui donde podemos escribir lo que queramos al hacer click en el boton "Enviar" se nos aparecerá un dxText. Mi problema es que al mandar el mensaje me arroja lo siguiente: Aca el codigo btn = {}Lbl = {} mgv = guiCreateWindow(262, 241, 291, 129, "Mensaje global", false) guiWindowSetSizable(mgv, false) guiSetVisible(mgv,false) btn[1] = guiCreateButton(200, 61, 82, 26, "Enviar", false, mgv) btn[2] = guiCreateButton(9, 94, 82, 26, "Cancelar", false, mgv) mge = guiCreateEdit(9, 64, 189, 20, "", false, mgv) Lbl[1] = guiCreateLabel(17, 33, 253, 15, "INTRODUCE EL MENSAJE", false, mgv) guiSetFont(Lbl[1], "default-bold-small") guiLabelSetHorizontalAlign(Lbl[1], "center", false) guiLabelSetVerticalAlign(Lbl[1], "center") Lbl[2] = guiCreateLabel(102, 107, 183, 15, "Attack of the Terrorist!", false, mgv) guiSetFont(Lbl[2], "default-bold-small") guiLabelSetColor(Lbl[2], 30, 30, 30) guiLabelSetHorizontalAlign(Lbl[2], "center", false) guiLabelSetVerticalAlign(Lbl[2], "center") addCommandHandler("gmsg",function()guiSetVisible(mgv,true)showCursor(true)end) msj = guiGetText(mge) addEventHandler("onClientGUIClick",root,function(msj) if btn[1] == source and msj ~= "" then addEventHandler("onClientRender",root,envio) setTimer(function()removeEventHandler("onClientRender",root,envio)end,2000,1) elseif source == btn[2] then guiSetVisible(mgv,false)showCursor(false) end end) function envio(msj) dxDrawText(tostring(mge), 0, -2, 799, 598, tocolor(200, 0, 0, 255), 2.00, "pricedown", "center", "center", false, false, false, false, false) end Bueno, eso sería gracias de ante mano