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 thiagozika157

      Olá Xtibianos estou trazendo um novo Update do Real Server que eu sempre estou modificando corrigindo erros, adicionando novos sistemas


      entre outras coisas bom ae galera esta ae o novo Update com varios erros corrigidos Real Server modificado.



      O que mudou 1.1 Version- 1.2 Version?


      Bom foram feitas muitas modificações.


      Foi Adicionado System de não falar palavrão em que o char é multado por 1º min sem chat.


      (Créditos pelo Script Doidin)


      Foi Removido o System de Kick dos trainers.


      Nova Area de trainers ficou mais agradavel.


      Foi adicionado tubarões nos barcos de carlin.


      Foi removido o maior bug de mapa do servidor o de "calassa".


      Foi removido varios bug's de mapa.


      Foi adicionado uma mini ilha ao lado no Barco vip de carlin.


      Foi adicionado em carlin o NPC de teletransport VIP ao lado do barco de carlin.


      o NPC de teletransport VIP de thais continua no mesmo lugar até a proxima atualização.


      Foi modificadas as Potions estão healando balanceadamente.


      Itens VIP com os no de VIP mesmo exemplo: VIP Sword.


      Foi modificado o tanto que você ganha de exp de um player quando voce o killa para: 0.1 %


      Foi modificado a Config.lua em alguns lugares como mostra o Spoiler abaixo.



      Registre-se para ver spoiler(s).

    • Por Administrador
      Fala galerinha,
      Estava procurando esse script e achei metade aqui no fórum e a outra metade na Web.
      Aprenda abaixo a colocar um lottery system no seu OT.


      Lottery System WEB + LUA

      Dica: No Script .lua acima coloque "Yes" na variável Website.

      Rode esse código no mysql (Aba SQL se você usa phpmyadmin)

      CREATE TABLE `lottery` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `item` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `lottery`(`id`, `name`, `item`) VALUES (NULL , 'Nobody', 'nothing');

      Como adicionar o Script .Lua (GlobalEvent) no seu OT:
      http://www.xtibia.com/forum/topic/135003-lottery-system/

      Agora vamos ao Website:

      Crie o arquivo em suaPastaDoWebsite/lottery.php

      <?PHP $lottery = $SQL->query('SELECT id, name, item FROM lottery ORDER BY id DESC LIMIT 1;'); foreach($lottery as $result) { $main_content .= '<center><h1>Lottery</h1></center> <center>Every X hours we will choose one player who will win random item!<br/> Last Winner: <a href="?subtopic=characters&name='.urlencode($result['name']).'">'.$result['name'].'</a> Item: <i>'.$result['item'].'</i> Congratulations!</center>'; } ?>

      Abra suaPastaDoWebsite/layouts/tibiacom/layout.php e adicione:

      case "lottery"; $topic = "Lottery System"; $subtopic = "lottery"; include("lottery.php"); break;


      Créditos: BlackTibia
    • Por Omega
      Informações:
      Tasks adquiridas ou canceladas em NPC As tasks podem ser feitas repetidas vezes, mas somente uma vez por dia e apenas uma de cada vez (tempo configurável) Comando para acompanhar o andamento da task Atualização (31/08/13) > agora é possível ganhar itens a cada vez que a task é terminada Atualização (05/09/13) > VÁRIOS bugs corrigidos e algumas novas opções adicionadas Agora você pode escolher se quer que as tasks sejam feitas por level ou na ordem Recomendo a todos os que baixaram alguma versão anterior que atualizem  
      Códigos:
       
      Tags:
      Em creaturescripts.xml, adicione:
      <event type="kill" name="Tasks" script="taskkill.lua"/> Em talkactions.xml, adicione:
      <talkaction words="!countkills" event="script" value="countkills.lua"/> No arquivo creaturescripts/scripts/login.lua, adicione:
      registerCreatureEvent(cid, "Tasks") Scripts:
      Crie um arquivo tasklib.lua em lib
      Registre-se para ver spoiler(s).

      O que aconteceu:
       - Antes até o lvl 20 o jogador recebia a task dos rotworms, até o lvl 50, a task dos cyclops e daí pra frente, task dos dragons.
       - As tasks iniciais são as mesmas, mas até o lvl 80 é a task dos dragons e daí pra frente, o jogador receberá a task das hydras e serpent spawns.
       
      Considerações finais:
       
      O sistema de pontos apenas adiciona e checa a quantidade de pontos: você deve escolher se quer adicionar alguma coisa a partir deles.
      Testei profundamente e corrigi todos os erros que encontrei, postem se encontrarem mais algum, enviem o log do erro que farei o possível para consertar.
    • Por LuckinhaSan
      Script de sistema de leilão foi feito por VDK, mas foi editado para o sistema de mercado. Testado em tfs 0.4 para tibia 8.6.

      Execute o seguinte código na database -

      Registre-se para ver spoiler(s).


      Em talkactions.xml, adicione a seguinte tag -

      <talkaction words="!offer" event="script" value="marketsystem.lua"/>

      Comandos:

      !offer buy, itemName, Price, Count, yes ou empty -- !offer buy, Dragon Scale Mail, 6000, 1, yes [YES == anonimo ao postar] (Expor ponto de venda) !offer buy, id offer, count -- !offer buy, 5, 1 (Para comprar um numero x de negocio do item) !offer remove, id offer -- !offer remove, 5 (Removendo ofertas) !offer buyitem, itemName, Price, Count, yes or empty -- !offer buyitem, Dragon Scale Mail, 7000, 3 , yes [YES == anonimo, se você não quer ser anonimo não coloque nada] !offer sell, id offer, count -- !offer sell, 7, 3 (venda x quantidade de oferta de compra do item) !offer canceladd, id offer -- !offer canceladd, 10 (Remoção de uma oferta para comprar item) !offer withdraw (Use essa opção para selecionar o dinheiro para os itens vendidos.)

      Créditos - Szmugross
    • Por LuckinhaSan
      Características atuais:
      * Editar jogador(Nível [experiência sets a começar desse nível, ou seja: o nível 8, exp está definido para 4200], nível mágico, as habilidades, o nome do jogador, nível de grupo [jogador, tutor, professor sênior, cm, gm, god] mundo de jogo que eles estão on)
      * Editar conta (nome da conta, senha, pontos premium e permissões page_access)
      * Ver registros talkaction em um modal popup (para check-up em suas pessoas que estão usando os comandos que são registrados)
      * Crash espectador (utiliza um script python que usa pexpect para obter informações dump de memória e deixa cair para os lixões / diretório que é então analisado e exibe os dados)
      * Página de status que vai mostrar de saúde atual de serviços baseados em TCP tomada de conectividade (usa fsockopen)

      Você pode usar esta página para enviar solicitações de recursos, se quiser. Este projeto está atualmente disponível no Github no link abaixo:

      Registre-se para ver link(s).


      Há uma demonstração, basta clicar Registre-se para ver link(s).
      (Sinta-se livre para ajustar os valores. Se você é incapaz de fazer o login, o nome de usuário e senha para as contas devem ser repostos no prazo de 5 minutos).

      Demo Accounts: Admin - Username: demo_admin Password: demodemo Readonly - Username: demo Password: demodemo

      Créditos - xanitex