-
Posts
980 -
Joined
-
Last visited
-
Days Won
1
Everything posted by manawydan
-
tentei ai não testado local Timer = {} Bribe = {} xMain_ = function( ) for index,v in ipairs (getElementsByType("player")) do xWanted_(v) end end addEventHandler("onResourceStart", resourceRoot, xMain_); xWanted_ = function(v) if not isElement(v) then return end Timer[v] = setTimer( function(player) if isElement(player) then local team = getPlayerTeam(player) local NomeAcl = getAccountName(getPlayerAccount(player)) if ( team and getTeamName(team) == "Police" ) or isObjectInACLGroup ("user."..NomeAcl, aclGetGroup ( "Bope" ) ) then return end local Wanted = getPlayerWantedLevel ( player ); local x,y,z = getElementPosition ( player ); local Name = getPlayerName ( player ); if ( Wanted >= 1 ) then if Bribe[player] and isElement(Bribe[player]) then return end Bribe[player] = createObject(1247,x,y,z); attachElements (Bribe[player],player,0,0,1.6) ; outputChatBox(" [ "..Name.." ] Have [ "..Wanted.." ] Wanted Level! ",v,255,0,0,true); elseif ( Wanted == 0 and Bribe[player] and isElement(Bribe[player]) ) then destroyElement(Bribe[player]); Bribe[player] = nil end end end ,5000,0,v); end xJoin_ = function ( ) xWanted_(source); end addEventHandler("onPlayerJoin",root,xJoin_); xWantedDestroy_ = function ( ) if Timer[source] and isTimer(Timer[source]) then killTimer(Timer[source]); Timer[source] = nil end; if Bribe[source] and isElement(Bribe[source]) then destroyElement(Bribe[source]); Bribe[source] = nil end end addEventHandler("onPlayerQuit",root,xWantedDestroy_);
-
Error Downloading [Erro]
manawydan replied to Shoter_BR's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
você poderia contatar o adm desse server e dizer pra ele sobre o erro, talvez seja o tal script. -
try outputChatBox ("Alex Mercer is attacking Los Santos ! Stop him before he transforms the whole city into a giant hive !",getRootElement(), 255, 0, 0, true ) function boss ( ) Alex = exports [ "slothBot" ]:spawnBot ( 1479.33984375, -1675.4399414063, 14.0406875, 90, 308, 0, 0, Alex, 0, "hunting", true ) exports.extra_health:setElementExtraHealth ( Alex, 75000 ) myBlip = (createBlipAttachedTo ( Alex, 41 )) setBotWeapon (Alex, 0) setElementData ( Alex, "alex", true ) end addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), boss ) function alexattack ( attacker, weapon, bodypart ) if (attacker) then if getElementType ( attacker ) == "ped" then if (getElementData (attacker, "alex") == true) then killPed(source,attacker) end end end end addEventHandler ( "onPlayerDamage",root, alexattack ) function money (theKiller) if (source == Alex) then givePlayerMoney(theKiller,math.random(5000000,10000000)) outputChatBox ( getPlayerName ( theKiller ) .. " stopped Alex Mercer ! But the virus will never die ...",getRootElement(), 10, 255 , 10, true ) end end addEvent("onBotWasted", true) addEventHandler("onBotWasted", getRootElement(), money)
-
exemplo: addEventHandler("onVehicleEnter",root, function(thePlayer,seat) if(getElementModel(source)==490) then local skin = getElementModel(thePlayer) if(skin~=286) then cancelEvent() destroyElement(source) outputChatBox("Você não tem skin de fbi",thePlayer) end end end)
-
na parte do createVehicle você pode checar o skin do jogador com getElementModel e checar se o veiculo é o fbi rancher, então você so executa uma mensagem com outputChatBox.E quando você entra em um veiculo(onVehicleEnter) você checa se seu skin é do fbi e se o carro tem o skin do fbi rancher, então usa um cancelEvent() e destroyElement(source).
-
try for i = 1, #teams do team = createTeam(teams[i][1], teams[i][2], teams[i][3], teams[i][4]) end addEventHandler("onResourceStart", resourceRoot, function() for i = 1, #jobs do local players = getElementsByType("player") local marker = createMarker(jobs[i][3], jobs[i][4], jobs[i][5]-0.8,"cylinder",1,255,255,0,255) ped = createPed(jobs[i][2], jobs[i][3], jobs[i][4], jobs[i][5]) setElementRotation(ped, 0, 0, jobs[i][6]) setElementFrozen(ped, true) setElementData(ped, "job.ped", true) setElementData(ped, "job.title", jobs[i][1]) setElementData(ped, "job.team", jobs[i][7]) setElementData(ped, "job.info", jobs[i][9]) setElementData(ped, "job.r", jobs[i][10]) setElementData(ped, "job.g", jobs[i][11]) setElementData(ped, "job.b", jobs[i][12]) setElementData(ped, "job.skin", jobs[i][2]) setElementData(ped, "job.skinRequired", jobs[i][8]) setElementData(ped, "job.enabled", jobs[i][13]) blip = createBlip(jobs[i][3], jobs[i][4], jobs[i][5], 56, 2, 255, 255, 255, 255, 0, 350.0, root) attachElements(marker,ped,0,0,2) end end) addEvent("givePlayerJob", true) addEventHandler("givePlayerJob", root, function(job, team, r, g, b, skinID, skinRequired) local pTeam = getTeamFromName(team) setPlayerTeam(source, pTeam) setElementData(source, "Role", job) setPlayerNametagColor(source, r, g, b) if skinRequired then setElementModel(source, skinID) end if job == "Paramedic" then giveWeapon(source, 41, 9999, true) elseif job == "Police Officer" or job == "Detective" or job == "Traffic Officer" then giveWeapon(source, 3, 1, true) end end) function getJobsTable(client,bool) if bool then triggerClientEvent(client,"returnJobsTable",client,jobTable) end return jobTable end addEvent("getJobTable",true) addEventHandler("getJobTable",root,getJobsTable) addEventHandler("onResourceStop", resourceRoot, function () for i,v in pairs(getElementsByType("player")) do if (getPlayerTeam(v)) then local team = getTeamName(getPlayerTeam(v)) setElementData(v,"tempTeam",tostring(team)) end triggerClientEvent(v,"returnJobsTable",v,jobTable) end end) addEventHandler("onResourceStart", resourceRoot, function () for index, team in pairs(teamTable) do createTeam(tostring(team[1]), tonumber(team[2]), tonumber(team[3]), tonumber(team[4])) end for i,v in pairs(jobTable) do local ped = createPed(tonumber(v.skin), tostring(v.x), tostring(v.y), tostring(v.z)+1) if ped then setPedRotation(ped, tonumber(v.rot)) jobPeds[ped] = {v.team, v.role, v.weapons, v.desc, v.skin, v.wl, v.hours, v.arrests} setElementData(ped,"jobPed",true) setElementData(ped,"jobName",v.role) setElementData(ped,"jobColor",{v.r, v.g, v.b}) setElementFrozen(ped, true) if v.int then setElementInterior(ped, tonumber(v.int)) end end end for i,v in pairs(getElementsByType("player")) do local accData = getElementData(v,"tempTeam") if accData then setTimer(setPlayerTeam,2000,1,v,getTeamFromName(accData)) end local r, g, b = getPlayerNametagColor(v) plrBlips[v] = createBlipAttachedTo(v,0,2,r,g,b,255,0,1500) end for commandName,_ in pairs(callCommands) do addCommandHandler(tostring(commandName),onJobCommandCalled) end end)
-
marker is definite?
-
some math and onClientRender(slothman made this in superheroes gamemode made by he)
-
source na maioria das vezes é quem faz o sofre uma "ação do evento"(exemplo "onPlayerDamage", seu source é o jogador que levou dano) getRootElement() ou root é uma forma meio que de generalização.(ex: voce cria um ped e usa: local ped = createPed(argumentos) addEventHandler("onPedWasted",ped, function() outputChatBox("o ped morreu",root) end) Esse codigo sera executado quando o ped que criamos morrer, e sera enviado uma mensagem pra todos os jogadores(root ou getRootElement) E thePlayer, usamos na maiorias da vezes quando não ha source ou o source não é quem queremos achar. Exemplo o addCommandHandler não tem source, mas podemos saber quem executou o tal comando definindo thePlayer addCommandHandler("teste", function(thePlayer) outputChatBox("o jogador "..getPlayerName(thePlayer).." Executou o comando /teste",root) outputChatBox("Você executou o comando teste e vai ganhar R$ 1000",thePlayer) givePlayerMoney(thePlayer,1000) end) Quando um jogador executar o comando /teste vai criar a primeira mensagem com o nome dele para todos os jogadores, e a segunda mensagem apenas pra ele, e apenas ele vai ganhar R$ 1000. Espero que tenha entendido(ja que não sou bom em explicar as coisas).
-
use addEventHandler and removeEventHandler
-
you can try with sin and cos. just example: local move local prog = 0 local radius = 200 local x,y= guiGetScreenSize() addEventHandler("onClientRender",root, function() if(move)and(move==1) then prog = prog +6 elseif(move==-1) then prog = prog -6 end dxDrawImage((x/2)+math.sin(math.rad(-prog))*radius,(y/2)+math.cos(math.rad(-prog))*radius, 100, 100,'teste.png',0) end) addEventHandler( "onClientMouseWheel", root, function ( up_down ) move = up_down end )
-
o root seria para ativar esse evento a qualquer jogador que entrasse no server, em vez de root eu poderia tenta faze que fosse ativado apenas para um certo jogador, so que eu teria q defini-lo.
-
addEventHandler anexa um evento a uma função. ex: function Exemplo() outputChatBox("Bem vindo ao server "..getPlayerName(source),source) end addEventHandler("onPlayerJoin",root,Exemplo) Neste exemplo a função Exemplo é ativada sempre quando um jogador entra no server(onPlayerJoin) e os argumentos do evento ("onPlayerJoin") são "compartilhados" com a função. O source de "onPlayerJoin" é o cara que entrou no server. É como se vc fala-se para o script: quando um jogador Entrar no server, execute tal função para ele(nosso caso uma mensagem é enviada para o jogador que entrou) Espere ter ajudado!
-
sim mta usa sql pra salvar contas e outros dados.
-
Comando Mute Restrito para um Grupo no ACL
manawydan replied to _Vodka_'s topic in Programação em Lua
se possivel coloque o que vc tentou aki(script ou acl) -
Esse é o manual lua 5.1 http://www.lua.org/manual/5.1/pt/manual.html Porém pra mta você pode usar as funções e eventos do mta que tem na wiki mta(la tem varios exemplos de cada função e evento) wiki: https://wiki.multitheftauto.com/wiki/Main_Page Os mods normalmente devem estar em um arquivo .lua e um meta.xml para carregar esses lua. exemplo de um pequeno script: script.lua: ob = createObject(500,0,0,0) Com isso crio um objeto nas cordenadas 0,0,0 com o modelo 500 Agora o meta.xml <meta> <script src="script.lua" type="server" /> </meta> pegue esses dois arquivos e coloque em um arquivo .zip ex: meu1script.zip pronto, agora vc ja tem seu script(pode mudar o conteudo do script.lua para o que quiser) e o meta tambem, espero ajudar!
-
nice
-
Comando Mute Restrito para um Grupo no ACL
manawydan replied to _Vodka_'s topic in Programação em Lua
o que voce tentou exatamente? se voce abrir o acl com algum editor de texto vai ter umas linhas com o nome rights que seria o direito de cada grupo. ex: nos direitos moderador tem essa linha mude o true para false e o grupo moderador não vai pode usar o comando mute, voce pode fazer isso para os outros grupos e direitos! Espero ter ajudado! -
nice