Jump to content

Search the Community

Showing results for tags 'script'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Multi Theft Auto: San Andreas 1.x
    • Support for MTA:SA 1.x
    • User Guides
    • Open Source Contributors
    • Suggestions
    • Ban appeals
  • General MTA
    • News
    • Media
    • Site/Forum/Discord/Mantis/Wiki related
    • MTA Chat
    • Other languages
  • MTA Community
    • Scripting
    • Maps
    • Resources
    • Other Creations & GTA modding
    • Competitive gameplay
    • Servers
  • Other
    • General
    • Multi Theft Auto 0.5r2
    • Third party GTA mods
  • Archive
    • Archived Items
    • Trash

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Member Title


Gang


Location


Occupation


Interests

  1. Welcome to my store If you want to buy from Turkey, please contact me on Discord (Hexon#0388) Contacts Discord: Hexon#0388 E-mail: [email protected] YouTube: https://www.youtube.com/hexondev Facebook: https://www.facebook.com/hexondev If you found a bug please ontat me on Discord (Hexon#0388) [MTA:SA] Fire system 0.2 (UPDATED AT 05/02/2021) [MTA:SA] WhatsApp messenger [MTA:SA] Animation system with custon anim support & anim circle [MTA:SA] Taximeter [MTA:SA] Car trailer [MTA:SA] Scratch card game [MTA:SA] Spinner with new design [MTA:SA] Pointing system [MTA:SA] Spike system (Free) [MTA:SA] Weapon skin panel [MTA:SA] Garbage collector job (Bone attach required!) [MTA:SA] Trucker job [MTA:SA] Container carrier job (FREE) [MTA:SA] Container crane job [MTA:SA] Attachment system [MTA:SA] Drone system [MTA:SA] Lightbar editor with multiple lightbar support and custom siren sound [MTA:SA] Lightbar editor with multiple lightbar support [MTA:SA] Lightbar editor with custom siren sound [MTA:SA] Lightbar editor [MTA:SA] CSGO style spinner
  2. A animação de arma funciona pra mim, mas não funciona para os outros players. Para mim a arma fica posicionada frente ao ombro quando eu miro, para os demais players fica posicionada no quadríl Aparece isso no debugscript
  3. Estou fazendo um sistema de Porte de Armas + Venda de Armas. E eu quero deixar assim, só quem pode comprar arma é quem tem o porte de armas. Quem não tem, não consegue comprar as armas. Alguém que possa me ajudar?
  4. medus

    Help me !!!

    When a hunter buys it, it gives money and points. But not a hunter, I want him to get money and points when someone wins. Is there anyone who can help? function addHunterBonus(player) if isPlayerLogged(player) then addDataValue ( player, "cash", "500") addDataValue ( player, "points", "5") addDataValue ( player, "Hunter", "1") outputChatBox("[HUNTER] #FF6600 You won $500 and 5 points for Win!",player,_r,_g,_b,true) end end function getHunter(pickupID,pickupType,pickupModel) if pickupType == "vehiclechange" then if pickupModel == 425 then addWinnerBonus(source) end end end addEvent("onPlayerPickUpRacePickup",true) addEventHandler("onPlayerPickUpRacePickup",getRootElement(),getHunter)
  5. Sou iniciante em lua e estou tentando criar um script que faça com que quando o player esteja no "ModoPassivo" e pegue um veículo, o veículo dele fique blindado, e quando ele saia do "ModoPassivo" o veículo fique normal. Acontece que simplesmente não funciona. Alguem poderia me ajudar apontando onde errei ou algo do tipo? Server: function test47 (thePlayer) if getElementData ( thePlayer, "ModoPassivo" ) == true then local theVehicle = getPedOccupiedVehicle (thePlayer) if theVehicle and isElement (theVehicle) then setVehicleDamageProof (theVehicle, true) else setVehicleDamageProof (theVehicle, false) end end end
  6. Bom dia, Pessoal to a 2 dias tentando fazer um sistema que verifica quais coordenada que nao esta salva no XML so que nao ta dando certo. O que eu quero que ele verifique as coordenada, esteja igual no XML e os que nao ta no XML ele completa, tipo tenho 114 carros no mapa so que na tabela eu tenho 144 quero que ele complete esses 30 carros que falta no mapa. OBS: ------------------------------------------------------------- --- TABELA x,y,z = data[2],data[3],data[4] ------------------------------------------------------------- --- NO XML spawnX,spawnY,spawnZ = tonumber(xmlNodeGetAttribute(node,"spawnX")),tonumber(xmlNodeGetAttribute(node,"spawnY")),tonumber(xmlNodeGetAttribute(node,"spawnZ")) addCommandHandler("recu", function (ps,cmd) if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(ps)),aclGetGroup("Admin")) then spawnDayZVehicles2() outputChatBox("Vehicles has been spawned!",ps,255,0,0,true) end end) function spawnDayZVehicles2() xml = xmlLoadFile("Backups/Vehicles/XVehicles.xml") for i,data in ipairs(vehSpawns["vehicleSpawns"]) do count = 0 IDVehicles = tonumber(data[2]) for i,node in ipairs(xmlNodeGetChildren(xml)) do spawnX = tonumber(xmlNodeGetAttribute(node,"spawnX")) count = count + 1 if IDVehicles then if spawnX == IDVehicles then outputChatBox("1 - Adicionado carro sem spwan! [#FF0000"..count.."#FFFFFF]",getRootElement(),255,255,255,true) -- else -- count = count + 1 -- outputChatBox("2 - Adicionado carro sem spwan! [#FF0000"..count.."#FFFFFF]",getRootElement(),255,255,255,true) end end end return end xmlUnloadFile(xml) end
  7. Eu tenho um sistema de assalto e quero colocar um portão na porta da loja para que o assaltante não saia da loja; O portão vai fechar quando o player iniciar o roubo e vai abrir quando o roubo terminar, alguém consegue me ajudar?
  8. im looking a script/scripter for my shooter server including race.zip, scoreboard etc. paymen via euro. contact for discord : ozy#0707
  9. Esta Dando Esse Erro 'end' expected (to close 'function' at line 5) near '<eof>' Server-Side function dxMsg(source, text, type) exports.dxmessages:outputDx(source, text, type) end function darDinheiro (source) if commandDelay[source] == nil and not istimer(commandDelay[source]) then local Dinheiro = getPlayerMoney(source) if Dinheiro >= 1200 then return dxMsg(source, "Você possui dinheiro de mais para receber o auxílio.", "error") end givePlayerMoney(source, 1200) dxMsg(source, "Você recebeu o auxílio.", "success") resetCommand(source, 1000) else dxMsg(source, "Você ja recebeu o auxílio.", "warning") end addCommandHandler('auxilio', darDinheiro)
  10. Eu peguei uma skin da net que supostamente ela foi feita com varias camadas para txd de roupas e etc... Porem eu sou novo mexendo com modelagens e texturas no MTA, Gostaria de saber se alguem sabe algum jeito de eu trocar camada por camada? Imagem da modelagem que mostra as camadas: https://prnt.sc/veg627 no jogo a skin vem padrão "nua"
  11. I have a problem with my script and I don't know what the problem is, in the debug I write to me that in line 6,7 there is arg 1 in "nil" and I don't know why what's going on? local screenW, screenH = guiGetScreenSize() function CommuncationMouse() local cursrox, cursory = getCursorPosition() local cursrox = tonumber(cursrox) local cursory = tonumber(cursory) dxDrawImage(cursrox, cursory, screenW * 0.0766, screenH * 0.0593, ":test/guiBackgroundLongsquareLines.png", 0, 0, 0, 255, 0, 0, 255), true) dxDrawImage(cursrox, cursory, screenW * 0.0766, screenH * 0.0593, ":test/guiBackgroundLongsquare.png", 0, 0, 0, tocolor(0, 0, 0, 150), false) dxDrawText("TEST", (cursrox) - 1, (cursory) - 1, (screenW * 0.3948) - 1, (screenH * 0.1657) - 1, tocolor(0, 0, 0, 255), 1.00, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("TEST", (cursrox) + 1, (cursory) - 1, (screenW * 0.3948) + 1, (screenH * 0.1657) - 1, tocolor(0, 0, 0, 255), 1.00, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("TEST", (cursrox) - 1, (cursory) + 1, (screenW * 0.3948) - 1, (screenH * 0.1657) + 1, tocolor(0, 0, 0, 255), 1.00, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("TEST", (cursrox) + 1, (cursory) + 1, (screenW * 0.3948) + 1, (screenH * 0.1657) + 1, tocolor(0, 0, 0, 255), 1.00, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("TEST", cursrox, cursory, screenW * 0.3948, screenH * 0.1657, tocolor(255, 0, 0, 255), 1.00, "bankgothic", "center", "center", false, false, false, false, false) end
  12. boa noite, Pessoal preciso de um auxilo como eu faço para que o setElementData, salve + de 1 um elento dentro dele ou qual funçãod evo usar para que eu possa usar. Fiz um sistema na qual ele seta um sistema de permissao dentro de uma ColShope, so que cada colShope tem um nome diferente que é salva no XML com a conta do player. Quando jogador faz o loga no servidor ele seta o nome de cada base em um setElement data qual a base ele tem acesso. O Script so esta setando para 1 colShope. addEventHandler("onPlayerLogin",getRootElement(),function(thePreviousAccount,theCurrentAccount) local xml = xmlLoadFile("Bases.xml") for i,groupp in pairs(xmlNodeGetChildren(xml)) do for i,member in ipairs(xmlNodeGetChildren(xmlFindChild(groupp,"AllowedPlayers",0)))do if xmlNodeGetAttribute(member,"Account") == getAccountName(getPlayerAccount(source)) then setElementData(source,"BaseGroupBaseName",xmlNodeGetAttribute(groupp,"NomeBase")) setElementData(source,"BaseGroupAccount",xmlNodeGetAttribute(member,"Account")) setElementData(source,"BaseGroupRank",xmlNodeGetAttribute(member,"Rank")) setElementData(source,"BaseGroupJoined",xmlNodeGetAttribute(member,"Joined")) end end end xmlUnloadFile(xml) end) OBRIGADO
  13. Boa Tarde, Estou enfretando um problema em atualizar uma tabela criada pelo Quando eu Adciono o elemento dentro dessa Tabela funciona porem quando eu removo ela, ela nao atualiza. Eu to fazendo uma tabela de player vou enviar fotos, mais o unico problema é atualizar essa tabela que aparece no grilist, ela ja foi removida do banco de dados mais ela continua aparecendo no grilist. FUNÇÃO .server
  14. Gostaria de remover os comando das tecla Q e E, porque geralmente ela sempre troca a arma das mãos por outras e gostaria de retirar essa função so não sei como. fazendo com que elas não tenha nenhuma interação.
  15. -------------------------------------------------------------- -- © [2019] Varzen Advanced [2019] © -- -- © Creditos: Varzen Advanced © -- -- © Facebook: https://www.facebook.com/VarzenAdvanced © -- -- © Youtube: http://www.youtube.com/c/VarzenBR © -- -- © Blog: https://varzenadvanced.blogspot.com/ © -- -------------------------------------------------------------- addEvent("updateINTDIM2", true) addEventHandler("updateINTDIM2", getRootElement(), function (vehicleId) for index, value in ipairs (getElementsByType("vehicle")) do if getElementData(value, "ID") == tonumber(vehicleId) then if getElementData(value, "ownercar") == getElementData(source, "ID") then setElementInterior(value,0) setElementDimension(value,0) local x, y, z = getElementPosition(source) setElementPosition(value, x, y, z) warpPedIntoVehicle(source,value) end end end end ) addEvent("guardar", true) addEventHandler("guardar", getRootElement(), function (vehicleId) for index, value in ipairs (getElementsByType("vehicle")) do if getElementData(value, "ID") == tonumber(vehicleId) then if getElementData(value, "ownercar") == getElementData(source, "ID") then local gerarposicao = math.random(50,100) setElementPosition(value,1805.39368, -2448.51196, 13.44729) setElementInterior(value,gerarposicao) setElementDimension(value,gerarposicao) outputChatBox("#9ACD32[SRP] #ffffffVeículo Guardado.",source,0,0,0,true) end end end end ) addEvent("updateINTDIM22", true) addEventHandler("updateINTDIM22", getRootElement(), function (vehicleId) for index, value in ipairs (getElementsByType("vehicle")) do if getElementData(value, "ID") == tonumber(vehicleId) then if getElementData(value, "ownercar") == getElementData(source, "ID") then setElementInterior(value,0) setElementDimension(value,0) end end end end )
  16. Olá estou com problemas em meu emprego, todo mundo mesmo quem não está atrabalhando neste emprego consegue spawnar o veiculo do trabalho apenas indo até o marker, tentei por uma proteção que faça com quem tem a skin do emprego consiga pegar o carro e o destruir. porém nenhum resultado se conseguirem me ajudar agraçederia muito. local marker = createMarker(2681.17285, -1957.08862, 12.7, "cylinder", 1.0, 0, 0, 255, 255) local Dmarker = createMarker(2679.63989, -1968.49829, 12.5, "cylinder", 3.0, 255, 0, 0, 100) function enterVehicle ( player, seat, jacked ) --quando um jogador entra em um veículo policeLimpador = { [552]=true} --ID Veiculos Policiais policeLimpadorSkins = { [27]=true } --ID Skins Policiais if ( policeLimpador[getElementModel(source)] ) and ( not policeLimpadorSkins[getElementModel(player)] ) then --se o veículo é um dos 4 carros da polícia, ea pele não é uma pele polícia cancelEvent() outputChatBox ( "#ff0000Somente Motoristas podem entrar neste veiculo", player, 255, 255, 255, true ) --and tell the player why end end addEventHandler ( "onVehicleStartEnter", getRootElement(), enterVehicle ) --add an event handler for onVehicleStartEnter function Vehicle( thePlayer ) if getElementType(thePlayer) == "player" then local x,y,z = getElementPosition(thePlayer) veh = createVehicle(552, 2687.59, -1970.002, 13.547, -0, 0, 266.348 ) warpPedIntoVehicle(thePlayer, veh) end end addEventHandler("onMarkerHit", marker, enterVehicle) function destroy (hitElement) if getElementType(hitElement) == "Vehicle" then destroyElement(hitElement) end end addEventHandler("onMarkerHit", Dmarker, destroy)
  17. function comprarbandito ( thePlayer, command) local playeraccount = getPlayerAccount ( source ) takePlayerMoney ( thePlayer, 500000 ) setAccountData ( playeraccount, "rc.bandito", adquirido ) end addCommandHandler ( "comprarbandito", comprarbandito ) function Banditoadquirido (_, playeraccount ) if ( playeraccount ) then local ban = getAccountData ( playeraccount, "rc.bandito" ) if ( ban ) then Banditocomprado = true end end end addEvent ( "banditobuyed", true ) addEventHandler ( "banditobuyed", getRootElement(), Banditoadquirido ) This function takes 500000 dollars to give a player permission to use a RC Bandito in a gui (Like in GTA Online) but, when i put the command "comprarbandito" Bad argument @ getplayeraccount, got nil, i never used getplayeraccount or setplayeraccount, and i don't know if the other function (Banditoadquirido) will work
  18. Estou desenvolvendo esse Script do zero , e ele esta me dando erros no "toggleAllControls" e o "setElementFronzen" no "setTimer" no serverSide! Essa é a Linha do script : function fabricarParafal () local money = getPlayerMoney ( source ) if ( money >= 1000) then takePlayerMoney (source, 1000) setElementFrozen (source, true) toggleAllControls (source, false) setPedAnimation (source, "UZI", "UZI_reload", 5000, true, false, false, false) giveWeapon (source, 31, 100, true) outputChatBox ("#708090[ #FF0000 ᴠᴇɴᴅᴇᴅᴏʀ ᴅᴇ ᴀʀᴍᴀs #708090] #FFFFFF ᴠᴏᴄᴇ ᴇsᴛᴀ ғᴀʙʀɪᴄᴀɴᴅᴏ ᴜᴍᴀ #000000 ᴘᴀʀᴀғᴀʟ #FFFFFF !.", source, 255, 255, 255, true) setTimer(function() setElementFrozen(source, false) toggleAllControls (source, true) end, 5000, 1) else outputChatBox ("#708090[ #FF0000 ᴠᴇɴᴅᴇᴅᴏʀ ᴅᴇ ᴀʀᴍᴀs #708090] #FFFFFF ᴠᴏᴄᴇ ɴᴀᴏ ᴛᴇᴍ #000000 ᴅɪɴʜᴇɪʀᴏ #FFFFFF !.", source, 255, 255, 255, true) end end addEvent ("fParafal", true) addEventHandler("fParafal", getRootElement(), fabricarParafal) https://prnt.sc/udbg98 e se eu Corrigir isso colocando o "source" na linha "function fabricarParafal (..source..)" , ele nao funciona a verificaçao do Dinheiro
  19. Bom Dia, Gostaria que alguém pudesse explicar como instalar o plugin MTA LUA, para o Notepad++, Estava lendo o Topico, mas não consegui entender muito bem e nem achar o Download!, Desde ja Obrigado!
  20. Estou desenvolvendo esse Script do zero , e ele esta me dando erros no "toggleAllControls" e o "setElementFronzen" no "setTimer" no serverSide! Essa é a Linha do script : function fabricarParafal () local money = getPlayerMoney ( source ) if ( money >= 1000) then takePlayerMoney (source, 1000) setElementFrozen (source, true) toggleAllControls (source, false) setPedAnimation (source, "UZI", "UZI_reload", 5000, true, false, false, false) giveWeapon (source, 31, 100, true) outputChatBox ("#708090[ #FF0000 ᴠᴇɴᴅᴇᴅᴏʀ ᴅᴇ ᴀʀᴍᴀs #708090] #FFFFFF ᴠᴏᴄᴇ ᴇsᴛᴀ ғᴀʙʀɪᴄᴀɴᴅᴏ ᴜᴍᴀ #000000 ᴘᴀʀᴀғᴀʟ #FFFFFF !.", source, 255, 255, 255, true) setTimer(function() setElementFrozen(source, false) toggleAllControls (source, true) end, 5000, 1) else outputChatBox ("#708090[ #FF0000 ᴠᴇɴᴅᴇᴅᴏʀ ᴅᴇ ᴀʀᴍᴀs #708090] #FFFFFF ᴠᴏᴄᴇ ɴᴀᴏ ᴛᴇᴍ #000000 ᴅɪɴʜᴇɪʀᴏ #FFFFFF !.", source, 255, 255, 255, true) end end addEvent ("fParafal", true) addEventHandler("fParafal", getRootElement(), fabricarParafal) https://prnt.sc/udbg98 e se eu Corrigir isso colocando o "source" na linha "function fabricarParafal (..source..)" , ele nao funciona a verificaçao do Dinheiro
  21. Çiftçi Mesleğinin Script Yapımı 1.Client.lua 2.server.lua 3.shared.lua 4.meta.xml Client .lua İçeriği -- Reappersz İyi Oyunlardiler. local dxMarker = createMarker(markerT[1],markerT[2],markerT[3]-0.1, "cylinder", 1, 255, 255, 255, 0) local ped = createPed(skinTractor,markerT[1],markerT[2],markerT[3]) setElementRotation(ped, 0, 0, 90) addEventHandler( "onClientRender", root, function () local x, y, z = getElementPosition(dxMarker) local Mx, My, Mz = getCameraMatrix() if (getDistanceBetweenPoints3D(x, y, z, Mx, My, Mz) <= 20) then local WorldPositionX, WorldPositionY = getScreenFromWorldPosition(x, y, z +1, 0.07) if (WorldPositionX and WorldPositionY) then dxDrawText("Çiftçi Mesleği", WorldPositionX - 1, WorldPositionY + 1, WorldPositionX - 1, WorldPositionY + 1, tocolor(0, 0, 0, 255), 1.52, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("Çiftçi Mesleği", WorldPositionX - 1, WorldPositionY + 1, WorldPositionX - 1, WorldPositionY + 1, tocolor(255, 255, 255, 255), 1.50, "default-bold", "center", "center", false, false, false, false, false) end end end ) --------------------------------------------- local markerState = 1 function getMarkerCurrentState () return markerState end function updateMarkerCurrentState () markerState = markerState + 1 end function restoreMarkerCurrentState () markerState = 1 end function isMarchEnd () if getMarkerCurrentState () >= #tractorMarks then return true else return false end end local markerT = createMarker(markerT[1],markerT[2],markerT[3]-1, "cylinder", 1, 255, 255, 255, 0) local blip = createBlipAttachedTo(markerT, 25) setBlipVisibleDistance(blip, 400) function centerWindow ( center_window ) local sx, sy = guiGetScreenSize ( ) local windowW, windowH = guiGetSize ( center_window, false ) local x, y = ( sx - windowW ) / 2, ( sy - windowH ) / 2 guiSetPosition ( center_window, x, y, false ) end local sw,sh = guiGetScreenSize() local window={} local label={} local button={} wndTra = guiCreateWindow(0,0,400,120,"Çiftçi Mesleği",false) centerWindow(wndTra) guiSetVisible(wndTra,false) labeTra = guiCreateLabel(5,25,390,50," Merhaba, bu tarlayı traktör ile sürmeni istiyorum,\nbunu yapabilirmisin ?.",false,wndTra) guiSetFont(labeTra, "default-bold-small") guiLabelSetHorizontalAlign(labeTra, "center", false) buttonTra1 = guiCreateButton(10,70,180,35,"...",false,wndTra) guiSetFont(buttonTra1,"default-bold-small") guiSetProperty(buttonTra1, "NormalTextColour", "FF00FF00") buttonTra2 = guiCreateButton(210,70,180,35,"Hayır Kalsın.",false,wndTra) guiSetFont(buttonTra2,"default-bold-small") guiSetProperty(buttonTra2, "NormalTextColour", "FFFF0000") function createMarkerTractor(player) if player == getLocalPlayer() then m = tractorMarks[ getMarkerCurrentState () ] updateMarkerCurrentState () local marker = createMarker(m[1],m[2],m[3]-1, "corona", 2, 0, 255, 0, 80) setElementData(marker,"tractor_mark",true) setElementData(player,"tractor_mark",marker) local blip = createBlip(m[1],m[2],m[3],41,3) setElementData(player,"tractor_blip",blip) local obj = createObject(804,m[1],m[2],m[3]) setObjectScale(obj, 1.0) setElementCollisionsEnabled (obj, false) setElementData(player,"tractor_obj",obj) end end function deleteMarkerTractor(player) if player == getLocalPlayer() then local marker = getElementData(player,"tractor_mark") local blip = getElementData(player,"tractor_blip") local obj = getElementData(player,"tractor_obj") if marker then if isElement(marker) then destroyElement(marker) end end if blip then if isElement(blip) then destroyElement(blip) end end if obj then if isElement(obj) then destroyElement(obj) end end end end addEvent("deleteMarkerTractor", true) addEventHandler("deleteMarkerTractor", getRootElement(), deleteMarkerTractor) function startClick() local player = getLocalPlayer() if (source == buttonTra1) then guiSetVisible(wndTra,false) showCursor(false) local state = getElementData(player,"tractor_works") if not state then triggerServerEvent("start_Tractor",player,player) setElementData(player,"tractor_works",0) createMarkerTractor(player) outputChatBox("#1E90FF[BİLGİ] #FFFFFFİşe başladınız, işarete sürün.",255,255,255,true) setElementData(player,"Model Danışmanı",getElementModel(player)) setElementModel(player,158) setElementData(player,"tractor_plus",0) setElementData(player,"Kazanılan Gelir",moneyTra) else triggerServerEvent("stop_Tractor",player,player) local hodok = tonumber(state) local profit = getElementData(player,"Kazanılan Toplam kon") if not profit then profit = 0 end setElementData(player,"Kazanılan Toplam Kon",nil) setElementData(player,"Şuan Kazanılan Kon",nil) triggerServerEvent("giveMoneyTractor",player,player,profit) setElementData(player,"tractor_works",nil) setElementModel(player,getElementData(player,"Önceki Cilt Danışamanı")) deleteMarkerTractor(player) end elseif (source == buttonTra2) then guiSetVisible(wndTra,false) showCursor(false) end end addEventHandler("onClientGUIClick", getRootElement(), startClick) function onClientMarkerHit(player, mdim) if player == getLocalPlayer() then if mdim then local veh = getPedOccupiedVehicle(player) local state = getElementData(player,"tractor_works") if getElementData(source,"tractor_mark") then if veh then setElementData(player,"tractor_plus",tonumber(getElementData(player,"tractor_plus")) + 1) if getElementData(player,"tractor_plus") >= #tractorMarks then restoreMarkerCurrentState () local pacienty = tonumber(getElementData(player,"tractor_plus")) if pacienty > 0 then setElementData(player,"tractor_works",tonumber(state) + pacienty) setElementData(player,"tractor_plus",0) if not getElementData(player,"kazanılan total ") then setElementData(player,"kazanılan total",0) end if not getElementData(player,"total") then setElementData(player,"total",0) end setElementData(player,"kazanılan total",getElementData(player,"kazanılan total") + getElementData(player,"kazanlan total")) deleteMarkerTractor(player) outputChatBox("#1E90FF[BİLGİ] #FFFFFFKazanç : #00FF00"..getElementData(player,"total kazanılan").." #FFFFFFmoney.",255,255,255,true) outputChatBox("#1E90FF[BİLGİ] #FFFFFFMaaşınızı aldınız.",255,255,255,true) end else deleteMarkerTractor(player) createMarkerTractor(player) end end end end end end addEventHandler("onClientMarkerHit", getRootElement(), onClientMarkerHit) addEventHandler ( "onClientMarkerHit", getRootElement(), function(ply) if ply ~= localPlayer then return end if source == markerT then local state = getElementData(ply,"tractor_works") local veh = getPedOccupiedVehicle(ply) if not veh then guiSetVisible(wndTra,true) showCursor(true) if not state then guiSetText(buttonTra1,"İşe Başla.") else guiSetText(buttonTra1,"İşi Bitir.") end end end end) Bu Client.lua İçeriğimiz Sırada Server.Lua -- Türkçe Çeviri Reappersz---- -- Reappersz İyi Oyunlardiler. function start_Tractor(player) local veh = createVehicle(531,spawnTractor[1],spawnTractor[2],spawnTractor[3], 0, 0, 160) setElementData(player,"tractor_veh",veh) trailer = createVehicle(610, 0, 0, 4, 0, 0, 160) attachTrailerToVehicle(veh, trailer) setElementData(player,"trailer_veh",trailer) setElementData(veh,"tractor_plus",0) warpPedIntoVehicle(player,veh) setElementData(veh, "vehicle:Work", true) setElementData(veh, "vehicle:Work:Owner", player) end addEvent("start_Tractor", true) addEventHandler("start_Tractor", getRootElement(), start_Tractor) function enterVehicle ( player ) local data = getElementData(source, "vehicle:Work") if not data then return end local owner = getElementData(source, "vehicle:Work:Owner") if owner ~= player then cancelEvent() outputChatBox("#1E90FF[BİLGİ] #FFFFFFBu araç senin değil...",player,255,255,255,true) end end addEventHandler ( "onVehicleStartEnter", getRootElement(), enterVehicle ) function stop_Tractor(player) local state = getElementData(player,"tractor_works") local veh1 = getElementData(player,"tractor_veh") local veh2 = getElementData(player,"trailer_veh") if state then if veh1 then destroyElement(veh1) setElementData(player,"tractor_veh",nil) end if veh2 then destroyElement(veh2) setElementData(player,"trailer_veh",nil) end end triggerClientEvent("deleteMarkerTractor",player,player) end addEvent("stop_Tractor", true) addEventHandler("stop_Tractor", getRootElement(), stop_Tractor) function giveMoneyTractor(player, summa) local state = getElementData(player,"tractor_works") if state then givePlayerMoney(player, summa) outputChatBox("#1E90FF[BİLGİ] #FFFFFFİşi bitirdin. Maaşın #00FF00"..summa.." #FFFFFF$.",player,255,255,255,true) end end addEvent("giveMoneyTractor", true) addEventHandler("giveMoneyTractor", getRootElement(), giveMoneyTractor) function job_quit_Medik() local player = source local state = getElementData(player,"tractor_works") if state then local veh = getElementData(player,"tractor_veh") if veh then destroyElement(veh) setElementData(player,"tractor_veh",nil) end end end addEventHandler("onPlayerQuit", root, job_quit_Medik) function onVehicleStartEnter( player, seat, jacked ) local veh = source local pveh = getElementData(player,"tractor_veh") if veh == pveh then setElementData(player,"Уничтожение_Автобуса",nil) end end addEventHandler ( "onVehicleStartEnter", getRootElement(), onVehicleStartEnter) setTimer(function() for lol,player in ipairs(getElementsByType("player")) do local pveh = getElementData(player,"tractor_veh") if pveh then local driverA = getVehicleOccupant(pveh) if driverA == player then if getElementData(player,"Уничтожение_Автобуса") then setElementData(player,"Уничтожение_Автобуса",nil) end else if getElementData(player,"Уничтожение_Автобуса") then setElementData(player,"Уничтожение_Автобуса",tonumber(getElementData(player,"Уничтожение_Автобуса")) - 1) if tonumber(getElementData(player,"Уничтожение_Автобуса")) < 0 then setElementData(player,"Уничтожение_Автобуса",nil) stop_Tractor(player) outputChatBox("#1E90FF[BİLGİ] #FFFFFFİşten ayrıldın.",player,255,255,255,true) end end end end end end,1000,0) function onVehicleExit(player,seat) if seat == 0 then local pveh = getElementData(player,"tractor_veh") if source == pveh then setElementData(player,"Уничтожение_Автобуса",60) outputChatBox("#1E90FF[BİLGİ] #FFFFFFİşi dönmelisin yoksa 60 saniye sonra yok olacak.",player,255,255,255,true) end end end addEventHandler("onVehicleExit", getRootElement(), onVehicleExit) function onPlayerWasted() giveMoneyTractor(source) end addEventHandler("onPlayerWasted", getRootElement(), onPlayerWasted) function onPlayerQuit() giveMoneyTractor(source) end addEventHandler("onPlayerQuit", getRootElement(), onPlayerQuit) Buda Server.lua ' İçeriğimiz İçinden Editlemeler Değişiklikler Yapılabilir Sıradaki İçeriğimiz Shared.lua İçeriğidir -- Türkçe Çeviri Reappersz -- -- Reappersz İyi Oyunlardiler. markerT = {-103.97047424316,9.280517578125,3.1171875} -- Harita İşaretlemesi. skinTractor = 158 -- ID рабочего скина. moneyTra = math.random(1500,10000) -- Satılanların geliri. spawnTractor = {-123.93685150146,58.673442840576,3.1171875} -- Traktor Işınlama. tractorMarks = { -- Koleksiyon Kordinatları. {-129.10345458984,44.776748657227,3.1171875}, {-140.21569824219,35.499088287354,3.1171875}, {-138.20004272461,22.663047790527,3.1171875}, {-148.60707092285,14.514667510986,3.1171875}, {-145.90365600586,3.4965758323669,3.1171875}, {-156.54542541504,-6.012909412384,3.1171875}, {-154.13597106934,-17.593681335449,3.1171875}, {-164.40188598633,-27.394626617432,3.1171875}, {-162.29643249512,-39.118156433105,3.1171875}, {-171.7504119873,-45.86404800415,3.1171875}, {-169.89549255371,-58.790817260742,3.1171875}, {-179.14767456055,-66.964935302734,3.1171875}, {-180.8540802002,-80.188659667969,3.1171875}, {-192.09867858887,-82.351318359375,3.1171875}, {-194.74926757813,-68.188079833984,3.1171875}, {-184.73794555664,-59.438095092773,3.1171875}, {-187.86322021484,-46.48645401001,3.1171875}, {-176.4867401123,-37.576705932617,3.1171875}, {-178.89535522461,-23.708335876465,3.1171875}, {-167.26829528809,-14.703594207764,3.1171875}, {-169.14628601074,0.85636925697327,3.1171875}, {-157.40020751953,11.213445663452,3.1171875}, {-163.81475830078,27.186906814575,3.109395980835}, {-151.95930480957,38.768440246582,3.1171875}, {-155.29359436035,53.715530395508,3.1171875}, {-144.55880737305,61.669063568115,3.1171875}, {-153.22250366211,73.040794372559,3.1171875}, {-164.96725463867,64.920394897461,3.1171875}, {-160.10667419434,51.389507293701,3.1171875}, {-172.44535827637,43.420669555664,3.1171875}, {-168.49655151367,27.312816619873,3.1171875}, {-181.05578613281,18.532829284668,3.109395980835}, {-176.61128234863,4.3219885826111,3.109395980835}, {-188.57684326172,-7.4416480064392,3.109395980835}, {-186.15411376953,-23.690855026245,3.1171875}, {-199.10632324219,-34.989559173584,3.1171875}, {-196.35543823242,-49.323276519775,3.1171875}, {-207.32098388672,-57.854675292969,3.1171875}, {-204.13220214844,-74.361557006836,3.1171875}, {-214.03121948242,-81.115821838379,3.1171875}, {-222.42245483398,-71.313377380371,3.1171875}, {-211.78359985352,-60.138431549072,3.1171875}, {-217.53211975098,-41.33757019043,3.1171875}, {-205.04089355469,-31.443368911743,3.1171875}, {-207.49635314941,-12.911985397339,3.1171875}, {-195.17124938965,-1.4358625411987,3.109395980835}, {-199.52687072754,22.681520462036,3.1171875}, {-187.56085205078,33.805614471436,3.1171875}, {-190.6788482666,50.106971740723,3.1171875}, {-178.33522033691,60.7131690979,3.1171875}, {-182.21771240234,76.404037475586,3.1171875}, {-191.54174804688,87.14820098877,3.1171875}, {-203.26365661621,79.401123046875,3.1171875}, {-199.90397644043,61.27318572998,3.1171875}, {-212.61807250977,50.887119293213,3.1171875}, {-209.3896484375,34.510997772217,3.1171875}, {-221.73179626465,23.422630310059,3.1171875}, {-217.9956817627,8.4652395248413,3.1171875}, {-231.29121398926,-4.3941593170166,3.109395980835}, {-227.30709838867,-17.375923156738,3.1171875}, {-238.58776855469,-26.8854637146,3.1171875}, {-234.0107421875,-40.141651153564,3.1171875}, {-245.84834289551,-50.500583648682,3.1171875}, {-243.30256652832,-64.259651184082,3.1171875}, {-253.69897460938,-70.972732543945,3.1171875}, {-261.44381713867,-60.243770599365,3.1171875}, {-264.31607055664,-45.27653503418,3.1171875}, {-253.13627624512,-37.03816986084,3.1171875}, {-256.28436279297,-21.476554870605,2.5999567508698}, {-243.57893371582,-5.2200374603271,2.8984375}, {-246.77336120605,13.520101547241,2.5481338500977}, {-232.55879211426,27.493730545044,2.8690776824951}, {-235.26802062988,47.376792907715,2.5473833084106}, {-221.7456817627,60.752349853516,2.8304569721222}, {-226.7194519043,72.61767578125,2.5015366077423}, {-214.16030883789,83.426750183105,2.7792901992798}, {-217.92860412598,94.814697265625,2.4680054187775}, {-227.80729675293,97.381309509277,2.0782046318054}, {-227.83094787598,81.953834533691,2.3373956680298}, {-242.23078918457,74.386619567871,1.953736782074}, {-236.50303649902,54.08487701416,2.4138503074646}, {-253.51921081543,43.162837982178,1.965989947319}, {-248.65715026855,20.133153915405,2.3974192142487}, {-265.92660522461,3.4994027614594,1.9778387546539}, {-260.5168762207,-20.83599281311,2.453197479248}, {-276.29504394531,-35.595523834229,2.0164685249329}, {-271.26129150391,-54.640983581543,3.1171875}, } Ve Son Adım Meta.XML İçeriğimiz <meta> <script src="shared.lua" type="shared" cache="false"/> <script src="client.lua" type="client" cache="false"/> <script src="server.lua" type="server"/> </meta> Bu Adımları Yaptıktan Sonra Meslek Dosyamızı Bir Zip Açarak İçine Atın Bunları Ardından Servere Yükleme Yapıp Startlayın ve refreshleyin
  22. Taksi Scripti Mta -- MTA SA Script Reappersz -- İyi oyunlar. local workMarker = createMarker(-520.324, 2582.393, 52.414, "cylinder", 1.5, 252,0,255,50)--marker createBlipAttachedTo(workMarker, 12, 2, 255,0,0, 255, 0, 1000) --blip local rightWheeledCars = { [543] = true, -- arac [558] = true, -- arac [560] = true, -- arac [562] = true, -- arac [566] = true, -- arac [587] = true, -- arac } -- ========== PANEL ========== local scx1920, scy1080 = guiGetScreenSize() local scx1920, scy1080 = guiGetScreenSize() local GUI = { window = {}, label = {}, button = {}, } addEventHandler("onClientResourceStart", resourceRoot, function() -- BUTONLAR local screenW, screenH = guiGetScreenSize() GUI.window.start = guiCreateStaticImage((screenW - 1340)/0.5,(screenH - 768)/0.5,1250,900, "image/ui.png", false) GUI.button.startWork = guiCreateButton(680, 370, 275, 60, "İşe Başla", false, GUI.window.start) GUI.button.closeStart = guiCreateButton(680, 450, 275, 60, "İptal", false, GUI.window.start) -- BUTONLAR GUI.window.finish = guiCreateStaticImage((screenW - 1340)/0.5,(screenH - 768)/0.5,1250,900, "image/ui.png", false) GUI.button.finishWork = guiCreateButton(680, 370, 275, 60, "İşi Bitir", false, GUI.window.finish) GUI.button.closeFinish = guiCreateButton(680, 450, 275, 60, "İptal", false, GUI.window.finish) guiSetVisible(GUI.window.start, false) guiSetVisible(GUI.window.finish, false) end) --- Kanka şimdi bu scripti sparrow türkçe yapmış felan hani sitesine bakmak istersen bir çok TÜRKÇE script mevcut : https://sparrow-mta.blogspot.com addEventHandler("onClientMarkerHit", workMarker, function(player, matchingDimension) if (player == localPlayer) and (matchingDimension) then local vehicle = getPedOccupiedVehicle(localPlayer) if (not vehicle) or (getPedOccupiedVehicleSeat(localPlayer) == 0) then triggerServerEvent("openWorkWindow", resourceRoot) end end end) --[[ addEventHandler("onClientMarkerLeave", workMarker, function(player) if (player == localPlayer) then hideWorkGUI() end end) ]] local vehicleToUse = false addEvent("showStartWorkGUI", true) addEventHandler("showStartWorkGUI", resourceRoot, function(vehicle) if not isElementWithinMarker(localPlayer, workMarker) then return end if (vehicle) then if isResourceRunning("car_system") then guiSetText(GUI.label.vehicle, "Bu aracı kullana bilirsin ("..exports.car_system:getVehicleModName(vehicle)..").") else guiSetText(GUI.label.vehicle, "Bu araç taksi.") end else guiSetText(GUI.label.vehicle, "Kendi aracınız yok ise kiralık bir araç temin edilecek.") end vehicleToUse = vehicle guiSetVisible(GUI.window.start, true) showCursor(true) end) addEvent("showFinishWorkGUI",true) addEventHandler("showFinishWorkGUI", resourceRoot, function(money) if not isElementWithinMarker(localPlayer, workMarker) then return end guiSetText(GUI.label.finishText, "\n\n\n\nTaksi şöförlüğü işini bitirmeden önce, bu parayı ödemelisin "..tostring(money).." $.") guiSetVisible(GUI.window.finish, true) showCursor(true) end) addEventHandler("onClientGUIClick", resourceRoot, function() if (source == GUI.button.closeStart) or (source == GUI.button.closeFinish) then hideWorkGUI() elseif (source == GUI.button.startWork) then if (getElementDimension(localPlayer) ~= 0) or (getElementInterior(localPlayer) ~= 0) then return end if isResourceRunning("car_driving_school") and (not exports.car_driving_school:doesPlayerHaveLic(localPlayer, "car")) then exports.car_driving_school:outputNoLicenseClient("car") return end triggerServerEvent("startTaxiJob", resourceRoot, vehicleToUse) hideWorkGUI() elseif (source == GUI.button.finishWork) then triggerServerEvent("finishTaxiJob", resourceRoot) hideWorkGUI() end end) function hideWorkGUI() guiSetVisible(GUI.window.start, false) guiSetVisible(GUI.window.finish, false) showCursor(false) vehicleToUse = false end -- ========== Получение нового заказа и создание маркеров ========== addEventHandler("onClientPedDamage", resourceRoot, cancelEvent) local currentPed, currentPoint local sourceMarker, rotateMarker, jobBlip, destinationMarker addEvent("createSourceMarker", true) addEventHandler("createSourceMarker", resourceRoot, function(point, ped) removePedPickupElements() currentPoint = point currentPed = ped sourceMarker = createMarker(point[1], point[2], point[3], "cylinder", 2, 100,100,0,200) rotateMarker = createMarker(point[4], point[5], point[6], "cylinder", 30, 0,0,0,0) jobBlip = createBlipAttachedTo(sourceMarker, 56, 2, 255, 0, 0, 255, 32767, 65535) outputTaxiMessage("Yeni müşteri haritada sarı nokta ile gösterilir.") end) function removePedPickupElements() currentPed = false currentPoint = false if isElement(sourceMarker) then destroyElement(sourceMarker) end if isElement(rotateMarker) then destroyElement(rotateMarker) end if isElement(jobBlip) then destroyElement(jobBlip) end sourceMarker = false rotateMarker = false jobBlip = false end -- ========== Обновление поворота педа при подъезде машины ========== addEventHandler("onClientMarkerHit", resourceRoot, function(player, matchingDimension) if (player == localPlayer) and (source == rotateMarker) and (matchingDimension) then addEventHandlerNoWarnings("onClientRender", root, updatePedRotation) end end) addEventHandler("onClientMarkerLeave", resourceRoot, function(player, matchingDimension) if (player == localPlayer) and (source == rotateMarker) and (matchingDimension) then removeEventHandlerNoWarnings("onClientRender", root, updatePedRotation) end end) function updatePedRotation() if not isElement(currentPed) then removeEventHandlerNoWarnings("onClientRender", root, updatePedRotation) end local vehicle = getPedOccupiedVehicle(localPlayer) if (not vehicle) then return end local pedX, pedY, _ = getElementPosition(currentPed) local carX, carY, _ = getElementPosition(vehicle) setElementRotation(currentPed, 0, 0, getRotationFromVec2D(carX-pedX, carY-pedY), "default", true) end -- ========== Ожидание остановки машины при заезде на маркер ========== local pickupStopTimer, dropStopTimer addEventHandler("onClientMarkerHit", resourceRoot, function(player, matchingDimension) if (player == localPlayer) and (matchingDimension) and (source==sourceMarker or source==destinationMarker) then local _, _, mZ = getElementPosition(source) local _, _, pZ = getElementPosition(localPlayer) if (pZ-mZ < 5) and (pZ-mZ > -1) then if (source == sourceMarker) then if isTimer(pickupStopTimer) then killTimer(pickupStopTimer) end pickupStopTimer = setTimer(waitingForPickupStop, 100, 1) else if isTimer(dropStopTimer) then killTimer(dropStopTimer) end dropStopTimer = setTimer(waitingForDropStop, 100, 1) end end end end) addEventHandler("onClientMarkerLeave", resourceRoot, function(player, matchingDimension) if (player == localPlayer) and (matchingDimension) and (source==sourceMarker or source==destinationMarker) then if isTimer(pickupStopTimer) then killTimer(pickupStopTimer) end if isTimer(dropStopTimer) then killTimer(dropStopTimer) end if getPedOccupiedVehicle(localPlayer) then outputTaxiMessage("Aracı bölgede durdur.") end end end) function waitingForPickupStop() local vehicle = getPedOccupiedVehicle(localPlayer) if (not vehicle) then return end local spX, spY, spZ = getElementVelocity(vehicle) local speed = math.floor(math.sqrt(spX^2 + spY^2 + spZ^2)*180) if (speed < 5) then antiDOSsend("pedPickup", 1000, "startPedPickup", resourceRoot) else pickupStopTimer = setTimer(waitingForPickupStop, 100, 1) end end -- ========== Подход педа к машине и посадка ========== local pos = { [0] = {name = "door_lf_dummy"}, [1] = {name = "door_rf_dummy"}, [2] = {name = "door_lr_dummy"}, [3] = {name = "door_rr_dummy"}, } local animVehicle, animPed, animSeat local doorTimer, resettingDoorTimer addEvent("putPedInVehicle",true) addEventHandler("putPedInVehicle", resourceRoot, function(vehicle, ped) if not isElement(vehicle) or not isElement(ped) then return end removeEventHandlerNoWarnings("onClientRender", root, updatePedRotation) removePedPickupElements() local pedX, pedY, _ = getElementPosition(ped) animVehicle, animPed = vehicle, ped for i = 0, #pos do local offX, offY = getDoorOffset(i, getElementRotation(vehicle)) pos.x, pos.y, pos.z = getVehicleComponentPosition(vehicle, pos.name, "world") if (pos.x) then pos.x = pos.x + offX pos.y = pos.y + offY end end if pos[3].x and (getVehicleMaxPassengers(vehicle) > 1) then if getDistanceBetweenPoints2D(pedX, pedY, pos[3].x, pos[3].y) < getDistanceBetweenPoints2D(pedX, pedY, pos[2].x, pos[2].y) then animSeat = 3 else animSeat = 2 end else if (rightWheeledCars[getElementModel(vehicle)]) then animSeat = 0 else animSeat = 1 end end setPedAnalogControlState(ped, "forwards", 0.5) if isTimer(doorTimer) then killTimer(doorTimer) end doorTimer = setTimer(waitForDoor, 100, 1) if isTimer(resettingDoorTimer) then killTimer(resettingDoorTimer) end resettingDoorTimer = setTimer(resetWaitForDoor, 10000, 1) end) function waitForDoor() local pedX, pedY, pedZ = getElementPosition(animPed) local offX, offY = getDoorOffset(animSeat, getElementRotation(animVehicle)) pos[animSeat].x, pos[animSeat].y, _ = getVehicleComponentPosition(animVehicle, pos[animSeat].name, "world") pos[animSeat].x = pos[animSeat].x + offX pos[animSeat].y = pos[animSeat].y + offY if (getDistanceBetweenPoints2D(pos[animSeat].x, pos[animSeat].y, pedX, pedY) > 0.5) then setElementRotation(animPed, 0, 0, getRotationFromVec2D(pos[animSeat].x-pedX, pos[animSeat].y-pedY), "default", true) doorTimer = setTimer(waitForDoor, 100, 1) else if isTimer(resettingDoorTimer) then killTimer(resettingDoorTimer) end setPedAnalogControlState(animPed, "forwards", 0) attachAndAnimate1() end end function resetWaitForDoor() if isTimer(doorTimer) then killTimer(doorTimer) end setPedAnalogControlState(animPed, "forwards", 0) attachAndAnimate1() end local animPedZShift function attachAndAnimate1() local vehRotX, vehRotY, vehRotZ = getElementRotation(animVehicle, "default") local offX, offY = getDoorOffset(animSeat) local _, _, worldZ = getVehicleComponentPosition(animVehicle, pos[animSeat].name, "world") local _, _, pedZ = getElementPosition(animPed) animPedZShift = pedZ - worldZ pos[animSeat].x, pos[animSeat].y, pos[animSeat].z = getVehicleComponentPosition(animVehicle, pos[animSeat].name, "root") pos[animSeat].x = pos[animSeat].x + offX pos[animSeat].y = pos[animSeat].y + offY pos[animSeat].z = pos[animSeat].z + animPedZShift setElementCollidableWith(animPed, animVehicle, false) attachElements(animPed, animVehicle, pos[animSeat].x, pos[animSeat].y, pos[animSeat].z, vehRotX, vehRotY, vehRotZ) setElementRotation(animPed, vehRotX, vehRotY, vehRotZ) local animation = (animSeat%2 == 1) and "CAR_open_RHS" or "CAR_open_LHS" setPedAnimation(animPed, "ped", animation, -1, false, false, false, true) setTimer(function(v,s) setVehicleDoorOpenRatio(v, s, 1, 300) end, 500, 1, animVehicle, animSeat+2) setTimer(animate2, 1000, 1) end function animate2() local animation = (animSeat%2 == 1) and "CAR_getin_RHS" or "CAR_getin_LHS" setPedAnimation(animPed, "ped", animation, -1, false, false, false, true) setTimer(animate3, 1000, 1) end function animate3() local animation = (animSeat%2 == 1) and "CAR_closedoor_RHS" or "CAR_closedoor_LHS" setPedAnimation(animPed, "ped", animation, -1, false, false, false, true) setTimer(function(v,s) setVehicleDoorOpenRatio(v, s, 0, 200) end, 300, 1, animVehicle, animSeat+2) setTimer(function(event, rootElement, vehicle, seat) triggerServerEvent(event, rootElement, vehicle, seat) end, 500, 1, "pedPutIntoVehicle", resourceRoot, animVehicle, animSeat) end -- ========== Создание точки назначения ========== addEvent("createDestinationMarker", true) addEventHandler("createDestinationMarker", resourceRoot, function(point) removePedDropElements() currentPoint = point destinationMarker = createMarker(point[1], point[2], point[3], "cylinder", 2, 100,100,0,200) jobBlip = createBlipAttachedTo(destinationMarker, 56, 2, 255, 0, 0, 255, 32767, 65535) end) function removePedDropElements() currentPoint = false if isElement(destinationMarker) then destroyElement(destinationMarker) end if isElement(jobBlip) then destroyElement(jobBlip) end destinationMarker = false jobBlip = false end -- ========== Ожидание остановки машины при заезде на маркер окончания ========== function waitingForDropStop() local vehicle = getPedOccupiedVehicle(localPlayer) if (not vehicle) then return end local spX, spY, spZ = getElementVelocity(vehicle) local speed = math.floor(math.sqrt(spX^2 + spY^2 + spZ^2)*180) if (speed < 5) then antiDOSsend("pedDrop", 1000, "startPedDrop", resourceRoot) else dropStopTimer = setTimer(waitingForDropStop, 100, 1) end end -- ========== Выход педа из машины и исчезновение ========== addEvent("extractPedFromVehicle",true) addEventHandler("extractPedFromVehicle", resourceRoot, function(vehicle, ped, seat) removePedDropElements() if (seat == 1) and (rightWheeledCars[getElementModel(vehicle)]) then seat = 0 end animVehicle, animPed, animSeat = vehicle, ped, seat local vehRotX, vehRotY, vehRotZ = getElementRotation(vehicle, "default") local offX, offY = getDoorOffset(seat) pos[seat].x, pos[seat].y, pos[seat].z = getVehicleComponentPosition(vehicle, pos[seat].name, "root") pos[seat].x = pos[seat].x + offX pos[seat].y = pos[seat].y + offY pos[seat].z = pos[seat].z + animPedZShift setElementCollidableWith(ped, vehicle, false) attachElements(ped, vehicle, pos[seat].x, pos[seat].y, pos[seat].z-10, vehRotX, vehRotY, vehRotZ) setElementRotation(ped, vehRotX, vehRotY, vehRotZ) local animation = (seat%2 == 1) and "CAR_getout_RHS" or "CAR_getout_LHS" setPedAnimation(ped, "ped", animation, -1, false, false, false, true) setTimer(function(v,s) setVehicleDoorOpenRatio(v, s, 1, 300) end, 150, 1, vehicle, seat+2) setTimer(function(p, v, x, y, z, rX, rY, rZ) attachElements(p, v, x, y, z, rX, rY, rZ) end, 200, 1, ped, vehicle, pos[seat].x, pos[seat].y, pos[seat].z, vehRotX, vehRotY, vehRotZ) setTimer(closeDoor, 900, 1) end) function closeDoor() local animation = (animSeat%2 == 1) and "CAR_close_RHS" or "CAR_close_LHS" setPedAnimation(animPed, "ped", animation, -1, false, false, false, true) setTimer(function(v,s) setVehicleDoorOpenRatio(v, s, 0, 300 ) end, 150, 1, animVehicle, animSeat+2) setTimer(startWalkOut, 900, 1) end local pedAlpha function startWalkOut() local _, _, vehRotZ = getElementRotation(animVehicle, "default") detachElements(animPed) setPedAnimation(animPed) setElementCollidableWith(animPed, animVehicle, true) setPedAnalogControlState(animPed, "forwards", 0.5) setElementRotation(animPed, 0, 0, (animSeat%2 == 1) and (vehRotZ-90) or (vehRotZ+90), "default", true) pedAlpha = 255 addEventHandler("onClientRender", root, vanishPed) triggerServerEvent("pedDropped", resourceRoot, animVehicle) end function vanishPed() pedAlpha = pedAlpha-1 if isElement(animPed) then setElementAlpha(animPed, pedAlpha) end if (pedAlpha == 0) or (not isElement(animPed)) then removeEventHandler("onClientRender", root, vanishPed) triggerServerEvent("killVanishedPed", resourceRoot) end end -- ========== Очистка всей инфы о работе ========== addEvent("deleteAllObjects", true) addEventHandler("deleteAllObjects", resourceRoot, function() currentPed = false currentPoint = false if isElement(sourceMarker) then destroyElement(sourceMarker) end if isElement(rotateMarker) then destroyElement(rotateMarker) end if isElement(jobBlip) then destroyElement(jobBlip) end if isElement(destinationMarker) then destroyElement(destinationMarker) end if isTimer(pickupStopTimer) then killTimer(pickupStopTimer) end if isTimer(dropStopTimer) then killTimer(dropStopTimer) end animVehicle = false animPed = false animSeat = false if isTimer(doorTimer) then killTimer(doorTimer) end if isTimer(resettingDoorTimer) then killTimer(resettingDoorTimer) end end) -- ========== Мелкие вспомогательные функции ========== -- Получить смещение педа относительно дверной петли function getDoorOffset(seat, _, _, rotZ) local Xshift, Yshift = 0.5, -1.25 if (tonumber(seat)%2 == 0) then Xshift = -Xshift end if (rotZ) then rotZ = math.rad(rotZ) return Xshift*math.cos(rotZ)-Yshift*math.sin(rotZ), Xshift*math.sin(rotZ)+Yshift*math.cos(rotZ) else return Xshift, Yshift end end -- Получить угол наклона вектора function getRotationFromVec2D(x, y) local a = math.deg(math.acos(y/((x^2+y^2)^0.5))) return (x < 0) and (a) or (-a) end -- Сообщения от имени такси function outputTaxiMessage(text) outputChatBox("[TAKSİ] #FFFFFF"..text, 227, 173, 0, true) end -- Убирание ошибки при добавлении/убирании эвента function addEventHandlerNoWarnings(eventName, element, func) for _, attachedFunc in ipairs(getEventHandlers(eventName, element)) do if (attachedFunc == func) then return end end addEventHandler(eventName, element, func) end function removeEventHandlerNoWarnings(eventName, element, func) for _, attachedFunc in ipairs(getEventHandlers(eventName, element)) do if (attachedFunc == func) then removeEventHandler(eventName, element, func) end end end -- Проверка, что ресурс запущен function isResourceRunning(resName) local res = getResourceFromName(resName) return (res) and (getResourceState(res) == "running") end -- ========== Слоумод на кнопку/действие ========== local sendData = {} local sendTimers = {} function antiDOSsend(actionGroup, pause, ...) local args = {...} if isTimer(sendTimers[actionGroup]) then sendData[actionGroup] = args[1] and args else if (args[1]) then triggerServerEvent(...) sendData[actionGroup] = false sendTimers[actionGroup] = setTimer(slowSend, pause, 1, actionGroup) end end end function slowSend(actionGroup) if (sendData[actionGroup]) then triggerServerEvent(unpack(sendData[actionGroup])) sendData[actionGroup] = nil end end --[[ addEventHandler("onClientPreRender",root, function () if animPed and isElement(animPed) then local block, animation = getPedAnimation(animPed) dxDrawText ( "CURRENT ANIMATION INFO...", 500, 300 ) if not block then block = "N/A" end if not animation then animation = "N/A" end dxDrawText ( "Block = "..block.." Animation = "..animation, 500, 315 ) end end ) ]] --[[ addEventHandler ( "onClientRender", root, function() if isPedInVehicle ( localPlayer ) and getPedOccupiedVehicle ( localPlayer ) then local veh = getPedOccupiedVehicle ( localPlayer ) for v in pairs ( getVehicleComponents(veh) ) do local x,y,z = getVehicleComponentPosition ( veh, v, "world" ) if x then local wx,wy,wz = getScreenFromWorldPosition ( x, y, z ) if wx and wy then dxDrawText ( v, wx -1, wy -1, 0 -1, 0 -1, tocolor(0,0,0), 1, "default-bold" ) dxDrawText ( v, wx +1, wy -1, 0 +1, 0 -1, tocolor(0,0,0), 1, "default-bold" ) dxDrawText ( v, wx -1, wy +1, 0 -1, 0 +1, tocolor(0,0,0), 1, "default-bold" ) dxDrawText ( v, wx +1, wy +1, 0 +1, 0 +1, tocolor(0,0,0), 1, "default-bold" ) dxDrawText ( v, wx, wy, 0, 0, tocolor(0,255,255), 1, "default-bold" ) end end end end end) ]]
  23. boa noite, Gostaria de saber qual a função que cria uma seta encima do player que tem no GTA SA
  24. Olá, estou com tentando colocar uma nortificação nesse script ao pega uma skin, tentei de vários jeito mais nenhum deu certo. Alguém pode me ajuda? zombiehunterpickup55555 = createPickup ( 2092.7351074219, -1919.3978271484, 18.655364990234, 3, 1275, 1000 ) function zombiehunterskinpickup55555 ( thePlayer ) setPedSkin ( thePlayer, 280 ) setPlayerTeam ( thePlayer, teamzombie ) setElementData ( thePlayer, "zombie", true ) exports.Scripts_Dxmessages:outputDx(thePlayer, "VOCÊ PEGOU A VESTIMENTA DA PRF!", "info") end addEventHandler ( "onPickupUse", zombiehunterpickup55555, zombiehunterskinpickup55555 ) addEventHandler ("onPickupUse", getRootElement(), function (playerWhoUses) if (source == zombiehunterpickup55555) then setPlayerNametagText (playerWhoUses, "" .. getPlayerName (playerWhoUses)) setElementData (playerWhoUses, "job", "farm") end end) O script não é meu só quero adaptar com o: exports.Scripts_Dxmessagens_. Dá uma ajudinha ae
  25. Quando eu vou verificar se o dinheiro da pessoa, ele retorna que o getPlayerMoney() não pode ter o valor nil, no caso ele não reconhece o player que está fazendo a ação de comprar o carro, isso faz com que o script não funcione. Alguém pode me ajudar a arrumar o script, ficaria bem agradecida function abriPainel0(source) triggerClientEvent(source, "Abrir_painel", source) end addEventHandler("onMarkerHit", mc0, abriPainel0) function comprarcarro0(source) local acc = getAccountPlayer(source) or "ninguém" local money = getPlayerMoney(source) or 0 if money >= c0[2] then if getElementData(source,"Comprou") == false then setElementData(source,"Comprou",true) setTimer(comprar, 10000, 1) takePlayerMoney(source, c0[2]) createVehicle(c0[3], g0[3], g0[4], g0[5]+2) else outputChatBox("Espere 10 segundos",source,255,255,255,true) end else outputChatBox("Você não possui dinheiro você precisa de R$ "..c0[2]-money,source,255,255,255,true) outputChatBox("O Player é o: "..tostring(acc)) end end addEvent("comprarc0", true) addEventHandler("comprarc0", root, comprarcarro0) function comprar() setElementData(source,"Comprou",false) outputChatBox("Você já pode comprar outro veiculo.",source,255,255,255,true) end
×
×
  • Create New...