Search the Community
Showing results for tags 'ayuda'.
-
se busca scripters para este servidor que sepa programar en lua de forma voluntaria si quiere puede unirse al proyecto estamos con la gamemode de chicago roleplay / pop life / life stealh roleplay son de la misma base las 3 se maneja algo similar por lo que tengo entendido el que este interesado entre al servidor de discord, verifiquense y abran un ticket para hablarme de forma privada adamas buscamos nuevos usuarios que sean activos para poder poner en pie el servidor, gracias. Discord: https://discord.gg/Ecjn6AyUQN
-
- scripter
- araboth roleplay
-
(and 7 more)
Tagged with:
-
Hello, I want to know how can I put on the same bar normal health and extra health, normal health is 100 but extra health increase constantly by levels, how can i adapt a bar for both health? that looks full and adapts to the extra health
-
Hello everyone. I am creating a skins store, but I would like to know how I can save each skin I buy in a list, as items since there are many skins. Is there a way to create a save system for each skin? saving it by id? I don't know if I explain myself well.
- 6 replies
-
- skin save
- save system
- (and 4 more)
-
Hola que tal, necesito de vuestra ayuda para saber si es posible lo siguiente: Como hago para aplicar un shader donde todos los objetos del mapa e incluso los objetos custom se vean negros totalmente de forma localplayer que solo lo vea el jugador que lo active y luego desactive si quiere, sin que este shader afecte al jugador o sea que el ped siga viéndose normal. Tengo problemas solo con la creación del shader, alguien podría ayudarme o explicarme?
-
ERROR EN LA CONSOLA: ERROR: items/itemsS.lua:671: attempt to index global 'trash' (a nil value) El error me aparece cada vez que inicio el server y cada vez que le hago restart a cualquier script, no entiendo, me tiene cabezón. Resalto la línea 671 del error en amarrillo. (línea del supuesto error) local sistemaitems function loadTrash() local query = dbQuery(connection, "SELECT * FROM bins;" ) local result, numrows = dbPoll(query, -1) if (result and numrows > 0) then for index, trashPos in pairs(result) do trashPos = fromJSON(trash["pos"]) or "[[ 0,0,0,0,0,0,0,0 ]]" sistemaitems = createObject(1359, trashPos[1],trashPos[2], trashPos[3]-0.4, trashPos[4], trashPos[5], trashPos[6]) setElementData(sistemaitems, "sistemaID", trash['id']) setElementInterior(sistemaitems, trashPos[7]) setElementDimension(sistemaitems, trashPos[8]) end end end addCommandHandler("papelera", function(playerSource, cmd) if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(playerSource)), aclGetGroup("Console")) then local x, y, z = getElementPosition(playerSource) local rx, ry, rz = getElementRotation(playerSource) local int = getElementInterior(playerSource) local Dim = getElementDimension(playerSource) local Query, _, insertID = dbQuery(connection,"INSERT INTO bins (pos) VALUES(?)", toJSON({x, y, z, rx, ry, rz, int ,Dim})) local checkQuery, _, insertID = dbPoll ( Query, -1 ) if checkQuery then outputChatBox("#7cc776[Inventario] #ffffff Papelera creada.", playerSource, 255,255, 255, true) sistemaitems = createObject(1359, x, y, z-0.4, rx, ry, rz) setElementData(sistemaitems, "sistemaID", insertID) setElementInterior(sistemaitems, int) setElementDimension(sistemaitems, Dim) end end end) El código es parte de un sistema de papelera para desechar items, todo lo demás corre muy bien. Será algún problema con mi sistema de ID?
-
Hola que tal, quisiera que me orientaran en algo. Hay un código de un usuario aquí en el foro que permite caminar en el agua utilizando la creación de un objeto y render bajo el jugador, el problema es que esto solo lo ve el jugador que lo ejecuta, no pueden verlo los demás. He intentado con un trigger desde el server side pero no he podido lograr que funcione, quisiera que me orientaran al respecto para lograr que los demás players te vean caminando sobre el agua... por acá adjunto el código original y post del usuario: https://forum.multitheftauto.com/topic/58614-water-walk/ -- water walk local obj = {} function WaterWalk() if obj[localPlayer] then local x,y,_ = getElementPosition(localPlayer) setElementPosition(obj[localPlayer],x,y,-.5) end end addEventHandler ("onClientRender",root,WaterWalk) function WaterOn() local px,py,_ = getElementPosition(localPlayer) obj[localPlayer] = createObject(1221,px,py,0) setElementAlpha(obj[localPlayer],0) end addCommandHandler("water",WaterOn)
-
Hola, tanto tiempo. Hago este post para realizar una pregunta... el siguiente código (client side) crea peds con distintas posiciones en su respectiva tabla, he tenido un problema: quiero que al matar un ped ESE específicamenre el que maté se destruya y reaparezca en 20 segundos pero al matarlo lo que sucede es que todos los peds de la tabla se destruyen, espero su ayuda.... por aquí dejo una pequeña parte de mi tabla; local PedPlaces = { {-1556, 2355, 10, 350}, {-1346, 2255, 10, 250}, {-1256, 2155, 10, 123}, {-1217, 1667, 10, 69} } for i, v in pairs (PedPlaces) do PED = createPed(15,v[1],v[2],v[3], v[4]) end
-
Hola buenas, aclaro que no entiendo mucho sobre programación, he aprendiendo poco a poco viendo tutoriales y modificando una que otra cosa que descargo. El punto es que quiero hacer que este script de TP funcione con autos, que se pueda activar tocando el Claxon del vehículo, para que pueda Tpearme con el mismo vehiculo a un punto en especifico, y así darle un uso para "TP de Garaje", intenté cambiar el BindKey por "horn" y de un interior a otro me lleva a otras cordenadas y de un exterior no se teletransporta, estaría bastante agradecido si me pudiesen ayudar. local interiors = { -- {Ext"X", Ext"Y", Ext"Z", | IDInt, IDDim | IntX, IntY, IntZ | IDInt, IDDim | "Nombre"}, {1177.90234375, -1338.9755859375, 14.912269592285, 0, 0, 447, 2520, -98, 10, 0, "LSMD"}, {1195.3037109375, -1354.92578125, 13.389284133911, 0, 0, 1198.0654296875, -1402.2587890625, 13.257797241211, 0, 0, "Prueba"}, } enterPickup = nil exitPickup = nil local bind = "Enter" local screenW, screenH = guiGetScreenSize() addEventHandler("onClientResourceStart", resourceRoot, function() for i,v in pairs (interiors) do local enterPickup = createPickup(v[1], v[2], v[3], 3, 1318, 1) setElementInterior(enterPickup, v[4]) setElementDimension(enterPickup, v[5]) local exitPickup = createPickup(v[6], v[7], v[8], 3, 1318, 1) setElementInterior(exitPickup, v[9]) setElementDimension(exitPickup, v[10]) addEventHandler("onClientRender", root, function() if (isElementWithinPickup(localPlayer, enterPickup)) and getElementInterior(localPlayer) == getElementInterior(enterPickup) and getElementDimension(localPlayer) == getElementDimension(enterPickup) then dxDrawHelp("Propiedad : "..v[11], "Presiona "..bind.." para entrar.") elseif (isElementWithinPickup(localPlayer, exitPickup)) and getElementInterior(localPlayer) == getElementInterior(exitPickup) and getElementDimension(localPlayer) == getElementDimension(exitPickup) then dxDrawHelp("Propiedad : "..v[11], "Presiona "..bind.." para salir.") end end) bindKey(bind, "down", function() if (isElementWithinPickup(localPlayer, enterPickup)) and getElementInterior(localPlayer) == getElementInterior(enterPickup) and getElementDimension(localPlayer) == getElementDimension(enterPickup) then triggerServerEvent("warpPlayer", localPlayer, localPlayer, v[6], v[7], v[8], v[9], v[10]) elseif (isElementWithinPickup(localPlayer, exitPickup)) and getElementInterior(localPlayer) == getElementInterior(exitPickup) and getElementDimension(localPlayer) == getElementDimension(exitPickup) then triggerServerEvent("warpPlayer", localPlayer, localPlayer, v[1], v[2], v[3], v[4], v[5]) end end) end end) local blips = { -- blip ekleye bilirsiniz. {810.4853515625, -1616.16015625, 13.546875, 10}, } for i,v in pairs (blips) do createBlip(v[1], v[2], v[3], v[4], 2, 255, 255, 255, 255, 0, 100) end function guiGridListGetSelectedItemText ( gridList, column ) local item = guiGridListGetSelectedItem ( gridList ) if item then return guiGridListGetItemText ( gridList, item, column or 1 ) end return false end -- function isElementWithinPickup(theElement, thePickup) if (isElement(theElement) and getElementType(thePickup) == "pickup") then local x, y, z = getElementPosition(theElement) local x2, y2, z2 = getElementPosition(thePickup) if (getDistanceBetweenPoints3D(x2, y2, z2, x, y, z) <= 1) then return true end end return false end function round(num) if ( num >= 0 ) then return math.floor( num + .5 ) else return math.ceil( num - .5 ) end end function convertNumber( number ) local formatted = number while true do formatted, k = string.gsub( formatted, "^(-?%d+)(%d%d%d)", '%1 %2' ) if ( k==0 ) then break end end return formatted end function guiComboBoxAdjustHeight ( combobox, itemcount ) if getElementType ( combobox ) ~= "gui-combobox" or type ( itemcount ) ~= "number" then error ( "Invalid arguments @ 'guiComboBoxAdjustHeight'", 2 ) end local width = guiGetSize ( combobox, false ) return guiSetSize ( combobox, width, ( itemcount * 20 ) + 20, false ) end
-
-
He estado editando un script de vehiculos para hacerlo funcionar en un RP pero tengo un problema a la hora de ejecutar el comando de cerrar el vehículo, se cierra perfectamente, desde afuera nadie lo puede abrir a menos que el dueño lo abra, pero el tema es que si el dueño cierra por dentro, aún así puedes salir. Investigué un poco y encontré que se podía hacer algo con cancelEvent, he intentado de todo pero nada parece funcionarme con ese comando, algún consejo?
-
Tengo un script de comprar weed , y cuando elimino la weed y luego me acerco al marker a comprar de nuevo no me deja ,me aparece el ultimo mensaje: 'Ya tengo mota' osea que solo puedo comprar una vez y y despues que la elimino no me deja comprar nuevamente. despues la segunda duda es como comprar algo y usarlo un numero de veces, por ejemplo que compre weed o una bebida y que no me dure para siempre, que se acabe y se elimine despues de 4 clics por ejemplo... por ejemplo buyWeed se activa con la H , y con clic derecho startSmokingWeed es para fumar , aunque si no lo elimino con otro comando no se elimina solo, por mas fumadas que le de? function buyWeed () local money = getPlayerMoney( source ) if not weed[source] then --if not weed[source] then if money >= 180 then local player = source weed[player] = true -- añadimos la compra a la tabla setPedAnimation( source,"DEALER", "shop_pay") takePlayerMoney(source, 180) animTimers[source] = setTimer(startSmokingWeed,4500,1,source) else outputChatBox( "Vuelve cuando tengas el dinero",source,200,0,0) end else outputChatBox( "Ya tengo mota",source,200,0,0) end end addEvent("buyWeed", true) addEventHandler("buyWeed", root, buyWeed) Esta es la parte del lado del cliente function buyWeed() ---playSound3D("beerbuy.mp3", 496.03125, -76.0400390625, 998.7578125) local isPlayerNearWeedMachine = false; for markerId,markerElement in ipairs (vendingMachineWeedMarker) do if (isElementWithinColShape( localPlayer, markerElement )) and not (isPlayerNearWeedMachine) then isPlayerNearWeedMachine = true; end end if (isPlayerNearWeedMachine) then unbindKey("H","down",buyWeed ) triggerServerEvent( "buyWeed",localPlayer ) end end
-
nose como recuperar la carpeta de server.conf entro al block de notas y no ay nada esto es un la carpeta de server/mods/deathmatch y en server.conf click derecho y block de notas y entro y no ahi nada ni una letra como recupero el server.conf ayuda psl ayuda españa/argentina
- 1 reply
-
- ayuda
- server.conf
- (and 3 more)
-
Necesito ayuda con este script de trabajo para Petrolero. El trabajo consiste en que después de aceptar el trabajo en la agencia y en el punto de lugar. Agarrar un Camión, ingresar a una plataforma, seleccionar el destino o ruta, luego de eso se te añade el tráiler atrás del camión y llevarlo a una gasolinera dejar la carga y que te pague al dejarla. Hasta ahí todo bien y funciona, excepto el pago. cuando dejas la carga no da el dinero, tampoco sale la alerta de haberla entregado. Lo compare con la mayoría de los scripts de trabajos que si pagan y no logro encontrar el fallo. ¿Alguien me podría decir que es lo que esta mal? dejo el client y server, el meta y mapeo que tienen estan bien y funcionando. los paneles para elegir rutas tambien. Solo el final del recorrido es lo que no da el pago.... NOTA: el script original esta en portugues, yo voy traduciendo al español solo los dxDrawText, outputChatBox y los comandos por escrito, este es el client ↓↓↓↓↓↓ local screenW,screenH = guiGetScreenSize() local resW, resH = 1366,768 local x, y = (screenW/resW), (screenH/resH) -------------------------------------------------------------------- function Window(rnames) if isElement(myWindow) then return end local screenW, screenH = guiGetScreenSize() myWindow = guiCreateWindow((screenW - x*485) / 2, (screenH - y*404) / 2, x*485, y*404, "Rotas", false) Rotas = guiCreateGridList(x*40, y*40, x*405, y*275, false, myWindow) guiWindowSetSizable(myWindow, false) guiSetAlpha(Rotas, x*0.70) guiGridListAddColumn( Rotas, "Rotas", x*0.85 ) for k,v in pairs(rnames) do row = guiGridListAddRow ( Rotas ) guiGridListSetItemText ( Rotas, row, 1, tostring(k), false, false ) end showCursor(true) fechar = guiCreateButton(x*275, y*334, x*168, y*35, "Cerrar", false, myWindow) escolher = guiCreateButton(x*42, y*334, x*168, y*35, "Cargar", false, myWindow) end addEvent("JOBUS>AbrirPainel<Client", true) addEventHandler("JOBUS>AbrirPainel<Client", localPlayer, Window) -------------------------------------------------------------------- function botoes(bt,state) if state == "up" and bt == "left" then if source == fechar then if isElement(myWindow) then destroyElement(myWindow) showCursor(false) end end if source == escolher then local selectedItemx = guiGridListGetSelectedItem(Rotas) local nome = guiGridListGetItemText(Rotas, selectedItemx, 1) if nome == nil then exports.Script_Textos:createNewDxMessage('Seleccione una ruta para cargar su camión!', 255, 255, 255) return end triggerServerEvent("request>Startrota>Server",localPlayer,localPlayer,nome) if isElement(myWindow) then destroyElement(myWindow) showCursor(false) end end end end addEventHandler("onClientGUIClick", root,botoes) -------------------------------------------------------------------- function blips(state,x,y,z) if state == true then if not isElement(blips) then blips = createBlip( x, y, z ) end else if isElement(blips) then destroyElement(blips) end end end addEvent("JOBUS>blips<Client", true) addEventHandler("JOBUS>blips<Client", localPlayer, blips) -------------------------------------------------------------------- local g_screenX, g_screenY = guiGetScreenSize(); local gScale = 0.3; local gAlphaDistance = 25; local gMaxDistance = 50; local gTextAlpha = 120; local gTextSize = 0.7; local gAlphaDiff = gMaxDistance - gAlphaDistance; gScale = 1 / gScale * 800 / g_screenY; local gMaxScaleCurve = { { 0, 0 }, { 3, 3 }, { 13, 5 } }; local gTextScaleCurve = { { 0, 0.8 }, { 0.8, 1.2 }, { 99, 99 } }; local gTextAlphaCurve = { { 0, 0 }, { 25, 100 }, { 120, 190 }, { 255, 190 } }; local x = 269.73334 local y = 1415.76489 local z = 10 addEventHandler("onClientRender",getRootElement(), function() local px,py,pz = getElementPosition(getLocalPlayer()) local distance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) if distance <= 50 then local sx,sy = getScreenFromWorldPosition ( x, y, z+0.95, 0.06 ) if not sx then return end local scale = 1 / ( gScale * ( distance / gMaxDistance ) ); local alpha = ( ( distance - gAlphaDistance ) / gAlphaDiff ); alpha = ( alpha < 0 ) and gTextAlpha or gTextAlpha - ( alpha * gTextAlpha ); scale = math.evalCurve( gMaxScaleCurve, scale ); local textscale = math.evalCurve( gTextScaleCurve, scale ); local textalpha = math.evalCurve( gTextAlphaCurve, alpha ); dxDrawText ( ">>Entrada del Area de Cargamento>>", sx, sy - 30, sx, sy - 30, tocolor ( 0, 0, 0, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); dxDrawText ( ">>Entrada del Area de Cargamento>>", sx -2, sy - 30 -2, sx -1, sy - 30 -2, tocolor ( 255, 0, 0, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); end end ) local x = 269.34631 local y = 1393.52222 local z = 10 addEventHandler("onClientRender",getRootElement(), function() local px,py,pz = getElementPosition(getLocalPlayer()) local distance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) if distance <= 50 then local sx,sy = getScreenFromWorldPosition ( x, y, z+0.95, 0.06 ) if not sx then return end local scale = 1 / ( gScale * ( distance / gMaxDistance ) ); local alpha = ( ( distance - gAlphaDistance ) / gAlphaDiff ); alpha = ( alpha < 0 ) and gTextAlpha or gTextAlpha - ( alpha * gTextAlpha ); scale = math.evalCurve( gMaxScaleCurve, scale ); local textscale = math.evalCurve( gTextScaleCurve, scale ); local textalpha = math.evalCurve( gTextAlphaCurve, alpha ); dxDrawText ( "<<Salida del Area de Cargamento<<", sx, sy - 30, sx, sy - 30, tocolor ( 0, 0, 0, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); dxDrawText ( "<<Salida del Area de Cargamento<<", sx -2, sy - 30 -2, sx -1, sy - 30 -2, tocolor ( 255, 0, 0, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); end end ) local x = 192.2998046875 local y = 1400.599609375 local z = 10 addEventHandler("onClientRender",getRootElement(), function() local px,py,pz = getElementPosition(getLocalPlayer()) local distance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) if distance <= 50 then local sx,sy = getScreenFromWorldPosition ( x, y, z+0.95, 0.06 ) if not sx then return end local scale = 1 / ( gScale * ( distance / gMaxDistance ) ); local alpha = ( ( distance - gAlphaDistance ) / gAlphaDiff ); alpha = ( alpha < 0 ) and gTextAlpha or gTextAlpha - ( alpha * gTextAlpha ); scale = math.evalCurve( gMaxScaleCurve, scale ); local textscale = math.evalCurve( gTextScaleCurve, scale ); local textalpha = math.evalCurve( gTextAlphaCurve, alpha ); dxDrawText ( "Area del Cargamento", sx, sy - 30, sx, sy - 30, tocolor ( 0, 0, 0, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); dxDrawText ( "Area del Cargamento", sx -2, sy - 30 -2, sx -1, sy - 30 -2, tocolor ( 8, 114, 246, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); end end ) function math.evalCurve( curve, input ) if input < curve[ 1 ][ 1 ] then return curve[ 1 ][ 2 ]; end for idx = 2, #curve do if input < curve[ idx ][ 1 ] then local x1 = curve[ idx - 1 ][ 1 ]; local y1 = curve[ idx - 1 ][ 2 ]; local x2 = curve[ idx ][ 1 ]; local y2 = curve[ idx ][ 2 ]; local alpha = ( input - x1 ) / ( x2 - x1 ); return math.lerp( y1, y2, alpha ); end end return curve[ #curve ][ 2 ]; end function math.lerp( from, to, alpha ) return from + ( to-from ) * alpha; end -------------------------------------------------------------------- y este es el server ↓↓↓↓↓ PetroleiroPickup = createPickup ( 283.75128, 1432.13159, 10.79398, 3, 1210) MarkerPetroleiro = createMarker ( 283.75128, 1432.13159, 10.79398, "cylinder", 1.2, 255, 255, 255, 0 ) attachElements ( MarkerPetroleiro, PetroleiroPickup, 0, 0, -1 ) BlipPetroleiro = createBlipAttachedTo ( MarkerPetroleiro, 42 ) setBlipVisibleDistance ( BlipPetroleiro, 150 ) safe = createMarker ( 192.2998046875, 1400.599609375, 9, "cylinder", 11, 0, 255, 0, 0) function CancelarSumirPickup ( player ) cancelEvent() end addEventHandler ( "onPickupHit", PetroleiroPickup, CancelarSumirPickup ) -------------------------------------------------------------------- LetraParaMarkers = "k" cmd1 = "hq" cmd2 = "profesion" -------------------------------------------------------------------- local HQPetroleiroBlip = createBlip ( 270.59879, 1409.27441, 10.46635 ) setElementVisibleTo ( HQPetroleiroBlip, root, false ) -------------------------------------------------------------------- function VerificarBlipEmprego(player) if player then acc = getPlayerAccount ( player ) if isGuestAccount ( acc ) then return end setElementVisibleTo ( HQPetroleiroBlip, player, false ) end end setTimer( function() for i, pl in pairs(getElementsByType("player")) do if pl ~= (false or nil) then if getElementData ( pl, "Emprego" ) == "Petroleiro" then return end VerificarBlipEmprego(pl) end end end, 3000,0) -------------------------------------------------------------------- function ComandoHQ ( source ) if getElementData ( source, "Emprego" ) == "Petroleiro" then if isElementVisibleTo ( HQPetroleiroBlip, source ) then setElementVisibleTo ( HQPetroleiroBlip, source, false ) exports.Scripts_Dxmessages:outputDx(source, "Su lugar de trabajo ha sido deseleccionado del mapa!", "info") else setElementVisibleTo ( HQPetroleiroBlip, source, true ) exports.Scripts_Dxmessages:outputDx(source, "Su lugar de trabajo ha sido marcado en el mapa!", "info") end end end addCommandHandler ( cmd1, ComandoHQ ) -------------------------------------------------------------------- function AceitarEmprego02 (source) exports.Scripts_OnMarkerMsgs_:delete(source) unbindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 ) if getElementData ( source, "AirNew>Encaminhamento" ) == "Petroleiro" then setElementData ( source, "AirNew>Encaminhamento", false ) setElementData ( source, "Emprego", "Petroleiro" ) exports.Scripts_Dxmessages:outputDx(source, "Ahora trabaja como trabajador petrolero, para obtener más información escriba (/profesión )", "success") else exports.Scripts_Dxmessages:outputDx(source, "Debe ser derivado de la Agencia de Empleo para trabajar en este lugar!", "error") end end function RecusarEmprego02 (source) exports.Scripts_OnMarkerMsgs_:delete(source) unbindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 ) if isElementVisibleTo ( HQPetroleiroBlip, source ) then setElementVisibleTo ( HQPetroleiroBlip, source, false ) end removeElementData ( source, "Emprego", "Petroleiro" ) exports.Scripts_Dxmessages:outputDx(source, "Usted renunció exitosamente al trabajo de petrolero!", "warning") end -------------------------------------------------------------------- function ComandosProf ( ThePlayer ) if getElementData ( ThePlayer, "Emprego" ) == "Petroleiro" then playSoundFrontEnd ( ThePlayer, 43 ) outputChatBox ( "#F9A631~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #F96031Profesion #F9A631~~~~~~~~~~~~~~~~~~~~~~~~~~~~", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#F96031» #BEE09AComandos de la profesión de petrolero", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#F96031» #55D444/HQ #ffffff- #9ABDE0Para marcar / desmarcar su lugar de trabajo", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#F96031» #FFD700Sube al camión y conduce hasta el área de carga.", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#F96031» #FFD700DEBES IR POR LA ENTRADA DE LA DERECHA, POSICIONAR EN LA PLATAFORMA AMARILLA DEL MEDIO.", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#F96031» #FFD700En el área de carga presione la letra 'K' para seleccionar la carga", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#F96031» #FFD700Y SALIR POR EL OTRO LADO PARA INICIAR EL VIAJE.", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#F9A631~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #F96031Profesion #F9A631~~~~~~~~~~~~~~~~~~~~~~~~~~~~", ThePlayer, 255, 255, 255, true ) end end addCommandHandler(cmd2, ComandosProf ) -------------------------------------------------------------------- function emarker(marker,md) if (md) then if not isPedInVehicle ( source ) then if marker == MarkerPetroleiro then if getElementData ( source, "Emprego" ) == "Petroleiro" then exports.Scripts_OnMarkerMsgs_:create(source,"Presione 'K' para renunciar al trabajo de petrolero") bindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 ) else exports.Scripts_OnMarkerMsgs_:create(source,"Presione 'K' para aceptar el trabajo de aceite") bindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 ) end end end local seat = getPedOccupiedVehicleSeat ( source ) if seat == 0 then if marker == safe then bindKey ( source, LetraParaMarkers, "down", pickjobonbus ) exports.Scripts_OnMarkerMsgs_:create(source,"Presione 'K' para cargar su camión") end if marker == ppcik[source] then bindKey ( source, LetraParaMarkers, "down", ifPlayerEnterOnMarker ) exports.Scripts_OnMarkerMsgs_:create(source,"Presione 'K' para descargar su camión") end end end end addEventHandler("onPlayerMarkerHit",getRootElement(),emarker) function lmarker(marker,md) if (md) then if marker == MarkerPetroleiro then exports.Scripts_OnMarkerMsgs_:delete(source) unbindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 ) unbindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 ) end if marker == safe then unbindKey ( source, LetraParaMarkers, "down", pickjobonbus ) exports.Scripts_OnMarkerMsgs_:delete(source) end if marker == ppcik[source] then unbindKey ( source, LetraParaMarkers, "down", ifPlayerEnterOnMarker ) exports.Scripts_OnMarkerMsgs_:delete(source) end end end addEventHandler("onPlayerMarkerLeave",getRootElement(),lmarker) -------------------------------------------------------------------- atualrotnumber = {} ppcik = {} blips = {} -------------------------------------------------------------------- rotas = { ["Puesto de Fort Carson - $7000"] = { {70.36392, 1218.65625, 18.81190}, }, ["Puesto de Bone County - $9000"] = { {612.14429, 1695.00281, 6.99219}, }, ["Puesto de Tierra Robada - $14000"] = { {-1477.12805, 1863.58386, 32.63281}, }, ["Puesto de Tierra Robada II - $14500"] = { {-1328.97241, 2672.06689, 50.06250}, }, ["Puesto de Redsands West - $13500"] = { {1595.82605, 2198.85205, 10.82031}, }, ["Puesto de Spinybed - $29000"] = { {2147.65674, 2747.65161, 10.82031}, }, ["Puesto de The Emerald Isle - $16000"] = { {2202.37598, 2474.13965, 10.82031}, }, ["Puesto de Las Venturas - $14000"] = { {2639.75928, 1106.16931, 10.82031}, }, ["Puesto de Las Venturas II - $13000"] = { {2115.28882, 920.22015, 10.82031}, }, ["Puesto de Montgomery - $16000"] = { {1382.29285, 460.14056, 20.34520}, }, ["Puesto de Dillimore - $17500"] = { {654.96869, -559.74841, 16.50149}, }, ["Puesto de Temple - $28500"] = { {1004.65613, -936.75317, 42.32813}, }, ["Puesto de Idlewood - $32000"] = { {1942.37158, -1772.88501, 13.64063}, }, ["Puesto de Flint County - $39500"] = { {-93.53500, -1174.47327, 2.28485}, }, ["Puesto de Whetstone - $59000"] = { {-1605.74585, -2714.55273, 48.53347}, }, ["Puesto de Angel Pine - $53050"] = { {-2244.26880, -2561.07104, 31.92188}, }, ["Puesto de Juniper Hallow - $45000"] = { {-2410.03662, 976.18658, 45.42539}, }, ["Puesto de Easter Basin - $39200"] = { {-1675.65918, 413.23929, 7.17969}, }, } -------------------------------------------------------------------- pay={ ["Puesto de Fort Carson - $700"] = 7000, ["Puesto de Bone County - $900"] = 9000, ["Puesto de Tierra Robada - $1400"] = 14000, ["Puesto de Tierra Robada II - $1450"] = 14500, ["Puesto de Redsands West - $1350"] = 13500, ["Puesto de Spinybed - $2900"] = 29000, ["Puesto de The Emerald Isle - $1600"] = 16000, ["Puesto de Las Venturas - $1400"] = 14000, ["Puesto de Las Venturas II - $1300"] = 13000, ["Puesto de Montgomery - $1600"] = 16000, ["Puesto de Dillimore - $1750"] = 17500, ["Puesto de Temple - $2850"] = 28500, ["Puesto de Idlewood - $3200"] = 32000, ["Puesto de Flint County - $3950"] = 39500, ["Puesto de Whetstone - $5900"] = 54000, ["Puesto de Angel Pine - $5350"] = 53500, ["Puesto de Juniper Hallow - $4500"] = 45000, ["Puesto de Easter Basin - $3920"] = 39200, } -------------------------------------------------------------------- function receivert(source,rotaname) if isElement(ppcik[source]) then destroyElement(ppcik[source]) end triggerClientEvent(source,"JOBUS>blips<Client",source,false) setElementData(source,"rtname",rotaname) atualrotnumber[source] = 1 gerarrota(source) end addEvent("request>Startrota>Server", true) addEventHandler("request>Startrota>Server",getRootElement(), receivert) -------------------------------------------------------------------- function ifPlayerEnterOnMarker ( source ) if isPedInVehicle(source) then if not isElementWithinMarker(source, ppcik[source]) then return end if isElement(ppcik[source]) then local vh = getPedOccupiedVehicle(source) local id = getElementModel(vh) if id == 514 then if ( getVehicleTowedByVehicle ( vh ) == CargaPet[source] ) then local rname = getElementData(source,"rtname") or nil if rname == nil then return end destroyElement(ppcik[source]) triggerClientEvent(source,"JOBUS>blips<Client",source,false) if atualrotnumber[source] <= #rotas[rname] then gerarrota(source) elseif atualrotnumber[source] == #rotas[rname]+1 then setElementData(source,"rtname",rname) atualrotnumber[source] = 1 local rec = pay[rname] givePlayerMoney(source,tonumber(rec)) local vh = getPedOccupiedVehicle(source) destroyElement ( CargaPet[source] ) setElementData(source,"rtname",nil) exports.Scripts_Dxmessages:outputDx(source, "Su carga se descargó y recibió $"..rec.." Por su servicio!", "success") unbindKey ( source, LetraParaMarkers, "down", ifPlayerEnterOnMarker ) exports.Scripts_OnMarkerMsgs_:delete(source) end else exports.Scripts_Dxmessages:outputDx(source, "No puede descargar su camión sin su carga!", "error") end end end end end -------------------------------------------------------------------- function pickjobonbus(source) if not isElement(source) then return end local im = isPedInVehicle(source) if im == false then return end local job = getElementData(source,"Emprego") or false if job == false or job == nil then exports.Scripts_Dxmessages:outputDx(source, "No es un petrolero, por lo que no puede usar este comando!", "error") return end if job == "Petroleiro" then local vh = getPedOccupiedVehicle(source) if isElement(vh) then local x,y = getElementPosition(vh) local x1,y1 = getElementPosition(source) local dist = getDistanceBetweenPoints2D(x,y,x1,y1) local issafe = isElementWithinMarker(vh,safe) local id = getElementModel(vh) local seat = getPedOccupiedVehicleSeat(source) if dist > 0 then return end if id == 514 then if seat == 0 then local speedX, speedY, speedZ = getElementVelocity ( vh ) local actualSpeed = (speedX^2 + speedY^2 + speedZ^2)^(0.5) local KMH = math.floor(actualSpeed*180) if KMH >= 1 then exports.Scripts_Dxmessages:outputDx(source, "Detener el camión para cargar!", "warning") return end if issafe == false then return end unbindKey ( source, LetraParaMarkers, "down", pickjobonbus ) exports.Scripts_OnMarkerMsgs_:delete(source) triggerClientEvent(source,"JOBUS>AbrirPainel<Client",source,rotas) end end end end end -------------------------------------------------------------------- --[[function setPlayerBlipColor( thePlayer , r, g, b ,a) if not a then a = 255 end local blips = getElementsByType( "blip" ) for k, theBlip in ipairs( blips ) do if getElementAttachedTo( theBlip ) == thePlayer then setBlipColor ( theBlip, r, g, b ,a ) end end end --]] CargaPet = {} function gerarrota(source) local rname = getElementData(source,"rtname") or nil if rname == nil then return end if not isElement(ppcik[source]) and isPedInVehicle(source) then local vh = getPedOccupiedVehicle(source) local id = tonumber(atualrotnumber[source]) local x,y,z = rotas[rname][id][1],rotas[rname][id][2],rotas[rname][id][3] ppcik[source] = createMarker (x, y,z, "checkpoint", 5, 255, 0, 0, 50,source) triggerClientEvent(source,"JOBUS>blips<Client",source,true,x,y,z) atualrotnumber[source] = id+1 local vh = getPedOccupiedVehicle(source) local xe,ye,ze = getElementPosition ( source ) if CargaPet[source] and isElement( CargaPet[source] ) then destroyElement ( CargaPet[source] ) CargaPet[source] = nil end CargaPet[source] = createVehicle ( 584, xe,ye,ze +15 ) setTimer ( attachTrailerToVehicle, 50, 1, vh, CargaPet[source] ) setTimer ( attachTrailerToVehicle, 1000, 1, vh, CargaPet[source] ) setTimer ( attachTrailerToVehicle, 5000, 1, vh, CargaPet[source] ) exports.Scripts_Dxmessages:outputDx(source, "Su camion fue cargado, siga el ícono marcado en el mapa para descargar su carga!", "info") end end -------------------------------------------------------------------- function sair ( quitType ) if isElement(ppcik[source]) then destroyElement(ppcik[source]) end end addEventHandler ( "onPlayerQuit", getRootElement(), sair ) -------------------------------------------------------------------- function removeHelmetOnExit ( thePlayer, seat, jacked ) local job = getElementData(thePlayer,"Emprego") or false if job ~= "Petroleiro" then return end local rname = getElementData(thePlayer,"rtname") or nil if rname == nil then return end if ( getElementModel ( source ) == 514 ) then canceljobtimer (thePlayer) end end addEventHandler ( "onVehicleExit", getRootElement(), removeHelmetOnExit ) -------------------------------------------------------------------- function SairDoCaminhao ( thePlayer, seat, jacked ) local rname = getElementData(thePlayer,"rtname") or nil if rname == nil then return end canceljobtimer (thePlayer) exports.Scripts_Dxmessages:outputDx(thePlayer, "Te bajaste del camión y tu carga fue destruida!", "warning") end addEventHandler ( "onVehicleExit", getRootElement(), SairDoCaminhao ) -------------------------------------------------------------------- function canceljobtimer(source) if isElement(ppcik[source]) then destroyElement(ppcik[source]) end triggerClientEvent(source,"JOBUS>blips<Client",source,false) atualrotnumber[source] = 1 setElementData(source,"rtname",nil) if isElement( CargaPet[source] ) then destroyElement ( CargaPet[source] ) end end -------------------------------------------------------------------- function canceljobdeath() local job = getElementData(source,"Emprego") or false if job ~= "Petroleiro" then return end local rname = getElementData(source,"rtname") or nil if rname == nil then return end canceljobtimer(source) DestruirPetroleiroVeiculo(source) exports.Scripts_Dxmessages:outputDx(source, "Moriste y tu carga fue destruida!", "warning") end addEventHandler( "onPlayerWasted", getRootElement( ),canceljobdeath) -------------------------------------------------------------------- function CriarVeiculosComData () VeiculosComDataPetroleiro = { createVehicle(514, 282.71198, 1389.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1384.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1379.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1374.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1369.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1364.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1359.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1354.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1349.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1344.41418, 12.35385, 0, 0, 90 ), createVehicle(514, 282.71198, 1339.41418, 12.35385, 0, 0, 90 ), } for i, veh in ipairs(VeiculosComDataPetroleiro) do setElementData ( veh, "Emprego", "Petroleiro" ) setVehicleDamageProof(veh,true) setVehicleColor( veh, 0, 0, 0 ) setVehiclePlateText ( veh, "RPGAMING" ) addEventHandler("onVehicleStartEnter", veh, VerificarEmprego ) --addEventHandler("onVehicleExit", veh, SairDoVeiculosComData ) local tx, ty, tz = getElementPosition(veh) local rx, ry, rz = getElementRotation(veh) setVehicleRespawnPosition(veh, tx, ty, tz, rx, ry, rz) end end addEventHandler("onResourceStart", resourceRoot, CriarVeiculosComData ) function VerificarEmprego (thePlayer, seat) local Jogador = getElementData(thePlayer, "Emprego" ) if seat == 0 then if Jogador == "Petroleiro" then else cancelEvent() exports.Scripts_Dxmessages:outputDx(thePlayer, "Este vehículo es exclusivo para petroleros!", "error") end end end --[[function SairDoVeiculosComData () local veh = source setTimer(function() if getVehicleOccupant(veh) == false then respawnVehicle(veh) end end, 30000, 1) end addEventHandler ( "onPlayerQuit", getRootElement(), SairDoVeiculosComData ) --]] -------------------------------------------------------------------- local rElement = getRootElement() function respawnVehicles(player, seconds) for i, veh in ipairs(VeiculosComDataPetroleiro) do if isEmpty( veh ) then respawnVehicle ( veh ) end end end setTimer(respawnVehicles, 60000,0) function isEmpty( vehicle ) local passengers = getVehicleMaxPassengers( vehicle ) if type( passengers ) == 'number' then for seat = 0, passengers do if getVehicleOccupant( vehicle, seat ) then return false end end end return true end --------------------------------------------------------------------
-
Hello i need help with this gamemode i dont know how i can fix this error, thank for ur attention, sorry for my english. [Pterodactyl Daemon] Server marked as STARTING [Pterodactyl Daemon] Checking size of server data directory... [Pterodactyl Daemon] Disk Usage: 321M / 31000M [Pterodactyl Daemon] Ensuring correct ownership of files. [Pterodactyl Daemon] Running server preflight. [Pterodactyl Daemon] Starting server container. steam user is not set. Using anonymous user. No appid set. Starting Server :/home/container$ ./mta-server64 --port ${SERVER_PORT} --httpport ${SERVER_WEBPORT} -n /entrypoint.sh: line 46: ./mta-server64: Permission denied [Pterodactyl Daemon] Server marked as OFF [Pterodactyl Daemon] ---------- Detected server process in a crashed state! ---------- [Pterodactyl Daemon] Exit Code: 126 [Pterodactyl Daemon] Out of Memory: false [Pterodactyl Daemon] Error Response: [Pterodactyl Daemon] Aborting automatic reboot due to crash within the last 60 seconds.
- 2 replies
-
- paradiserp
- downtownrp
-
(and 6 more)
Tagged with:
-
¡Hola, buen día, adjuntaré mi problema de manera detallada...! Quiero cambiar el sonido del motor de la Wayfarer a una similitud con una Harley Davidson, por ello usé *getVehicleCurrentGear* cuando la moto esté parada reproduzca un sonido, si ya existe, no haga más, si acelera, cambie y elimine el que existía para evitar sonido acumulado pero soy principiante en creación de scripts, ¿Algún consejo? function isSoundFinished(theSound) return ( getSoundPosition(theSound) == getSoundLength(theSound) ) end function HarleyDavidsonSound() for _, vehicles in pairs(getElementsByType("vehicle")) do if(getElementModel(vehicles) == 586) then setWorldSoundEnabled( 7, 0, false) setWorldSoundEnabled( 7, 1, false) local x,y,z = getElementPosition( vehicles ) local gear = getVehicleCurrentGear( vehicles ) print(gear) if gear == 1 then motor = playSound3D("motor.wav", x, y, z, true) attachElements( motor, vehicles) setElementParent( motor, vehicles ) end end end end addEventHandler( "onClientRender", root, HarleyDavidsonSound)
-
windows sistema 32bits. Buenas, tengo un problema cuando quiero entrar al servidor entra carga y en determinado punto se me cierra el MTA y me sale este recuadro no se como poner la imagen
-
Alguien me puede decir como instalo los recursos al "GTA MTA" ? , el que sepa por favor decirme , os agradecería mucho .
-
hola gente, me podrian ayudar con una cosa. Ya he hecho que al pasar por un marker me salga un panel pero debido a un pickup que estado probando pero me toco dejarlo encima del marker para que funcione bien la funcion pero ahora necesito que al pasar la primera vez me aparesca el panel pero al pasar la segunda no aparescan como hago para hacer eso? gracias
-
Como van Gente, soy un poco nuevo en esto de los scripts, ya he logrado hacer un panel de cambio de skin de policial pero me falta una función que con un addCommandHandler se devuelva a la skin que tenia antes el jugador. Si me ayudaran se los agradeciria muchisimo
-
Hola buenas necesito un panel login que cuando le des a registra te salte un tes de rp para un servidor chileno si alguien me ayuda seria fantástico gracias .