Comparte
Ver el tema anteriorIr abajoVer el tema siguiente
avatar
Moderador
Mensajes Mensajes : 312
Ver perfil de usuariohttp://www.otsuporter.com/

Frozen Flask (Frasco para congelar) Tibia [Bueno para wars]

el Vie Mayo 18, 2012 4:00 pm
Reputación del mensaje :100% (1 voto)
Hola amigos que tal, hoy vengo a dejarles el famoso "FROZEN FLASK" que sirve para que el jugador que reciba la descarga de freeze, no podra moverse por 10 segundos o ustedes pueden acomodarle el tiempo...Esto podra servir para las wars ! Bueno ahora.. abriremos tu server\data\actions\scripts\liquids\ y abren "ANTIDOTE POTION" y pondremos lo siguiente... (SE CAMBIARA TODO, PERO TODO SERVIRA IGUAL)

Código:


local EMPTY_POTION = 9078

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, true)


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


function onUse(cid, item, fromPosition, itemEx, toPosition)
  if(not isPlayer(itemEx.uid)) then
      doSendMagicEffect(fromPosition,2)
      doPlayerSendCancel(cid,'You may only use this flask on a player.')
      return true
  end

  if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
      doSendMagicEffect(fromPosition,2)
      doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
      return true
  end
 
  if getTilePzInfo(getCreaturePosition(cid)) == true then
  doPlayerSendCancel(cid,'You cannot use this here.')
  return true
  end
 
      if getTilePzInfo(getCreaturePosition(itemEx.uid)) == true then
  doPlayerSendCancel(cid,'Sorry, not possible.')
  return true
  end


  if(not doCombat(cid, combat, numberToVariant(itemEx.uid))) then
      return false
  end
local function allowMove(uid)
if(not isPlayer(itemEx.uid)) then
  return false
end
  doCreatureSetNoMove(itemEx.uid, false)
end
if item.actionid > 101 then
  doAddCondition(cid, exhaust)
  addEvent(allowMove,10000,uid)
  doSendMagicEffect(toPosition,52)
  doCreatureSetNoMove(itemEx.uid, true)
  doSetItemActionId(item.uid, item.actionid-1)
  doSendAnimatedText(toPosition, 'FREEZE!', 29)
  doSendDistanceShoot(fromPosition, toPosition, 36)
  setItemName(item.uid,'flask of frost water\n(Charges: '..(item.actionid-1)-100 ..')')
else
  doAddCondition(cid, exhaust)
  addEvent(allowMove,10000,uid)
  doSendMagicEffect(toPosition,52)
  doCreatureSetNoMove(itemEx.uid, true)
  doSendAnimatedText(toPosition, 'FREEZE!', 29)
  doSendDistanceShoot(fromPosition, toPosition, 36)
  doTransformItem(item.uid, EMPTY_POTION)
  setItemName(item.uid,'frozen flask')
end
  return true
end


Ya quedo nuestro Freeze, ahora falta añadirlos ala lista de tu ot\data\actions\ y abrimos SCRIPTS y ponemos lo siguiente..


Código:
<action itemid="8474" event="script" value="liquids/antidote_potion.lua" allowfaruse="1"/>

Despues nos iremos a tu ot\data\items\ y abrimos el archivo de ITEMS.. y sustituiremos los suigientes items:
(Ejemplo si el items 7000 es una espada, solo lo que pasara cambiara de nombre y tendra una nueva descipcion y especialidades)<< EJEMPLO, nosotros sustituiremos los siguientes items...

Código:
</item>
  <item id="8474" article="a" name="flask of frost water">
      <attribute key="weight" value="200"/>
      <attribute key="description" value="CAUTION: The contents of this flask will freeze anything it comes in contact with."/>
  </item>
  <item id="9078" article="a" name="frozen flask">
      <attribute key="weight" value="200"/>
      <attribute key="description" value="You should bring this to Cameron, he may be able to refill this for you."/>
  /item>


Hasta aqui quedo el frasco y todo, ya se puede usar, ahora vamos a ver como lo vamos a rellenar... Bueno para esto sera nesesario el NPC CAMERON, si no lo tienes aqui esta... Nos iremos al ot\data\npc y haces un archivo llamado "CAMERON" y ponemos lo siguiente

Código:

?xml version="1.0" encoding="UTF-8"?>
<npc name="Cameron" nameDescription="Cameron" script="runes.lua" <walkinterval="2000" floorchange="0" skull="green">
  <health now="100" max="100"/>
  <look type="130" head="39" body="122" legs="125" feet="57" addons="0"/>
  <parameters>
      <parameter key="message_greet" value="Hello |PLAYERNAME|. I sell runes, potions, wands and rods. Just {trade}."/>
      <parameter key="message_decline" value="Is |TOTALCOST| gold coins too much for you? Get out of here!"/>
  /parameters>
/npc>


