-
Posts
3,875 -
Joined
-
Days Won
67
Everything posted by DNL291
-
Você vai ter que obter o jogador que têm essa permissão, talvez por elementData. Se o líder não estiver salvo, você pode usar a função setElementData para armazenar o líder da gangue, e usar getElementData para obter o líder.
-
He wants to create a vehicle by ID and not by the name. Shinigami, try this: function createVehicleCommand ( thePlayer, commandName, vehID ) if not getVehicleNameFromModel(vehID) then outputChatBox ( "That is not a valid vehicle ID" ) else local x, y, z = getElementPosition ( thePlayer ) createVehicle ( tonumber(vehID), x + 5, y, z ) outputChatBox ( "A vehicle with model ID of " .. vehID .. " was created!" ) end end addCommandHandler ( "vehicle", createVehicleCommand )
-
Você pode criar os botões dentro do evento onClientResourceStart e ocultá-los ( guiSetVisible(gui-element, false) ), e quando clicarem no botão principal, você usa a função guiSetVisible para mostrar os outros botões.
-
Não costumo mexer em código do gamemode DayZ, mas percebi que você está deletando o item da tabela passando o valor false, não tenho certeza se esse é o erro, mas para excluir o índice da tabela, você deve passar o valor nil.
-
Good job MTA Team! Thanks for the additions & fixes!
-
Leia isto antes de fazer uma pergunta nesta categoria
DNL291 replied to DNL291's topic in Programação em Lua
Post atualizado.- 1 reply
-
- 1
-
Bem, se você quer que seja um objeto específico e numa coordenada específica, use este código: local currentObj = nil function createObject_(player) if not (isElement(currentObj)) then currentObj = createObject (8378, 1586.2099, 1221.5999, 19.76) end end addCommandHandler("aparecer",createObject_) function removeObject ( ) if (currentObj) and isElement(currentObj)then destroyElement(currentObj) currentObj=nil end end addCommandHandler("desaparecer",removeObject)
-
Leia isto: https://wiki.multitheftauto.com/wiki/Server_Manual Aí tem toda informação que você precisa para instalar e configurar o servidor.
-
O código de manawydan deve funcionar. O ID você vai colocar depois do comando. E sobre a condição para evitar que possam ser criados vários objetos, é só fazer isto: local currentObj = nil function createObject_(p,_,ID) if not (isElement(currentObj)) then local x,y,z = getElementPosition(p) currentObj = createObject (ID,x,y,z) end end addCommandHandler("aparecer",createObject_) function removeObject ( ) if (currentObj) and isElement(currentObj)then destroyElement(currentObj) currentObj=nil end end addCommandHandler("desaparecer",removeObject)
-
@MaRcell Parece que você tentou fazer um código qualquer. Na verdade setPlayerTeam só vai ser usado para tirar o jogador da gangue. Use este código: function setTeamSkin(sourcePlayer, commandName, modelID) local pTeam = getPlayerTeam(sourcePlayer) if (modelID and pTeam) then for k, player in ipairs( getPlayersInTeam(pTeam) ) do setElementModel(player, tonumber(modelID)) end end end addCommandHandler("gangskin", setTeamSkin) function kickTeamPlayer(sourcePlayer, commandName, playerName) local thePlayer = getPlayerFromPartialName(playerName) local kickedPlayerTeam = getPlayerTeam(thePlayer) local playerTeam = getPlayerTeam(sourcePlayer) if kickedPlayerTeam and playerTeam and (getTeamName(kickedPlayerTeam) == getTeamName(playerTeam)) then setPlayerTeam(thePlayer, nil) end end addCommandHandler("gangban", kickTeamPlayer) function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end
-
Para evitar que sejam criados vários objetos, só colocar a condição if not (isElement(currentObj)) then na função createObject_ feita pelo manawydan.
-
Vai ser mais fácil pra você usar esse recurso do que criar o script. Aqui você pode aprender a usar todas funções e eventos disponíveis: https://wiki.multitheftauto.com/wiki/Slothman/Slothbot
-
Tente usando o recurso slothbot: https://community.multitheftauto.com/?p=resources ... ils&id=672
-
Is that what you meant? addEvent( "giveWeaponToPlayer", true ) addEventHandler( "giveWeaponToPlayer", root, function (weapon, ammo) if weapon then giveWeapon(client, tonumber(weapon), (tonumber(ammo) or 30), true) end end ) triggerServerEvent("giveWeaponToPlayer", localPlayer, 30, 500)
-
Porque eu passei o ped como fonte do evento e não como um argumento. Tente isto: addEventHandler( "onClientResourceStart", resourceRoot, function() triggerServerEvent("onClientCall", resourceRoot) end ) addEvent("doPedAttack", true) addEventHandler( "doPedAttack", root, function() setPedControlState(source,"fire",true) setPedAimTarget(source, 238.79436, 1863.61792, 20.07644) end ) addEventHandler( "onClientElementDataChange", root, function (dataName, oldValue) if (dataName == "cancelPedDamage") then local ped = getElementData(source, "cancelPedDamage") addEventHandler("onClientPedDamage", ped, cancelEvent) end end )
-
Spam: https://community.multitheftauto.com/ind ... ls&id=9722 DONE
-
Tenta criando o ped no lado server. Tente isto: Client addEventHandler( "onClientResourceStart", resourceRoot, function() triggerServerEvent("onClientCall", resourceRoot) end ) addEvent("doPedAttack", true) addEventHandler( "doPedAttack", root, function (thePed) setPedControlState(thePed,"fire",true) setPedAimTarget(thePed, 238.79436, 1863.61792, 20.07644) end ) addEventHandler( "onClientElementDataChange", root, function (dataName, oldValue) if (dataName == "cancelPedDamage") then local ped = getElementData(source, "cancelPedDamage") addEventHandler("onClientPedDamage", ped, cancelEvent) end end ) Server function createThePed() local Ped1 = createPed(0, -56.77341, 2083.91870, 33.67812) setElementDimension(Ped1,10) setElementData(Ped1, "cancelPedDamage", Ped1) giveWeapon(Ped1, 31, 900, true) triggerClientEvent(root, "doPedAttack", Ped1) end addEvent( "onClientCall", true ) addEventHandler( "onClientCall", root, createThePed)
-
Passei o código para o lado client, assim, as funções que estavam sendo chamadas com triggerClientEvent, precisam serem alteradas para que sejam chamadas diretamente. Client: local pArea = createRadarArea(2163.524169,2031.388061 , 150, 60, 255, 255, 255, 225 ) local pCuboid = createColCuboid (2163.524169,2031.388061 , 10, 197.5, 92, 30 ) local Bscore = 0 local Wscore = 0 function drawRectangleInfo() dxDrawRectangle(60, 320, 250, 175, tocolor(0, 0, 0, 175), true) dxDrawText("Score", 225, 325, 73, 340, tocolor(255, 255, 255, 255), 1.1, "default", "left", "top", false, false, true, false, false) dxDrawText("Mortes:", 70, 365, 73, 340, tocolor(255, 255, 255, 255), 1.1, "default", "left", "top", false, false, true, false, false) dxDrawText("Mortes:", 70, 405, 73, 340, tocolor(255, 255, 255, 255), 1.1, "default", "left", "top", false, false, true, false, false) dxDrawText("TEMPO:", 70, 450, 73, 340, tocolor(255, 255, 255, 255), 1.1, "default", "left", "top", false, false, true, false, false) end addEventHandler( "onClientRender", root, function( ) if pArea1Timer and isTimer( pArea1Timer ) then remaining, _, _ = getTimerDetails(pArea1Timer) remaining = msToTimeStr( remaining ) if remaining then dxDrawText( "Tempo: "..tostring(remaining), 120, 442, 350, 300, tocolor(255, 255, 255, 255), 1.0, "pricedown", "left", "top", false, false, true, false, false) end end end ) addEventHandler( "onClientPlayerWasted", function ( killer ) local kteam = getPlayerTeam(killer) if(getTeamName(kteam) == "Team1") then Wscore = Wscore + 1 elseif(getTeamName(kteam) == "Team2") then Bscore = Bscore + 1 end end ) function onRender() local team = getPlayerTeam(localPlayer) if(getTeamName(team) == "Team1" or getTeamName(team) == "Team2") then dxDrawText("Team1:"..tostring(Bscore), 70, 340, 319, 426, tocolor(255, 0, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) dxDrawText("Team2:"..tostring(Wscore), 70, 380, 319, 426, tocolor(0, 255, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) end end addEventHandler("onClientRender", root, onRender) addEventHandler( 'onClientColShapeHit', pCuboid, function( player ) local pTeam = getPlayerTeam(player) if (getElementType(player) == "player" and pTeam) then local iR, iG, iB = getTeamColor( pTeam ) local rR, gG, bB = getRadarAreaColor( pArea ) if ( iR == rR ) and ( iG == gG ) and ( iB == bB ) then --triggerClientEvent(player, 'friendly', player) else setRadarAreaFlashing( pArea, true ) addEventHandler("onClientRender", root, drawDXRectangle) triggerServerEvent( "sendChatBoxMessage", resourceRoot, "#F08080[GANGZONES] #F8F8FFA gang ".. getTeamName(getPlayerTeam(player)).." esta atacando a gang / no GANGZONE #ff0000 Basaball!") --triggerClientEvent(player, 'time', player) --triggerClientEvent(player, 'countdown', player) pArea1Timer = setTimer( function() setRadarAreaColor (pArea, iR, iG, iB, 999); triggerServerEvent( "giveMoney", player, 4000 ) triggerServerEvent( "sendChatBoxMessage", resourceRoot, "#F08080[TERRITORIO]#F8F8FFA gang ".. getTeamName(getPlayerTeam(player)).." dominou A GANGZONE Basaball Da gang / !") setRadarAreaFlashing( pArea, false ) removeEventHandler("onClientRender", root, drawDXRectangle) end, 5000, 1 ) end else --triggerClientEvent(player, 'group', player) end end ) function msToTimeStr( ms ) if not ms then return '' end local s = math.floor( ms / 1000 ) local seconds = tostring( math.fmod( s, 60 ) ) if #seconds == 1 then seconds = '0' .. seconds end local minutes = tostring( math.floor( s / 60 ) ) if #minutes == 1 then minutes = '0' .. minutes end return minutes .. ':' .. seconds end Server: addEvent("sendChatBoxMessage", true) addEvent("giveMoney", true) addEvent( "sendChatBoxMessage", root, function (message) outputChatBox( tostring( message ), root, 255, 255, 255, true ) end ) addEvent( "giveMoney", root, function (player, value) givePlayerMoney( player, tonumber( value ) ) end )
-
Funções necessárias: addCommandHandler getPlayersInTeam setElementModel setPlayerTeam Se precisar de ajuda, só postar o código que você tentou aqui.
-
Use setAccountData to remove the player's team when you kick him from the team.
-
Edita o recurso playerblips pra não criar o blip do jogador que estiver sendo procurado. Acho que não dá pra deixar o blip quadrado atrás do outro blip.
-
Você vai ter que postar o código do script que salva a munição do jogador, ou outro script que esteja desempenhando essa mesma função, senão ninguém vai poder te ajudar.
-
Coloque isso na linha 21: local blip = createBlipAttachedTo(player,56); E use destroyElement(blip) quando for necessário. E a propósito, não foi possível ver a imagem que você postou.
-
De nada.