Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[Tutorial] Potions (6 potions)


denwc
 Compartilhar

Posts Recomendados

Olá Galera, Procurei No Forum Mas Não Achei Nenhuma Dessas Potions, Criadas Pela CipSoft Na Atual Versão Do Tibia (8.1).

Peguei Da Versão Aries 0.4 (Créditos Equip Aries), Só Estou Passando a Vocês.

 

OBS: Titulo Do Tópico Tá Horrivel

 

Vou Ensinar a Vocês A Criarem Essas 6 Potions:

-Great Health Pot

-Great Mana Pot

-Strong Health Pot

-Strong Mana Pot

-Health Pot

-Mana Pot

 

 

1° Passo - Criar as Actions

 

Você Deverá Ir em Data/Actions/Scripts, Copie Um Arquivo .lua e Apague Tudo Que Tiver Dentro e Ponha Isso Aqui:

 

local storevalue = 2578 -- value where exhausted is saved

local exhausttime = 1 -- 1 seconds exhaustion

local greatHealthPot = 7591

local greatManaPot = 7590

local strongHealthPot = 7588

local strongManaPot = 7589

local healthPot = 7618

local manaPot = 7620

local greatEmptyPot = 7635

local strongEmptyPot = 7634

local emptyPot = 7636

function onUse(cid, item, frompos, item2, topos)

if(exhaust(cid, storevalue, exhausttime) == 1) then

if(item.itemid == healthPot) then

doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE)

if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 150, 210, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then

return FALSE

end

doTransformItem(item.uid, emptyPot)

elseif(item.itemid == manaPot) then

doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE)

if(doTargetCombatMana(0, cid, 70, 110, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then

return FALSE

end

doTransformItem(item.uid, emptyPot)

elseif(item.itemid == strongHealthPot) then

doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE)

if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 320, 420, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then

return FALSE

end

doTransformItem(item.uid, strongEmptyPot)

elseif(item.itemid == strongManaPot) then

doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE)

if(doTargetCombatMana(0, cid, 150, 220, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then

return FALSE

end

doTransformItem(item.uid, strongEmptyPot)

elseif(item.itemid == greatHealthPot) then

doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE)

if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 500, 650, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then

return FALSE

end

doTransformItem(item.uid, greatEmptyPot)

elseif(item.itemid == greatManaPot) then

doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE)

