Ir para conteúdo

Bruno

Herói
  • Total de itens

    2571
  • Registro em

  • Última visita

  • Dias Ganhos

    27

Tudo que Bruno postou

  1. Olha man, eu tive esse bug no começo e já tinha corrigido o erro... De qualquer forma disponha!
  2. Estranho cara, este é o único lugar onde o efeito é configurado.
  3. Tenta assim: local config = { name = "monster_name", --Nome do monstro. medal = xxx, --ID da medalha. damagePrizes = { --[{minDamage, maxDamage}] = {{itemid, count}, {itemid, count}, {itemid, count}, ...}, [{1, 1000}] = {{9281, 1}, {2160, 50}}, [{1001, 2000}] = {{9281, 1}, {2160, 50}, {2191, 100}, {9282, 1}}, }, storage = 91828 } function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if attacker:isPlayer() and creature:isMonster() and creature:getName() == config.name and isInArray({ORIGIN_MELEE, ORIGIN_RANGED, ORIGIN_SPELL}, origin) and primaryType ~= COMBAT_HEALING then local damage = attacker:getStorageValue(config.storage) < 1 and 0 or attacker:getStorageValue(config.storage) attacker:setStorageValue(config.storage, damage + primaryDamage) end return primaryDamage, primaryType, secondaryDamage, secondaryType end function onDeath(cid, corpse, deathList) for _, pid in pairs(deathList) do local player = Player(pid) local damage, prizes = player:getStorageValue(config.storage), {} for dmg, items in pairs(config.damagePrizes) do if damage >= dmg[1] and damage <= dmg[2] then prizes = items break end end if #prizes > 0 then local prize = prizes[math.random(#prizes)] local item = Item(prize[1]) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Por ajudar matar o "..config.name..", voce recebeu uma medalha e " .. prize[2] .. "x " .. item:getName() .. ".") player:addItem(item, prize[2]) local medalha = Item(config.medal) medalha:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, "Medalha de honra ganhada por " .. player:getName() .. " por ajudar a derrotar o " .. config.name .. " no dia " .. os.date("%D").. ".") player:addItem(medalha, 1) player:setStorageValue(config.storage, -1) end end db.query("UPDATE player_storage SET value = -1 WHERE key = "..config.storage) return true end
  4. Tópico movido para dúvidas / pedidos resolvidos.
  5. @@TiagoBordin1988, Tenta assim: function onSay(cid, words, param) local create_pos = {x=161 , y=44 , z=7, stackpos=1} -- Posição que o teleport será criado (não mecha no stackpos) local tp_pos = {x=160 , y=50 , z=7} -- Posição que o teleport irá levar o jogador local getTp = getThingfromPos(create_pos) if words=="/eventoopen" then doCreateTeleport(1387, tp_pos , create_pos) doSendMagicEffect(create_pos , 10) doPlayerSendTextMessage(cid, 28 , "Portal para o Evento está aberto!") return true elseif words=="/eventoclose" then doRemoveItem(getTp.uid, 1) doPlayerSendTextMessage(cid, 28 , "Portal para o Evento fechou!") return true end end
  6. Bruno

    /mute Apenas no help

    Tenta assim: Se funfar, eu faço a parte do login, para corrigir isso de relogar.
  7. Bruno

    /mute Apenas no help

    Tenta assim: E usa o comando /mute Jogador
  8. Bruno

    Duvidas websites

    1º Host é onde fica o banco de dados nesse caso, se você usa no mesmo servidor, deixa 127.0.0.1. 2º Nos arquivos do layout, dependendo do site que você usa. 3º Por talkactions ou pelo painel administrativo, depende de como tá ou como você quer. 4º Normalmente pelo fórum, na parte de news. 5º Cria um char que você quer deixar como sample e edita em config.php (caso gesior)
  9. Posta seu script padrão da db, para que eu tente ajudá-lo.
  10. Bruno

    /mute Apenas no help

    local CHANNEL_HELP = 7 Está correto com o id do seu channel?
  11. Bruno

    Teste do bbcode

    @@Avuenja, Seria legal agora assim: [.download=Faça o download]link[/download] Com o parâmetro, para que seja possível colocar texto custom... Abraço!
  12. Bruno

    /mute Apenas no help

    Tenta assim: Agora use apenas /mute Player Att.
  13. Está no spoiler o script...eu refiz de uma outra forma, usando o doPlayerSendCancel, que é o padrão para o "Sorry, not possible", "You're full", dentre outros. Segue novamente: local ml = 100 --- QUANTO DE ML VAI PRECISAR local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.0, -30, -50.0, 90) local arr = { {0, 1, 0}, {0, 1, 0}, {0, 1, 0} } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerMagLevel(cid) < ml then doPlayerSendCancel(cid, "Você precisa ter ml " .. ml .. " para usar essa magia!.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false else return doCombat(cid, combat, var) end end
  14. Eu uso a serversoft, e principalmente para quem não possui familiaridade com linux, recomendo. Além da facilidade do OTPanel, a serversoft oferece uma grande qualidade em seus serviços. Você pode clicar na minha assinatura para ir até o site. Abraço!
  15. Man, se a intenção é não causar lag, você pode usar assim:
  16. Bruno

    /mute Apenas no help

    Tente assim (estou no serviço e não posso testar): local CHANNEL_HELP = 7 local storage = 456112 local condition = createConditionObject(CONDITION_MUTED) function onSay(cid, words, param) if words == "/mute" then local mute = string.explode(string.lower(param), ",") local target = getPlayerByName(mute[1]) local tempo = tonumber(mute[2]) if target == false then doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.") return false end if tempo == nil then doPlayerSendCancel(cid, "Informe o tempo em minutos.") return false end setConditionParam(condition, CONDITION_PARAM_SUBID, CHANNEL_HELP) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 60 * 1000) doAddCondition(target, condition) doPlayerSendTextMessage(target, MESSAGE_INFO_DESCR, "Você foi mutado por " .. tempo .. " minutos.") setPlayerStorageValue(target, storage, 1) return false elseif words == "/unmute" then local remove = getPlayerByName(param) if remove == false then doPlayerSendCancel(cid, "Jogador nao encontrado ou nao esta online.") return false end if getPlayerStorageValue(remove, storage) == 1 then doRemoveCondition(remove, CONDITION_MUTED, CONDITIONID_DEFAULT, CHANNEL_HELP) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador " .. getCreatureName(remove) .. ".") setPlayerStorageValue(target, storage, -1) else doPlayerSendCancel(cid, "O jogador " .. getCreatureName(remove) .. " nao esta mutado.") end end return false end
  17. Bruno

    /mute Apenas no help

    Tente assim: "/mute Testando,10" Sem espaço
  18. local ml = 100 --- QUANTO DE ML VAI PRECISAR local storage = 99488 -- STORAGE PARA CONTROLAR O EXAUST local seconds = 60 -- TEMPO EM SEGUNDOS PARA REPETIR A MENSAGEM local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.0, -30, -50.0, 90) local arr = { {0, 1, 0}, {0, 1, 0}, {0, 1, 0} } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) local exhaust = getPlayerStorageValue(cid, storage) local left = exhaust - os.time() if getPlayerMagLevel(cid) < ml then if left > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter ml " .. ml .. " para usar essa magia!.") setPlayerStorageValue(cid, storage, os.time() + seconds) end doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false else return doCombat(cid, combat, var) end end
  19. Não tem nem o que falar, só parabenizar pelo excelente trabalho, está ficando muito foda, preciso de algum mapper assim no meu projeto, mas onde encontrar né? Parabéns @Daniel, seus trabalhos como sempre superam expectativas!!! Att.
  20. Usando a função que já existe no servidor: local ml = 100 --- QUANTO DE ML VAI PRECISAR local storage = 99488 -- STORAGE PARA CONTROLAR O EXAUST local seconds = 60 -- TEMPO EM SEGUNDOS PARA REPETIR A MENSAGEM local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.0, -30, -50.0, 90) local arr = { {0, 1, 0}, {0, 1, 0}, {0, 1, 0} } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerMagLevel(cid) < ml then if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter ml " .. ml .. " para usar essa magia!.") exhaustion.set(cid, storage, seconds) end doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false else return doCombat(cid, combat, var) end end
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...