Ir para conteúdo
  • Cadastre-se

(Resolvido)Script reward


Ir para solução Resolvido por Dwarfer,

Posts Recomendados

Alguém consegue fazer esse script abaixo funcionar da seguinte maneira... o player que morrer perde 50% do money que esta no char e o player que matar ganha esses 50%.

se alguém puder ajudar desde já agradeço.

 

Spoiler

function onDeath(cid, corpse, killer, frompos)
if isPlayer(killer[1]) then
doPlayerAddItem(killer[1], 2152, 2)
return true,doBroadcastMessage(" O Jogador ".. getCreatureName(cid) .. " (Level: " .. getPlayerLevel(cid) .. ") Foi morto pelo jogador " .. getCreatureName(killer[1]) .. " (Level: " .. getPlayerLevel(killer[1]) .. ")",MESSAGE_STATUS_CONSOLE_RED)
end
end

 

Link para o post
Compartilhar em outros sites
  • Solução
local moneyRate = 50 -- % de dinheiro que será perdida
local sendMoneyMsg = true -- 'true' para enviar mensagem de quanto dinheiro foi perdido, 'false' para não enviar

function onDeath(cid, corpse, killer, frompos)
    if not isPlayer(cid) then return true end
    local check_killer = killer[1]
    local playerKiller = isCreature(check_killer) and (isPlayer(check_killer) and check_killer or getCreatureMaster(check_killer)) or nil
    if not playerKiller then
        return true
    end
    local victimName, victimLevel, killerName, killerLevel = getPlayerName(cid), getPlayerLevel(cid), getPlayerName(playerKiller), getPlayerLevel(playerKiller)
    local victimMoney = getPlayerMoney(cid)
    if victimMoney > 0 then
        local money = math.ceil(.01 * moneyRate * victimMoney)
        if money > 0 then
            doPlayerRemoveMoney(cid, money)
            doPlayerAddMoney(playerKiller, money)
            if sendMoneyMsg then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, string.format("You lost %d gold coin%s due to this death.", money, (money > 1 and "s" or ""))) 
                doPlayerSendTextMessage(playerKiller, MESSAGE_STATUS_CONSOLE_ORANGE, string.format("You earned %d gold coin%s for this kill.", money, (money > 1 and "s" or "")))
            end
        end
    end
    doBroadcastMessage(string.format("O jogador %s (Level: %d) foi morto pelo jogador %s (Level: %d).", victimName, victimLevel, killerName, killerLevel), MESSAGE_STATUS_CONSOLE_RED)
    return true
end

 

Contato:

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo