Welcome to xTibia - Sua comunidade de Otserv e Tibia

Registre-se para utilizar nossas ferramentas e baixar conteúdos. Quando registrado e logado em sua conta, lhe garantimos uma experiência incrível em nossa comunidade!

Entre para seguir isso  
Seguidores 0
tibiaa4e

[Actions] Novas Ideias Para Potions

Eu estava [s]vagabundando[/s] meditando...

E lembrei das injustiças dos potions...

AI decidi fazer uma potion justa para leveis altos...

Portanto eu apenas modifique a [b]Ultimate Healing Potion[/b], [b]Great Mana Potion[/b] e a [b]Great Spirit Potion[/b]

Deixando elas aumentando por level...

E ainda fiz outra modificação que ao inves de você comprar inumeros potions
Você apenas compra um e ao usar ele gasta o valor...
Assim, se vocês estiver caçando e pegar dinheiro
Vai gastando...
Não prescisando sair do hunt


o script é simples de adicionar
Apenas troque o que há em seu [b]potion.lua[/b] localizado em actions/scripts/liquids por:
[code]--Modified by Ta4e--
--For use money and boost last potions--
local config = {
removeOnUse = "no",
usableOnTarget = "yes", -- can be used on target? (fe. healing friend)
splashable = "no",
realAnimation = "no", -- make text effect visible only for players in range 1x1
healthMultiplier = 1.0,
manaMultiplier = 1.0
}

config.removeOnUse = getBooleanFromString(config.removeOnUse)
config.usableOnTarget = getBooleanFromString(config.usableOnTarget)
config.splashable = getBooleanFromString(config.splashable)
config.realAnimation = getBooleanFromString(config.realAnimation)


local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

function onUse(cid, item, fromPosition, itemEx, toPosition)

calc1 = getPlayerLevel(cid) * 5
calc2 = getPlayerLevel(cid) * 6
calc3 = getPlayerLevel(cid) * 2
calc4 = getPlayerLevel(cid) * 3
calc5 = getPlayerLevel(cid) * 4


local POTIONS = {
[8704] = {empty = 7636, splash = 2, health = {50, 100}, price = 20}, -- small health potion
[7618] = {empty = 7636, splash = 2, health = {100, 200}, price = 45}, -- health potion
[7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins", price = 100}, -- strong health potion
[7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights", price = 190}, -- great health potion
[8473] = {empty = 7635, splash = 2, health = {calc1,calc2}, level = 130, vocations = {4, 8}, vocStr = "knights", price = 310}, -- ultimate health potion

[7620] = {empty = 7636, splash = 7, mana = {70, 130}, price = 50}, -- mana potion
[7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins", price = 80}, -- strong mana potion
[7590] = {empty = 7635, splash = 7, mana = {calc3, calc4}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids", price = 120}, -- great mana potion

[8472] = {empty = 7635, splash = 3, health = {calc3, calc5}, mana = {calc2, calc3}, level = 80, vocations = {3, 7}, vocStr = "paladins", price = 190} -- great spirit potion
}

local potion = POTIONS[item.itemid]
if(not potion) then
return false
end

if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then
if(not config.splashable) then
return false
end

if(toPosition.x == CONTAINER_POSITION) then
toPosition = getThingPos(item.uid)
end

doDecayItem(doCreateItem(2016, potion.splash, toPosition))
return true
end

if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return true
end

if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and
not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then
doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1)
return true
end

if(doPlayerRemoveMoney(cid, potion.price) == TRUE) then

local health = potion.health
if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then
return false
end

local mana = potion.mana
if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then
return false
end

doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
if(not realAnimation) then
doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
else
for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do
if(isPlayer(tid)) then
doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid)
end
end
end

doAddCondition(cid, exhaust)
if(not potion.empty or config.removeOnUse) then
doRemoveItem(item.uid)
return true
end

return true
else
doCreatureSay(itemEx.uid, "You don't have money to use", TALKTYPE_ORANGE_1)
return false
end
end[/code]

Bem espero comentarios

Compartilhar este post


Link para o post
Compartilhar em outros sites
Boa ta4e,funciono certinho aqui no meu ot 8.54.
Mais eu pensei que elas já aumentavam por level,mais se nao aumentavam,agora vai aumentar.

Abraços !

Compartilhar este post


Link para o post
Compartilhar em outros sites
muito bem pensado! só nao vo usa pq é avacalhado, mas ta muito bom.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Ficou muito bom o sistema!
Só temos que tomar cuidado em onde implementar...
Se o server for low rate, uma pots assim pode deixar facil demais ;D

Vlws!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Boa idéia, mas fica muito facil pro cara ^^
Player tem que sofrer um poco pra não fica chato!

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites
[list=1]
[*]ake não funfo -.-' fais um tutorial ensinando com video aula flw
[/list]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0

  • Conteúdo Similar

    • Por Gabrieltxu
      fala ai galerinha estava vendo que varias pessoas estavam querendo um NPC de Egg system para server com level system PDA então achei esse Script para server com level em outro forume irei trazer para vocês xD


      Comesando:
      1) Vai para onde o seu servidor esta e de lá para \ data \ npc
      crie um arquivo XML com o nome de "Vendedor de Ovo"
      Coloque isso dentro da XML do NPC

      Registre-se para ver spoiler(s).



      Pronto é isso Creditos: Não sei não estava marcando no site onde peguei.
    • Por LuckOake
      Oláá galere, de buenas? Trouxe pra vocês mais um sistema que é útil para muitos servers, o Characters Market System (Mercado de Personagens)

      O que é: É um sistema em que você pode colocar um character à venda por um preço que você mesmo define, tudo dentro do jogo!

      Gogo ao script:

      Registre-se para ver spoiler(s).


      Configurando:

      level = 30 -- Level mínimo que o character deve ter para ser vendido
      min_price = 100 -- Preço mínimo de um character
      max_price = 1000000 -- Preço máximo de um character[/CODE]

      [size=5][u][b]Comandos:[/b][/u][/size]
      [CODE]!character buy,nome -- Compra um character
      !character sell,nome,preço -- Vende um character
      !character remove,nome -- Remove um character da lista de vendas, caso ele esteja à venda
      !character list -- Vê a lista de characters disponíveis para a venda[/CODE]

      [size=5][u][b]Observações:[/b][/u][/size]
      [CODE]- O character é transferido para a conta do comprador automaticamente ao ser comprado
      - Funciona em 0.3.6 pra cima
      - Em algumas versões de servers, pode dar erro na list de characters.[/CODE]

      [size=5][u][b]Créditos:[/b][/u][/size]
      [CODE]LuckOake -- Pelo Sistema
      Oneshot -- Pela ajuda com algumas funções
      Demonbholder -- Pela ajuda com algumas funções[/CODE]

      É isso, obrigado.

    • Por Saymon14

      Nome: Advanced Auction House v1.0

      Autor: josejunior23
      Server testado: Real Server 8.60


      Como funciona?

      A ideia é do WoW(World of Warcraft), o Auction-House,
      que você poe lá items, e espera que outro jogador o compre
      caso ninguém compre, ele será removido apos X dias.


      Comandos:


      Registre-se para ver spoiler(s).


      Anexos Download:
      [attachment=5679:Anexos.zip]

      Registre-se para ver attachment(s).
    • Por AnneMotta
      Créditos: AnneMotta & Vodkart(por me ajudar a criar)

      Descrição: Ao andar com o full addon de algumas outfits irá sair um efeito.


      Em creaturescript/script crie um arquivo.lua e renomeie para:

      outfiteffect.lua e dentro coloque:
       
      function onLogin(cid) registerCreatureEvent(cid, "EffectOutLogin") registerCreatureEvent(cid, "OutfitEffects") return doCreatureChangeOutfit(cid,{lookType = getCreatureOutfit(cid).lookType, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = getCreatureOutfit(cid).lookAddons}) end local events = {} function onOutfit(cid, old, current) local effect = { [136] = 3, [128] = 3, -- citizen [270] = 27,[273] = 27, -- jester [156] = 61,[152] = 61, -- assassin [147] = 44,[143] = 44, -- barbarian [148] = 45,[144] = 45, -- druid [157] = 68,[153] = 68, -- beggar [149] = 36,[145] = 36, -- wizard [279] = 17,[278] = 17, -- brotherwood [137] = 39,[129] = 39, -- hunter [141] = 66,[133] = 66, -- summoner [142] = 34,[134] = 34, -- warrior [155] = 31,[151] = 31, -- pirate [158] = 46,[154] = 46, -- shaman [288] = 6,[289] = 6 -- demonhunter } local o,c= effect[old.lookType],effect[current.lookType] if getPlayerAccess(cid) > 2 then return true elseif (not o or not c or old.lookAddons == 3 and o) then stopEvent(events[getPlayerGUID(cid)]) end if current.lookAddons == 3 and c then function WalkEffect(cid, c, pos) if not isCreature(cid) then return LUA_ERROR end if c then frompos = getThingPos(cid) if frompos.x ~= pos.x or frompos.y ~= pos.y or frompos.z ~= pos.z then doSendMagicEffect(frompos, c) end events[getPlayerGUID(cid)] = addEvent(WalkEffect, 100, cid, c, frompos) end return true end WalkEffect(cid, c, {x=0, y=0, z=0}) end return true end
      em creaturescript.xml adicione as tags:
      <event type="login" name="EffectOutLogin" event="script" value="outfiteffect.lua"/> <event type="outfit" name="OutfitEffects" event="script" value="outfiteffect.lua"/>
      Como configurar:

       
      local effect = { [136] = 3, [128] = 3, -- citizen [270] = 27,[273] = 27, -- jester [156] = 61,[152] = 61, -- assassin [147] = 44,[143] = 44, -- barbarian [148] = 45,[144] = 45, -- druid [157] = 68,[153] = 68, -- beggar [149] = 36,[145] = 36, -- wizard [279] = 17,[278] = 17, -- brotherwood [137] = 39,[129] = 39, -- hunter [141] = 66,[133] = 66, -- summoner [142] = 34,[134] = 34, -- warrior [155] = 31,[151] = 31, -- pirate [158] = 46,[154] = 46, -- shaman [288] = 6,[289] = 6 -- demonhunter } Exemplo: [ID DA OUTFIT] = N° DO EFEITO
      rep?
    • Por Alissow
      The Forgotten Server
      Versão: 0.3.6 Patch Level 1 (Crying Damson)


      As modificações podem ser encontradas em doc/CHANGELOG no arquivo aqui baixado ou
      Registre-se para ver link(s).
      .

      Esta é a quinta e ultima versão da famosa Crying Dansom e agora, o lançamento primário do TheForgottenServer, e todos que estiverem usando qualquer versão abaixo desta são aconselhados a atualizar.
      Sexta (Sex) vem com uma quantidade incontável de mudanças, e a principal delas é o protocolo 8.54.
      Se você encontrar qualquer erro, por favor acalme-se e em vez de fazer "spam", apenas reporte-nos ao nosso bug tracker, assim estaremos concertando o mais rápido possivel e incluiremos a correção no próximo patch. Por favor, não nos culpe se você não fizer uma atualização completa do seu diretório de dados, porque é só a sua culpa.

      Patches:


      DLLS:

      Registre-se para ver link(s).


      Source code:
      - Registre-se para ver link(s).

      - Registre-se para ver link(s).


      Download:
      Registre-se para ver link(s).


      Em nome da Equipe de Desenvolvimento TheForgottenServer,
      Elf.