Si te das cuenta el NPC tiene un script llamado "Runes", y ahi es donde viene incluido el que vende rods, wand, runas, etc. y ahi viene inculido el rellenado de frozen flask, el costo es a su criterio en mi ejemplo fue a 100k, para esto nos iremos a tu ot\data\npc\scripts\ry abriremos un archivo llamado "RUNES" si ya lo tienes solo abra qe borrar todo y poner lo mio de abajo...


Código:

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

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)

shopModule:addBuyableItem({'spellbook'}, 2175, 150, 1, 'spellbook')
shopModule:addBuyableItem({'magic lightwand'}, 2163, 400, 1, 'magic lightwand')

shopModule:addBuyableItem({'small health'}, 8704, 20, 1, 'small health potion')
shopModule:addBuyableItem({'health potion'}, 7618, 45, 1, 'health potion')
shopModule:addBuyableItem({'mana potion'}, 7620, 50, 1, 'mana potion')
shopModule:addBuyableItem({'strong health'}, 7588, 100, 1, 'strong health potion')
shopModule:addBuyableItem({'strong mana'}, 7589, 80, 1, 'strong mana potion')
shopModule:addBuyableItem({'great health'}, 7591, 190, 1, 'great health potion')
shopModule:addBuyableItem({'great mana'}, 7590, 120, 1, 'great mana potion')
shopModule:addBuyableItem({'great spirit'}, 8472, 190, 1, 'great spirit potion')
shopModule:addBuyableItem({'ultimate health'}, 8473, 310, 1, 'ultimate health potion')

shopModule:addSellableItem({'normal potion flask', 'normal flask'}, 7636, 5, 'empty small potion flask')
shopModule:addSellableItem({'strong potion flask', 'strong flask'}, 7634, 10, 'empty strong potion flask')
shopModule:addSellableItem({'great potion flask', 'great flask'}, 7635, 15, 'empty great potion flask')

shopModule:addBuyableItem({'instense healing'}, 2265, 95, 1, 'intense healing rune')
shopModule:addBuyableItem({'ultimate healing'}, 2273, 175, 1, 'ultimate healing rune')
shopModule:addBuyableItem({'magic wall'}, 2293, 350, 3, 'magic wall rune')
shopModule:addBuyableItem({'destroy field'}, 2261, 45, 3, 'destroy field rune')
shopModule:addBuyableItem({'light magic missile'}, 2287, 40, 10, 'light magic missile rune')
shopModule:addBuyableItem({'heavy magic missile'}, 2311, 120, 10, 'heavy magic missile rune')
shopModule:addBuyableItem({'great fireball'}, 2304, 180, 4, 'great fireball rune')
shopModule:addBuyableItem({'explosion'}, 2313, 250, 6, 'explosion rune')
shopModule:addBuyableItem({'sudden death'}, 2268, 350, 3, 'sudden death rune')
shopModule:addBuyableItem({'death arrow'}, 2263, 300, 3, 'death arrow rune')
shopModule:addBuyableItem({'paralyze'}, 2278, 700, 1, 'paralyze rune')
shopModule:addBuyableItem({'animate dead'}, 2316, 375, 1, 'animate dead rune')
shopModule:addBuyableItem({'convince creature'}, 2290, 80, 1, 'convince creature rune')
shopModule:addBuyableItem({'chameleon'}, 2291, 210, 1, 'chameleon rune')
shopModule:addBuyableItem({'desintegrate'}, 2310, 80,  3, 'desintegrate rune')

shopModule:addBuyableItemContainer({'bp slhp'}, 2000, 8704, 400, 1, 'backpack of small health potions')
shopModule:addBuyableItemContainer({'bp hp'}, 2000, 7618, 900, 1, 'backpack of health potions')
shopModule:addBuyableItemContainer({'bp mp'}, 2001, 7620, 1000, 1, 'backpack of mana potions')
shopModule:addBuyableItemContainer({'bp shp'}, 2000, 7588, 2000, 1, 'backpack of strong health potions')
shopModule:addBuyableItemContainer({'bp smp'}, 2001, 7589, 1600, 1, 'backpack of strong mana potions')
shopModule:addBuyableItemContainer({'bp ghp'}, 2000, 7591, 3800, 1, 'backpack of great health potions')
shopModule:addBuyableItemContainer({'bp gmp'}, 2001, 7590, 2400, 1, 'backpack of great mana potions')
shopModule:addBuyableItemContainer({'bp gsp'}, 1999, 8472, 3800, 1, 'backpack of great spirit potions')
shopModule:addBuyableItemContainer({'bp uhp'}, 2000, 8473, 6200, 1, 'backpack of ultimate health potions')
shopModule:addBuyableItemContainer({'bp ap'}, 2002, 8474, 2000, 1, 'backpack of antidote potions')

