Ir para conteúdo
  • Cadastre-se

Normal [NEW] Sistema Possessed Items


Posts Recomendados

Eai galera do Tibiaking!!

Seguinte, acho que é a primeira vez que colaboro com o conteúdo do fórum, e é usando um script que peguei aqui mesmo um tempo atrás (Não lembro de que post foi se alguém souber e quiser linkar ai em baixo eu edito aqui :)  ) 

O sistema Possessed Items é baseado em usar os dolls para conceder ao player o "poder dos monsters", por exemplo o Vampire Doll, sendo usados como anél daria ao player  +X em todos os skills e +X%  em  HP/MP

( Testado em TFS 0.3.6 e 0.4 )

 

 

Segue o script (renomear como dracula.lua e salvas em data/actions/scripts) : 

Citar

-- >> Config --

local outfit =
{
    -- Girls
    {
        lookType   = 287,
        lookHead   = 114,
        lookBody   = 109,
        lookLegs   = 114,
        lookFeet   = 114,
        lookAddons = 0
    },
    -- Boys
    {
        lookType   = 287,
        lookHead   = 114,
        lookBody   = 109,
        lookLegs   = 114,
        lookFeet   = 114,
        lookAddons = 0
    }
}
 
local coinID          = 2160
local wastingInterval = 1000
local wastingQuantity = 1
local triggerQuantity = 10
local warnOnLowSupply = TRUE
local lowSupplyMargin = 200
local storage         = 50780

-- Config << --
 
local condition1 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST,                20)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING,             20)
setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB,                20)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD,               20)
setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE,                 20)
setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE,            20)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD,              20)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING,             20)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS,          20)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT,  110)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 110)
 
local condition2 = createConditionObject(CONDITION_HASTE)
setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)
setConditionFormula(condition2, 2.5, 0, 3.0, 0)
 
local area = createCombatArea({
    {0, 0, 0, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 1, 0},
    {0, 1, 0, 0, 0, 1, 0},
    {1, 1, 0, 2, 0, 1, 1},
    {0, 1, 0, 0, 0, 1, 0},
    {0, 1, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 0, 0, 0}
})
 
local animCombat =
{
    createCombatObject(),
    createCombatObject()
}
 
local sexyEffect =
{
    CONST_ME_FIREWORK_RED,
    CONST_ME_FIREWORK_RED,
    CONST_ME_MAGIC_RED,
    CONST_ME_MAGIC_RED
}
 
setCombatParam(animCombat[2], COMBAT_PARAM_EFFECT, 13)
setCombatParam(animCombat[2], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatParam(animCombat[1], COMBAT_PARAM_EFFECT, CONST_ME_FIREWORK_RED)
setCombatParam(animCombat[1], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
 
setCombatArea(animCombat[2], area)
setCombatArea(animCombat[1], area)
 
local function StopSuperForm(cid)
    if (getPlayerStorageValue(cid, storage) == 1) then
        setPlayerStorageValue(cid, storage, 0)
        doRemoveCondition(cid, CONDITION_OUTFIT)
        doRemoveCondition(cid, CONDITION_ATTRIBUTES)
        doRemoveCondition(cid, CONDITION_HASTE)
    end
    return TRUE
end
 
local function SuperForm(cid, sexIndex)
    if (isCreature(cid)) then
        if (getPlayerStorageValue(cid, storage) == 1) then
            local goldLeft = getPlayerItemCount(cid, coinID)
            if (goldLeft >= wastingQuantity) then
                local position = getCreaturePosition(cid)
                doPlayerRemoveItem(cid, coinID, wastingQuantity)
                doSendMagicEffect(position, sexyEffect[sexIndex + 2])
                doSendMagicEffect(position, sexyEffect[sexIndex])
                if (goldLeft <= lowSupplyMargin and warnOnLowSupply == TRUE) then
                    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Coins left: " ..(goldLeft - wastingQuantity) .. "!")
                end
                addEvent(SuperForm, wastingInterval, cid, sexIndex)
            else
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Acabou a grana!")
                return StopSuperForm(cid)
            end
        end
    end
end
 
function onEquip(cid, item, slot)
    if (getPlayerItemCount(cid, coinID) > triggerQuantity and getPlayerStorageValue(cid, storage) ~= 1) then
        local sexIndex = getPlayerSex(cid) + 1
        doCombat(cid, animCombat[sexIndex], numberToVariant(cid))
        doSetCreatureOutfit(cid, outfit[sexIndex], -1)
        setPlayerStorageValue(cid, storage, 1)
        doAddCondition(cid, condition1)
        doAddCondition(cid, condition2)
        doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid))
        doPlayerAddMana(cid, getPlayerMaxMana(cid) - getPlayerMana(cid))
        doPlayerRemoveItem(cid, coinID, triggerQuantity)
        SuperForm(cid, sexIndex)
    elseif (getPlayerStorageValue(cid, storage) == 1) then
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You cannot equip this now!")
    else
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You do not have enough coins!")
    end
    return TRUE
end
 
function onDeEquip(cid, item, slot)
    return StopSuperForm(cid)
end

 

 

 

E assim no movements.xml

 

Citar

        <movevent type="Equip" itemid="9019" slot="ring" event="script" value="vampire.lua"/>
        <movevent type="DeEquip" itemid="9019" slot="ring" event="script" value="vampire.lua"/>

 

 

E não se esqueça de mudar no items.xml o item para ring, se nescessário ...

 

 

Citar

    <item id="9019" article="a" name="vampire doll">
    <attribute key="description" value="Possui a alma de um Vampiro, concede ao portador +20 em todas as skills, e aumenta em 10% o HP e o MP. Consome 1 Crystal Coin por segundo" />
    <attribute key="weight" value="940" />
    <attribute key="slotType" value="ring"/>
    </item>

 

 

___________________________________________________________________________________________________________________________________________________________________

 

MOVAM PARA A ÁREA DE MOVEMENTS, JÁ TIREI MINHA DÚVIDA SCRIPT TÁ OK!!!!

Editado por luisrsousa (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 

Em 04/11/2017 em 12:06, esnio12 disse:

Tenta mudar o nome das funções no novo script pra ver se resolve, talvez elas estejam retornando para um só script.

Não entendi parceiro ...

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.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo