Jump to content

Sasu

MTA Contributors
  • Posts

    1,056
  • Joined

  • Last visited

Everything posted by Sasu

  1. Sasu

    Daño!

    local s = {"pro","std","poor"} addEventHandler("onResourceStart", resourceRoot, function() for _, sk in ipairs(s) do setWeaponProperty(28, sk, "weapon_range", 4000) setWeaponProperty(29, sk, "weapon_range", 4000) setWeaponProperty(30, sk, "weapon_range", 4000) setWeaponProperty(31, sk, "weapon_range", 4000) setWeaponProperty(32, sk, "weapon_range", 4000) setWeaponProperty(33, sk, "weapon_range", 4000) setWeaponProperty(34, sk, "weapon_range", 4000) end end)
  2. Sasu

    loadBrowserURL

    local screenWidth, screenHeight = guiGetScreenSize() local webBrowser = createBrowser(screenWidth, screenHeight, false, false) addEvent ("createVideo", true) addEventHandler ("createVideo", getRootElement(), function (text) x, y = 110.7, 1024.15 loadBrowserURL(webBrowser, text) end ) addEventHandler("onClientPreRender", root, function() dxDrawMaterialLine3D(x, y, 23.25, x, y, 14.75, webBrowser, 18.2, tocolor(255, 255, 255, 255), x, y+1, 19) end)
  3. Sasu

    [Duda] ShowChat

    Solo debias crear el script en server-side: addEventHandler("onPlayerJoin", root, function() showChat(source, false) end )
  4. Por si las dudas, puedes realizar un backup.
  5. You can use MTA Paradise by Mabako, which is open source: https://github.com/mabako/mta-paradise
  6. Hay una lista blanca de dominios, obviamente mtasa.com está dentro, pero puedes solicitar el permiso a los usuarios para poder entrar a las url's que tu quieres con requestBrowserDomains. Mas info: https://wiki.multitheftauto.com/wiki/CE ... est_system
  7. Client: logadmin = guiCreateGridList(0.01, 0.04, 0.70, 0.91, true, TabTest2) logadm1 = guiGridListAddColumn(logadmin, "Fecha", 0.1) logadm2 = guiGridListAddColumn(logadmin, "Admin", 0.3) logadm3 = guiGridListAddColumn(logadmin, "Premio", 0.3) logadm4 = guiGridListAddColumn(logadmin, "Cantidad", 0.3) logadm5 = guiGridListAddColumn(logadmin, "Selecc/Todos", 0.3) logadm6 = guiGridListAddColumn(logadmin, "Jugador", 0.3) borrarselec = guiCreateButton(0.73, 0.24, 0.13, 0.09, "Borrar Seleccionado", true, TabTest2) function onbtn() if source == borrarselec then borrarlogadmin() end end addEventHandler("onClientGUIClick", root, onbtn) function veryaellogad(tab) guiGridListClear(logadmin) for i, gs in pairs(tab) do local row = guiGridListAddRow(logadmin) guiGridListSetItemText(logadmin, row,logadm1, gs.Fecha, false, true) guiGridListSetItemText(logadmin, row,logadm2, gs.Admin, false, true) guiGridListSetItemText(logadmin, row,logadm3, gs.Premio, false, true) guiGridListSetItemText(logadmin, row,logadm4, gs.Cantidad, false, true) guiGridListSetItemText(logadmin, row,logadm5, gs.SelecTodos, false, true) guiGridListSetItemText(logadmin, row,logadm6, gs.Jugador, false, true) end end addEvent("veryaellog", true) addEventHandler("veryaellog", root, veryaellogad) function borrarlogadmin() local row = guiGridListGetSelectedItem(logadmin) local path = guiGridListGetItemText(logadmin, row, 1) local admin = guiGridListGetItemText(ligadmin, row, 2) local premio = guiGridListGetItemText(logadmin, row, 3) local cantidad = guiGridListGetItemText(logadmin, row, 4) local selectodos = guiGridListGetItemText(logadmin, row, 5) local plr = guiGridListGetItemText(logadmin, row, 6) if path and path ~= -1 then triggerServerEvent("borrarlogadmin", localPlayer, path, admin, premio, cantidad, selectodos, plr) end end Tambien chequea que todas las variables devuelvan los valores correspondiente utilizando outputChatBox.
  8. Sasu

    Execute Command

    if (string.sub(message, 1, 1) == "/") then local argcmd = split(message, " ") local command = tostring(argcmd[1]:gsub("/", "", 1)) table.remove(argcmd, 1) executeCommandHandler(command, source, table.concat(argcmd, " ")) triggerClientEvent(source, "onClientPlayerChatCommand", source, command, unpack(argcmd)) end
  9. toggleControl -- "onVehicleStartEnter" isElementWithinColShape cancelEvent() -- setSkyGradient -- playSound3D attachElements
  10. Fijate si "getElementData(v, "spawn")" devuelve algo.
  11. No entiendo, ¿qué quieres decir?
  12. Sasu

    Execute Command

    Check what reason returns in the command: addCommandHandler("ckick", function (theAdmin, _, name, reason) local thePlayer = getPlayerFromName(name) outputChatBox(tostring(reason), theAdmin) --<<<< if not (thePlayer) then exports["ZA-hud"]:outputDxHelp("The player is not found", theAdmin, 255, 0, 0) return end if not (reason) or (reason == "") then exports["ZA-hud"]:outputDxHelp("Please pute kick reason", theAdmin, 255, 0, 0) return end kickPlayer(thePlayer, theAdmin, reason) end) EDIT: I read the wiki and I saw that it says: So try this: addEvent("onAdminEditPanel", true) addEventHandler("onAdminEditPanel", root, function (command, ...) if (command) and (...) then outputDebugString(table.concat({...}, ", ")) local args = table.concat({...}, " ") --- <<<< executeCommandHandler("c"..command, source, args) end end) addCommandHandler("ckick", function (theAdmin, _, name, reason) local thePlayer = getPlayerFromName(name) outputChatBox(tostring(reason), theAdmin) if not (thePlayer) then exports["ZA-hud"]:outputDxHelp("The player is not found", theAdmin, 255, 0, 0) return end if not (reason) or (reason == "") then exports["ZA-hud"]:outputDxHelp("Please pute kick reason", theAdmin, 255, 0, 0) return end kickPlayer(thePlayer, theAdmin, reason) end)
  13. You have to pass 'player' argument to setTimer. function cameraSwitch(player) setTimer ( function(player) local x, y, z = getElementPosition( player ) outputChatBox("Message à délais de 5 secondes.") outputChatBox("Un changement de caméra doit vous permettre de pouvoir jouer convenablement") setCameraMatrix(player, x, y, z) setCameraTarget(player) end, 5000, 1, player ) -- Here end
  14. Recuerda que estas definiendo 'player' como un elemento. Si lo que tratas es contar los jugadores que tienen algun valor en element data 'event' puedes intentar esto: local users = 0 for _,player in ipairs(getElementsByType("player")) do if getElementData(player,"EVENT") == true then users = users+1 end end
  15. There is no necessary to use table.concat because the nicknames haven't got spaces. If you want only admins can use the command you can use isObjectInACLGroup(see example). Use onPlayerJoin event with a for-loop and the function I mentioned before.
  16. local white = tocolor(255,255,255,255) local target = dxCreateRenderTarget(100, 100, true) local rotation = 0 function dxDrawImage3D(x,y,z,w,h,m,c,r,...) local lx, ly, lz = x+w, y+h, (z+tonumber(r or 0)) or z return dxDrawMaterialLine3D(x,y,z, lx, ly, lz, m, h, c or white, ...) end addEventHandler("onClientRender", root, function() rotation = rotation < 360 and rotation + 10 or 0 dxSetRenderTarget(target, true) dxDrawImage ( 0, 0, 100, 100, "test.png", rotation ) dxSetRenderTarget() end ) addEventHandler("onClientPreRender", root, function() local gx, gy, gz = getPedBonePosition(localPlayer, 25) dxDrawImage3D( gx-1.5, gy-1.5, gz+.1, 3, 3, target, tocolor(255,255,255,255), 0, gx-1.5, gy-1.5, gz+100) end) Lo hice utilizando esta imagen: Pero si usas otra imagen, debes acomodar las posiciones de la anteúltima línea.
  17. local sx,sy = guiGetScreenSize() local px,py = TuX, TuY -- Remplaza TuX, TuY con la resolución que utilizaste para armar ese panel. local x,y = (sx/px), (sy/py) PanelBMO = guiCreateStaticImage(x*985, y*130, x*285, y*580, "BMO.png", false, nil )
  18. No sé si se pueden guardar tablas con la función setElementData, pero puedes transformarlo al formato JSON, así: function backupAllVehZ() dbExec(db, "DROP TABLE vehicles") kk = dbQuery(db, "CREATE TABLE IF NOT EXISTS vehicles (model, x, y, z, rotx, roty, rotz, slots, fuel, tires, engines, parts, id)") dbFree ( kk ) local vehicles = getElementsByType("vehicle") id = 0 for i,v in ipairs(vehicles) do local CCOL = getElementData (v,"parent") local VIP = getElementData (v,"VIP") if CCOL then if not VIP then ---local model = getElementModel(v) --local model, x, y, z = getElementData(v, "spawn")[1], getElementData(v, "spawn")[2], getElementData(v, "spawn")[3], getElementData(v, "spawn")[4] local model, x, y, z = unpack ( fromJSON ( getElementData(v, "spawn") ) ) local x2,y2,z2 = getElementPosition(v) local rotx, roty, rotz = getElementRotation(v) local slots = getElementData(getElementData(v, "parent"), "MAX_Slots") or 20 local fuel = getElementData(getElementData(v, "parent"), "fuel") local tires = getElementData(getElementData(v, "parent"), "Tire_inVehicle") or 0 local engines = getElementData(getElementData(v, "parent"), "Engine_inVehicle") or 0 local parts = getElementData(getElementData(v, "parent"), "Parts_inVehicle") or 0 id = id + 1 sda = dbQuery(db, "INSERT INTO vehicles (model, x, y, z,x2,y2,z2, rotx, roty, rotz, slots, fuel, tires, engines, parts, id) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)", model, x, y, z, rotx, roty, rotz, slots, fuel, tires, engines, parts, id) dbFree ( sda ) end end end noteAdmins("Vehicle backup done! ["..#vehicles.."]") end function createCars(model, x, y, z,x2,y2,z2 rotx, roty, rotz, slots, fuel, tires, engines, parts, id) veh = createVehicle(model, x2, y2, z2, rotx, roty, rotz) vehCol = createColSphere(x2, y2, z2, 2) attachElements(vehCol, veh, 0, 0, 0) setElementData(vehCol, "parent", veh) setElementData(veh, "parent", vehCol) setElementData(vehCol, "vehicle", true) setElementData(vehCol, "MAX_Slots", tonumber(slots)) local tires, engine, parts = getVehicleAddonInfos(getElementModel(veh)) setElementData(vehCol, "Tire_inVehicle", tonumber(tires)) setElementData(vehCol, "Engine_inVehicle", tonumber(engines)) setElementData(vehCol, "Parts_inVehicle", tonumber(parts)) setElementData(vehCol, "spawn", toJSON ( { model, x, y, z } ) ) setElementData(vehCol, "fuel", tonumber(fuel)) end (No lo he probado)
  19. Sasu

    Puertas vehicle

    Si quieres que los demás jugadores puedan ver cuando estás abriendo el maletero, debes hacerlo en server-side. Puede utilizar el evento onElementClicked
  20. Sasu

    setTimer

    Para evitar futuros errores, corrijo. Los argumentos de la funcion que quieras ejecutar dentro del setTimer van luego de la cantidad de ejecuciones, quedaria asi: setTimer ( print, 10000, 1, "Esto aparecera 10 segundos después de que el script sea cargado")
  21. Nop, this user ranking has been added the last year.
  22. Ok, thanks for the reply.
  23. Hey there! I have a question: is there anyform to get the screen size in server without use the client-side? I mean this because neither I want element data.
×
×
  • Create New...