shopModule:addBuyableItem({'wand of vortex', 'vortex'}, 2190, 500, 1, 'wand of vortex')
shopModule:addBuyableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, 1000, 1, 'wand of dragonbreath')
shopModule:addBuyableItem({'wand of decay', 'decay'}, 2188, 5000, 1, 'wand of decay')
shopModule:addBuyableItem({'wand of draconia', 'draconia'}, 8921, 7500, 1, 'wand of draconia')
shopModule:addBuyableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, 10000, 1, 'wand of cosmic energy')
shopModule:addBuyableItem({'wand of inferno', 'inferno'}, 2187, 15000, 1, 'wand of inferno')
shopModule:addBuyableItem({'wand of starstorm', 'starstorm'}, 8920, 18000, 1, 'wand of starstorm')
shopModule:addBuyableItem({'wand of voodoo', 'voodoo'}, 8922, 22000, 1, 'wand of voodoo')

shopModule:addBuyableItem({'snakebite rod', 'snakebite'}, 2182, 500, 1, 'snakebite rod')
shopModule:addBuyableItem({'moonlight rod', 'moonlight'}, 2186, 1000, 1, 'moonlight rod')
shopModule:addBuyableItem({'necrotic rod', 'necrotic'}, 2185, 5000, 1, 'necrotic rod')
shopModule:addBuyableItem({'northwind rod', 'northwind'}, 8911, 7500, 1, 'northwind rod')
shopModule:addBuyableItem({'terra rod', 'terra'}, 2181, 10000, 1, 'terra rod')
shopModule:addBuyableItem({'hailstorm rod', 'hailstorm'}, 2183, 15000, 1, 'hailstorm rod')
shopModule:addBuyableItem({'springsprout rod', 'springsprout'}, 8912, 18000, 1, 'springsprout rod')
shopModule:addBuyableItem({'underworld rod', 'underworld'}, 8910, 22000, 1, 'underworld rod')

shopModule:addSellableItem({'wand of vortex', 'vortex'}, 2190, 250, 'wand of vortex')
shopModule:addSellableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, 500, 'wand of dragonbreath')
shopModule:addSellableItem({'wand of decay', 'decay'}, 2188, 2500, 'wand of decay')
shopModule:addSellableItem({'wand of draconia', 'draconia'}, 8921, 3750, 'wand of draconia')
shopModule:addSellableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, 5000, 'wand of cosmic energy')
shopModule:addSellableItem({'wand of inferno', 'inferno'},2187, 7500, 'wand of inferno')
shopModule:addSellableItem({'wand of starstorm', 'starstorm'}, 8920, 9000, 'wand of starstorm')
shopModule:addSellableItem({'wand of voodoo', 'voodoo'}, 8922, 11000, 'wand of voodoo')

shopModule:addSellableItem({'snakebite rod', 'snakebite'}, 2182, 250,'snakebite rod')
shopModule:addSellableItem({'moonlight rod', 'moonlight'}, 2186, 500,  'moonlight rod')
shopModule:addSellableItem({'necrotic rod', 'necrotic'}, 2185, 2500, 'necrotic rod')
shopModule:addSellableItem({'northwind rod', 'northwind'}, 8911, 3750, 'northwind rod')
shopModule:addSellableItem({'terra rod', 'terra'}, 2181, 5000, 'terra rod')
shopModule:addSellableItem({'hailstorm rod', 'hailstorm'}, 2183, 7500, 'hailstorm rod')
shopModule:addSellableItem({'springsprout rod', 'springsprout'}, 8912, 9000, 'springsprout rod')
shopModule:addSellableItem({'underworld rod', 'underworld'}, 8910, 11000, 'underworld rod')

local items = {[1] = 2190, [2] = 2182, [5] = 2190, [6] = 2182}
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, 'frozen flask')) then
      if getPlayerItemCount(cid, 9078) >= 1 then
      selfSay('I can refil this flask for 500 gold bars, are you interested?.', cid)
      talkState[talkUser] = 1
      else
      selfSay('You do not have a frozen flask.', cid)
      end
  elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
      if getPlayerMoney(cid) >= 100000 then
        if getPlayerItemCount(cid, 9078) >= 1 then
            rew = doPlayerAddItem(cid,8474,1)
            doPlayerRemoveMoney(cid, 100000)
            doPlayerRemoveItem(cid,9078,1)
            doSetItemActionId(rew, 110)
            setItemName(rew,'flask of frost water\n(Charges: 10)')
            selfSay('Here you are.', cid)
            talkState[talkUser] = 0
        else
            selfSay('You do not have a frozen flask.', cid)
            talkState[talkUser] = 0
        end
      else
        selfSay('You do not have enough money!', cid)
        talkState[talkUser] = 0
      end
  end

CREDITOS:
[GOD]Carlitos Flow 100%



COPY Y PASTE
avatar
Aportador
Mensajes Mensajes : 233
Ver perfil de usuario

Re: Frozen Flask (Frasco para congelar) Tibia [Bueno para wars]

el Vie Mayo 18, 2012 5:28 pm
:3 Buen Script we Razz
Ver el tema anteriorVolver arribaVer el tema siguiente
Permisos de este foro:
No puedes responder a temas en este foro.