Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/06/20 in all areas

  1. La versión más completa del panel de admin. en español a la fecha, actualizada y traducida en un 99.5% con la conciencia y los ajustes más altos al idioma, desde la ventana de "Jugador" hasta "Opciones" pasando por "Resources" y el administrador del ACL. Versión desarrollada y traducida para un mejor entendimiento de sus funciones al momento de ejecución. Esta versión incluye: Texto de las ventanas traducidos Botones traducidos con el mayor grado de minimalismo outputChatBox's de todas las funciones en español Administrador ACL traducido en su totalidad Admin Wizard traducido Apartado de reportes (/report) traducido * (El apartado anterior no es más que puntos a resaltar, el script completo casi en su totalidad está traducido). Esta versión ayuda a todo aquel que no domine el idioma inglés y quiera interactuar desde la perspectiva de un administrador con su servidor, así como también a la comunidad hispanohablante que por simple gusto o cuestiones de comodidad quiera incorporar una versión traducida al español del panel. Importante: * Algunas palabras como "Stats", "Resources", "Client" y "Server" han sido dejadas como están en su idioma original, ya que queda claro lo que estas quieren transmitir, a excepción de "Kick" que en el ámbito de la moderación en juegos multijugador en español puede ser expresada como "Kickear" siendo una adaptación del término en inglés. Esto pasa también con la palabra "Customize" que puede ser transformada a "Customizar". * Todos los comandos han sido dejados por defecto. * Esta versión incluye algunos logs traducidos mas no incluye la información de confirmación de las acciones del panel en la consola principal. * En caso de encontrar un error gramatical, por favor, deja un comentario. * Esta es la primera versión del panel de admin en español traducido al español casi en su totalidad, por lo que no es perfecta, pero sí la más precisa y acorde. * Existe la disposición de desarrollar nuevas versiones a medida que se vayan reportando nuevos errores. DESCARGA: https://community.multitheftauto.com/index.php?p=resources&s=details&id=18185 Todos los créditos van a lil_Toady, creador de los archivos originales que hacen de la versión en inglés la versión oficial del panel para MTA: San Andreas. All credits goes to lil_Toady, creator of the original files that makes english version, the official one for MTA: San Andreas.
    1 point
  2. 17 Nisan 2020 tarihinde kurulan ve şuan da aktif şekilde kullanılabilir olan Estim Bozkurt Freeroam, Multi Theft Auto sunucusu sizleri bekliyor! İyi Oyunlar! IP : mtasa://185.255.92.67:22923 İsim : [TR] ❀ ESTİM BOZKURT ❀ - [FREEROAM] Yetkililer : [Kurucu] ES|o02'6 , [Kurucu] ES|Lykia 岺 , [Admin] SeRO , [Admin] Orhan , [Moderatör] RipJaws , [Destek] Noxus , [Destek] Hyper Kayıtlarımız oyun içindendir. İyi eğlenceler :)
    1 point
  3. Possivelmente: MarkerSafeEntregadorDeJornal = createMarker( 1417.9403076172, -1687.3420410156, 13.546875, "cylinder", 35, 0, 255, 0, 0) EntregadorDeJornalPickup = createPickup ( 1412.0852050781, -1699.9636230469, 13.539485931396, 3, 1239) MarkerEntregadorDeJornal = createMarker ( 1412.0852050781, -1699.9636230469, 13.539485931396, "cylinder", 1.2, 255, 255, 255, 0 ) attachElements ( MarkerEntregadorDeJornal, EntregadorDeJornalPickup, 0, 0, -1 ) BlipEntregadorDeJornal = createBlipAttachedTo ( MarkerEntregadorDeJornal, 42 ) setBlipVisibleDistance ( BlipEntregadorDeJornal, 150 ) function CancelarSumirPickup ( player ) cancelEvent() end addEventHandler ( "onPickupHit", EntregadorDeJornalPickup, CancelarSumirPickup ) LetraParaMarkers = "k" cmd1 = "hq" cmd2 = "profissao" local HQEntregadorDeJornalBlip = createBlip ( 1417.9403076172, -1687.3420410156, 13.546875 ) setElementVisibleTo ( HQEntregadorDeJornalBlip, root, false ) -------------------------------------------------------------------- function VerificarBlipEmprego(player) if player then acc = getPlayerAccount ( player ) if isGuestAccount ( acc ) then return end setElementVisibleTo ( HQEntregadorDeJornalBlip, player, false ) end end setTimer( function() for i, pl in pairs(getElementsByType("player")) do if pl ~= (false or nil) then if getElementData ( pl, "Emprego" ) == "Jornaleiro" then return end VerificarBlipEmprego(pl) end end end, 3000,0) -------------------------------------------------------------------- function ComandoHQ ( source ) if getElementData ( source, "Emprego" ) == "Jornaleiro" then if isElementVisibleTo ( HQEntregadorDeJornalBlip, source ) then setElementVisibleTo ( HQEntregadorDeJornalBlip, source, false ) exports.Scripts_Dxmessages:outputDx(source, "Seu Local de Trabalho foi Desmarcado do Mapa!", "info") else setElementVisibleTo ( HQEntregadorDeJornalBlip, source, true ) exports.Scripts_Dxmessages:outputDx(source, "Seu Local de Trabalho foi Marcado no Mapa!", "info") end end end addCommandHandler ( cmd1, ComandoHQ ) -------------------------------------------------------------------- function AceitarEmprego02 (source) local level = getElementData(source,"Level") or 0 if tonumber(level) > 4 then exports.Scripts_OnMarkerMsgs_:delete(source) unbindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 ) setElementData ( source, "Emprego", "Jornaleiro" ) exports.Scripts_Dxmessages:outputDx(source, "Você Agora Trabalha de Jornaleiro, Para Mais Informações Digite ( /Profissao )", "success") end end function RecusarEmprego02 (source) exports.Scripts_OnMarkerMsgs_:delete(source) unbindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 ) if isElementVisibleTo ( HQEntregadorDeJornalBlip, source ) then setElementVisibleTo ( HQEntregadorDeJornalBlip, source, false ) end removeElementData ( source, "Emprego", "Jornaleiro" ) exports.Scripts_Dxmessages:outputDx(source, "Você se Demitiu do Emprego de Jornaleiro com Sucesso!", "warning") end -------------------------------------------------------------------- function ComandosProf ( ThePlayer ) if getElementData ( ThePlayer, "Emprego" ) == "Jornaleiro" then playSoundFrontEnd ( ThePlayer, 43 ) outputChatBox ( "#DF3A01~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #EFFBEFJORNALEIRO #DF3A01~~~~~~~~~~~~~~~~~~~~~~~~~~~~", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#DF3A01» #EFFBEFComandos da Profissão de Jornaleiro:", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#DF3A01» #DF3A01/hq #ffffff- #EFFBEFPara Marcar ou Desmarcar a sede do seu Local de Trabalho", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#DF3A01» #DF3A01/entregarjornais #ffffff- #EFFBEFAbre a Lista de Rotas Disponiveis Para Trabalhar", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#DF3A01» #EFFBEFMonte na Bicicleta e Digite #DF3A01/entregarjornais", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#DF3A01» #EFFBEFSelecione uma rota de entrega e Siga os checkpoints no Mapa (F11)", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#DF3A01» #EFFBEFQuando concluir as entregas você receberá uma #DBA901comissão", ThePlayer, 255, 255, 255, true ) outputChatBox ( "#DF3A01~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #EFFBEFJORNALEIRO #DF3A01~~~~~~~~~~~~~~~~~~~~~~~~~~~~", ThePlayer, 255, 255, 255, true ) end end addCommandHandler(cmd2, ComandosProf ) -------------------------------------------------------------------- function emarker(marker,md) if (md) then if isPedInVehicle ( source ) then return end if marker == MarkerEntregadorDeJornal then if getElementData ( source, "Emprego" ) == "Jornaleiro" then exports.Scripts_OnMarkerMsgs_:create(source,"Aperte 'K' Para se Demitir do Emprego de Jornaleiro") bindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 ) else exports.Scripts_OnMarkerMsgs_:create(source,"Aperte 'K' Para Aceitar o Emprego de Jornaleiro") bindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 ) end end end end addEventHandler("onPlayerMarkerHit",getRootElement(),emarker) function lmarker(marker,md) if (md) then if marker == MarkerEntregadorDeJornal then exports.Scripts_OnMarkerMsgs_:delete(source) unbindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 ) unbindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 ) end end end addEventHandler("onPlayerMarkerLeave",getRootElement(),lmarker) function CriarVeiculosComData () VeiculosComDataEntregadorDeJornal = { createVehicle(510, 1417.8991699219, -1694.3439941406, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +4, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +6, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +2, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +8, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +10, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +12, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +14, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +16, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +18, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +20, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 -2, 13.0, 0, 0, 270 ), createVehicle(510, 1417.8991699219, -1694.3439941406 +22, 13.0, 0, 0, 270 ), } for i, veh in ipairs(VeiculosComDataEntregadorDeJornal) do setElementData ( veh, "Emprego", "Jornaleiro" ) setVehicleDamageProof(veh,true) setVehicleColor( veh, 255, 255, 255 ) setVehiclePlateText ( veh, "BRV" ) 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 == "Jornaleiro" then else cancelEvent() exports.Scripts_Dxmessages:outputDx(thePlayer, "Esse Veiculo é Exclusivo dos Jornaleiros!", "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(VeiculosComDataEntregadorDeJornal) 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 -------------------------------------------------------------------- atualrotnumberJORNAL = {} ppcikJORNAL = {} blips = {} rotasJORNAL = { ["Los Santos - Favelas - 20 Entregas - Comissão: $300"] = { {1429.9464111328, -1905.8059082031, 13.773780822754}, {1375.8276367188, -1918.4099121094, 19.122716903687}, {1270.9599609375, -1902.0228271484, 28.374183654785}, {1309.2713623047, -1961.1942138672, 29.166717529297}, {1405.7294921875, -2045.7346191406, 54.065727233887}, {1301.8836669922, -2048.9123535156, 58.464176177979}, {1244.1116943359, -2053.9213867188, 59.876438140869}, {1279.3021240234, -2031.7036132813, 58.958137512207}, {1133.7977294922, -2025.0975341797, 69.000610351563}, {1134.2821044922, -2098.537109375, 71.074172973633}, {1092.1948242188, -2125.5886230469, 67.255599975586}, {1045.2015380859, -2186.7719726563, 40.421051025391}, {1161.7659912109, -2165.134765625, 64.786643981934}, {1188.5417480469, -2331.0920410156, 14.28927230835}, {1229.0968017578, -2203.7377929688, 37.594787597656}, {1347.48828125, -2103.5290527344, 46.227912902832}, {1411.4415283203, -2085.2429199219, 43.614170074463}, {1452.4599609375, -2092.7153320313, 35.114093780518}, {1480.2470703125, -2023.3793945313, 31.805692672729}, {1515.3037109375, -2010.2598876953, 28.44634437561}, }, ["Los Santos - Ganton/Temple - 20 Entregas - Comissão: $200"] = { {2494.3081054688, -1684.810546875, 12.510766983032}, {2512.0192871094, -1689.4036865234, 13.544955253601}, {2511.7531738281, -1651.3133544922, 13.91447353363}, {2409.0688476563, -1671.6916503906, 13.580268859863}, {2362.8149414063, -1646.5299072266, 13.53059387207}, {2389.9978027344, -1717.0043945313, 13.60608291626}, {2504.3889160156, -1788.6654052734, 13.555590629578}, {2609.7587890625, -1849.3317871094, 3.2896952629089}, {2560.2180175781, -1802.0985107422, 1.640625}, {2521.1306152344, -1917.3314208984, 13.589694976807}, {2419.9372558594, -1914.8271484375, 13.546899795532}, {2437.5512695313, -1790.1809082031, 13.554225921631}, {2324.8544921875, -1796.3190917969, 13.546875}, {2155.7231445313, -1700.7188720703, 15.0859375}, {2141.8076171875, -1607.6066894531, 14.187998771667}, {2072.1538085938, -1628.64453125, 13.546875}, {2069.1791992188, -1731.5767822266, 13.87615776062}, {1985.9375, -1718.9539794922, 15.969563484192}, {1961.2664794922, -1562.8210449219, 13.609630584717}, {1863.8009033203, -1599.7763671875, 13.868625640869}, }, ["Los Santos - Richman - 20 Entregas - Comissão: $100"] = { {230.03106689453, -1400.8328857422, 51.590793609619}, {260.44561767578, -1363.5102539063, 53.109375}, {167.86294555664, -1344.1441650391, 69.553092956543}, {290.69464111328, -1331.0395507813, 53.444843292236}, {356.9423828125, -1275.7287597656, 53.829723358154}, {422.85809326172, -1262.6413574219, 51.580940246582}, {633.45733642578, -1119.3950195313, 45.719078063965}, {696.92242431641, -1058.3994140625, 49.402328491211}, {724.82531738281, -994.73333740234, 52.623596191406}, {790.10278320313, -844.86358642578, 60.641288757324}, {832.16638183594, -858.89892578125, 69.921875}, {837.51416015625, -891.27130126953, 68.768898010254}, {930.03179931641, -852.59350585938, 93.500045776367}, {977.28454589844, -826.35040283203, 96.275825500488}, {1029.8919677734, -807.95526123047, 101.8515625}, {1092.6324462891, -798.84069824219, 107.41916656494}, {1107.7619628906, -731.60491943359, 100.61921691895}, {1242.3199462891, -745.32543945313, 94.904930114746}, {1356.48828125, -616.41851806641, 109.1328125}, {1496.6713867188, -697.98297119141, 94.75}, }, } pay = { ["Los Santos - Favelas - 20 Entregas - Comissão: $300"] = 300, ["Los Santos - Ganton/Temple - 20 Entregas - Comissão: $200"] = 200, ["Los Santos - Richman - 20 Entregas - Comissão: $100"] = 100, } function ifPlayerEnterOnMarker(markerHit,matchingDimension) if isPedInVehicle(source) then if markerHit == ppcikJORNAL[source] then if (matchingDimension) then if isElement(ppcikJORNAL[source]) then local rname = getElementData(source,"rtnameJornal") or nil if rname == nil then return end destroyElement(ppcikJORNAL[source]) triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>blips<Client",source,false) local vh = getPedOccupiedVehicle(source) toggleAllControls ( source, false ) setControlState ( source, "handbrake", true ) if atualrotnumberJORNAL[source] <= #rotasJORNAL[rname] then exports.Scripts_Dxmessages:outputDx(source, "Entregando Jornais... Aguarde 2 Segundos!", "info") setTimer(gerarrota,2500,1,source) setTimer(function(source) exports.Scripts_Dxmessages:outputDx(source, "Jornais Entregues, Siga Para o Proximo Checkpoint!", "success") end,2500,1,source) elseif atualrotnumberJORNAL[source] == #rotasJORNAL[rname]+1 then setElementData(source,"rtnameJornal",rname) atualrotnumberJORNAL[source] = 1 local rec = pay[rname] givePlayerMoney(source,tonumber(rec)) local vh = getPedOccupiedVehicle(source) setTimer(function(source) exports.Scripts_Dxmessages:outputDx(source, "Você Recebeu Sua Comissão de $"..rec.." Por Finalizar as Entregas de Jornais!", "success") end,2500,1,source) setTimer(function(source) toggleAllControls ( source, true ) end, 2500,1, source ) setTimer(function(source) setControlState ( source, "handbrake", false ) end, 2500,1, source ) setElementData(source,"rtnameJornal",nil) end end end end end end addEventHandler("onPlayerMarkerHit",getRootElement(),ifPlayerEnterOnMarker) -------------------------------------------------------------------- function VerificarCairBike(player) if player then acc = getPlayerAccount ( player ) if isGuestAccount ( acc ) then return end local rname = getElementData(player,"rtnameJornal") or nil if rname == nil then triggerClientEvent ( "Desligar:AntiQueda", player ) else triggerClientEvent ( "Ligar:AntiQueda", player ) end end end setTimer( function() for i, pl in pairs(getElementsByType("player")) do if pl ~= (false or nil) then if getElementData ( pl, "Emprego" ) == "Jornaleiro" then VerificarCairBike(pl) end end end end, 3000,0) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- function pickjobJornal(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 == "Jornaleiro" 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 isMarkerSafe = isElementWithinMarker(vh,MarkerSafeEntregadorDeJornal) local id = getElementModel(vh) local seat = getPedOccupiedVehicleSeat(source) if dist > 0 then return end if id == 510 then if seat == 0 then if isMarkerSafe == false then return end triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>AbrirPainel<Client",source,rotasJORNAL) end end end end end addCommandHandler("entregarjornais",pickjobJornal) function receivert(source,rotaname) if isElement(ppcikJORNAL[source]) then destroyElement(ppcikJORNAL[source]) end triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>blips<Client",source,false) setElementData(source,"rtnameJornal",rotaname) atualrotnumberJORNAL[source] = 1 gerarrota(source) end addEvent("AirNew>request>Startrota>Server>EntregadorDeJornal", true) addEventHandler("AirNew>request>Startrota>Server>EntregadorDeJornal",getRootElement(), receivert) function gerarrota(source) local rname = getElementData(source,"rtnameJornal") or nil if rname == nil then return end if not isElement(ppcikJORNAL[source]) and isPedInVehicle(source) then local vh = getPedOccupiedVehicle(source) toggleAllControls ( source, true ) setControlState ( source, "handbrake", false ) local id = tonumber(atualrotnumberJORNAL[source]) local x,y,z = rotasJORNAL[rname][id][1],rotasJORNAL[rname][id][2],rotasJORNAL[rname][id][3] ppcikJORNAL[source] = createMarker (x, y,z, "checkpoint", 4, 255, 0, 0, 50,source) triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>blips<Client",source,true,x,y,z) atualrotnumberJORNAL[source] = id+1 end end function sair ( quitType ) if isElement(ppcikJORNAL[source]) then destroyElement(ppcikJORNAL[source]) end end addEventHandler ( "onPlayerQuit", getRootElement(), sair ) function SairDaBike ( thePlayer, seat, jacked ) local rname = getElementData(thePlayer,"rtnameJornal") or nil if rname == nil then return end canceljobtimer (thePlayer) exports.Scripts_Dxmessages:outputDx(thePlayer, "Você Saiu da Bike, Entregas Canceladas!", "warning") end addEventHandler ( "onVehicleExit", getRootElement(), SairDaBike ) function canceljobtimer(source) if isElement(ppcikJORNAL[source]) then destroyElement(ppcikJORNAL[source]) end triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>blips<Client",source,false) atualrotnumberJORNAL[source] = 1 setElementData(source,"rtnameJornal",nil) end function canceljobdeath() local job = getElementData(source,"Emprego") or false if job ~= "Jornaleiro" then return end local rname = getElementData(source,"rtnameJornal") or nil if rname == nil then return end canceljobtimer(source) exports.Scripts_Dxmessages:outputDx(source, "Você Morreu e Suas Entregas Foram Canceladas!", "warning") end addEventHandler( "onPlayerWasted", getRootElement( ),canceljobdeath) (Linha 59-60)
    1 point
×
×
  • Create New...