Jump to content
×
×
  • Create New...
  • 0

Ajuda com BUG


Question

Versão do Servidor: TFS - 1.2
Tipo de Script: npc
Código:
 
local config = {
    
    item = 2150, -- ID do item necessario para rebornar
    count = 0, -- Count do item a cima
    
    life = 150, -- Life ao rebornar
    mana = 150, -- Mana ao rebornar
    level = 1, -- Level ao rebornar
    voc = 2, -- Voc ao rebornar
    storage = 30023
}

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
    local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
    
	if (msgcontains(msg, 'berserker')) or (msgcontains(msg, "yes")) then
	    selfSay('Are you sure you want to be {reborn} as a VOCATION?!', cid)
		return TRUE
		end
	
    if (msgcontains(msg, 'reborn')) then
        if doPlayerRemoveItem(cid, config.item, config.count) then
            setCreatureMaxHealth(cid, config.life)
			doCreatureAddHealth(cid, 150)
            setCreatureMaxMana(cid, config.mana)
			doCreatureAddMana(cid, 50)
            doPlayerSetVocation(cid, config.voc)
            doCreatureSetStorage(cid, config.storage, -1)
            doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(1)))
      		selfSay('Congratulations, you are now a VOCATION!', cid)
			broadcastMessage("The player "..getCreatureName(cid).." became a VOCATION")
			
            return TRUE
        else
            selfSay("Oh! So bring for me {".. config.count .." ".. getItemInfo(config.item).name .."}", cid) 
            return TRUE
        end
    end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Fala pessoal. Seguinte eu uso o sistema de Dodge do Wolf funcionando certinho e uso esse scrip que postei de um NPC que reborna. O que aconteceu foi o seguinte, quando fui testar o npc para uma classe nova com meu GM. Eu mudei de classe, mas quando foi alterar a minha HP pra reborn meu personagem deu Dodge, nao tomou dano e esta completamente bugado. Ele fica imovel sem o nome aparecer. Alguem sabe alguma solução pra isso?

Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
11 horas atrás, koete disse:

O que acontece é que o sistema ta integrado em remover hp, você tem que checar os limites criados no sistema do wolf e coloca-los ai no script do seu npc. Pode postar tambem o script do dodge fazendo um favor?

Claro é esse daqui:

 

local storagedodge = 98798644 -- storage do dodge
local cor = 198 -- cor do texto
local effect = 31 -- id do magic effect 
local msg = "Dodge!" -- msg
 
local dodge = { 
    {min = 1, max = 10, chance = 6}, -- se o dodge tiver entre 1 e 2 tem 10% de chance de da dodge.
    {min = 11, max = 20, chance = 9}, -- vocês pode adicionar mas se quiserem
    {min = 21, max = 40, chance = 12},
    {min = 41, max = 50, chance = 15},
    {min = 51, max = 70, chance = 18},
    {min = 71, max = 90, chance = 21},
    {min = 91, max = 100, chance = 24},
    {min = 101, max = math.huge, chance = 30}
}
 
function onStatsChange(cid, attacker, type, combat, value)
    if not isCreature(cid) then
        return false
    end
    for _, tudo in pairs(dodge) do
        if getPlayerStorageValue(cid, storagedodge) >= tudo.min and getPlayerStorageValue(cid, storagedodge) <= tudo.max then
            local chancex = math.random(1, 100)
            if chancex <= tudo.chance then
                if combat ~= COMBAT_HEALING then
                    doSendMagicEffect(getCreaturePosition(cid), effect)
                    doSendAnimatedText(getCreaturePosition(cid), msg, cor)
                    return false
                end
            end
        end
    end
    return true
end

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now