if(doTargetCombatMana(0, cid, 250, 320, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then

return FALSE

end

doTransformItem(item.uid, greatEmptyPot)

end

else

doPlayerSendCancel(cid, "You are exhausted.")

doSendMagicEffect(frompos, 2)

end

 

return TRUE

end

 

 

Onde Você Pode Editar Eles:

 

if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 170, 230, CONST_ME_MAGIC_BLUE)

if(doTargetCombatMana(0, cid, 170, 230, CONST_ME_MAGIC_BLUE)

if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 300, 500, CONST_ME_MAGIC_BLUE)

if(doTargetCombatMana(0, cid, 300, 500, CONST_ME_MAGIC_BLUE)

if(doTargetCombatHealth(0, cid, COMBAT_HEALING, 500, 800, CONST_ME_MAGIC_BLUE)

if(doTargetCombatMana(0, cid, 500, 800, CONST_ME_MAGIC_BLUE)

 

Legenda:

Vermelho: A Onde Está Escrito Em Vermelho é o Quanto de HP Ou Mana Ele Irá Recuperar.

 

 

2º Passo - Ligar as Actions Aos Itens (Potions)

 

Vá Na Pasta Actions/Actions.xml, Abra-o Como Bloco De Notas e Adicione Isso:

 

<!-- Potions -->

<action itemid="7588" script="potions.lua" />

<action itemid="7589" script="potions.lua" />

<action itemid="7590" script="potions.lua" />

<action itemid="7591" script="potions.lua" />

<action itemid="7618" script="potions.lua" />

<action itemid="7620" script="potions.lua" />

 

 

Isso São as Actions De Cada Um Das Novas Potions.

 

E Agora Adicionando Elas No Items.xml Para Aqueles Que Não Tem. Abra o Items.xml, e Adicione Isto:

 

<item id="7620" article="a" name="mana potion">

<attribute key="weight" value="180"/>

<item id="7618" article="a" name="health potion">

<attribute key="weight" value="180"/>

</item>

<item id="7588" article="a" name="strong health potion">

<attribute key="weight" value="200"/>

<attribute key="description" value="This potion can only be consumed by paladins and knights of level 80 or higher."/>

</item>

<item id="7589" article="a" name="strong mana potion">

<attribute key="weight" value="200"/>

<attribute key="description" value="This potion can only be consumed by sorcerers, druids and paladins of level 50 or higher."/>

</item>

<item id="7590" article="a" name="great mana potion">

<attribute key="weight" value="220"/>

<attribute key="description" value="This potion can only be consumed by sorcerers and druids of level 80 or higher."/>

</item>

<item id="7591" article="a" name="great health potion">

<attribute key="weight" value="220"/>

<attribute key="description" value="This potion can only be consumed by sorcerers and druids of level 80 or higher."/>

</item>

 

 

Pronto, Estão Adicionadas No Items.xml

 

As Novas Potions Estão Criadas. Agora Vamos Botar no NPC Para Vender Elas.

 

 

3º Passo - Colocando o npc para vende-las

 

Abra a Pasta Npc/Scripts/Seller.lua (você pode por o npc que quiser, não precisa ser o Seller), Então Abra o NPC Que Deseja Vender e Adicione Isto:

 

local focus = 0

local talk_start = 0

local target = 0

local following = false

local attacking = false

 

function onThingMove(creature, thing, oldpos, oldstackpos)

 

end

 

 

function onCreatureAppear(creature)

 

end

 

 

function onCreatureDisappear(cid, pos)

if focus == cid then

selfSay('Good bye then.')

focus = 0

talk_start = 0

end

end

 

 

function onCreatureTurn(creature)

 

end

 

 

function msgcontains(txt, str)

return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))

end

 

 

function onCreatureSay(cid, type, msg)

msg = string.lower(msg)

 

if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then

selfSay('Hello, ' .. creatureGetName(cid) .. '! I sell ropes (50gp), shovels (20gp), backpacks (10gp), manafluids (100gp), lifefluids (60gp), health pot (150gp), mana pot (100gp), stronghealth pot (300gp), greathealth pot (500gp), greatmana pot (450gp), strongmana pot (250gp), fishing rods (100gp), amulet of loss (10k), and torches (2gp). I buy vials (10gp).')

focus = cid

talk_start = os.clock()

 

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then

selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')

 

elseif focus == cid then

talk_start = os.clock()

 

if msgcontains(msg, 'shovel') then

buy(cid,2554,getCount(msg),20)

elseif msgcontains(msg, 'backpack') then

buy(cid,1988,getCount(msg),10)

elseif msgcontains(msg, 'rope') then

buy(cid,2120,getCount(msg),40)

elseif msgcontains(msg, 'manafluid') or msgcontains(msg, 'mana fluid') then

buyFluidContainer(cid,2006,getCount(msg),100,7)

elseif msgcontains(msg, 'lifefluid') or msgcontains(msg, 'life fluid') then

buyFluidContainer(cid,2006,getCount(msg),60,10)

elseif msgcontains(msg, 'fishing rod') then

buy(cid,2580,getCount(msg),100)

elseif msgcontains(msg, 'torch') then

buy(cid,2050,getCount(msg),2)

elseif msgcontains(msg, 'aol') then

buy(cid,2173,getCount(msg),10000)

elseif msgcontains(msg, 'vial') or msgcontains(msg, 'flask') then

sell(cid,2006,getCount(msg),10)

elseif msgcontains(msg, 'mana pot') or msgcontains(msg, 'mp') then

buy(cid,7620,getCount(msg),100)

elseif msgcontains(msg, 'health pot') or msgcontains(msg, 'hp') then

buy(cid,7618,getCount(msg),150)

elseif msgcontains(msg, 'strongmana pot') or msgcontains(msg, 'smp') then

buy(cid,7589,getCount(msg),250)

elseif msgcontains(msg, 'stronghealth pot') or msgcontains(msg, 'shp') then

buy(cid,7588,getCount(msg),300)

elseif msgcontains(msg, 'greatmana pot') or msgcontains(msg, 'gmp') then

buy(cid,7590,getCount(msg),400)

elseif msgcontains(msg, 'greathealth pot') or msgcontains(msg, 'ghp') then

buy(cid,7591,getCount(msg),500)

 

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Good bye, ' .. creatureGetName(cid) .. '!')

focus = 0

talk_start = 0

end

end

end

 

 

function onCreatureChangeOutfit(creature)

 

end

 

 

function onThink()

if (os.clock() - talk_start) > 30 then

if focus > 0 then

selfSay('Next Please...')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Good bye then.')

focus = 0

end

end

end

 

Pronto Galera, é Isto Espero Que Ajude Muitas Pessoas.

look_by_denwc-d4wlgc0.png

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.