Dark-Tibia


En este foro encontras ayuda subre tu Otserver
 
ÍndicePortalFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarse
Navegación
 Portal
 Índice
 Miembros
 Perfil
 FAQ
 Buscar
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
» johnnathann
Sáb Sep 15, 2012 8:48 pm por johnnathannj

»  [8.70] Real Global Map 1.8 + Imagenes + Scans
Lun Jun 11, 2012 4:53 am por Lazcano

» Speedy War [8.60]
Vie Mar 30, 2012 2:12 pm por GOD ALE

»  [Rpg-Pvp][8.60]Kreuus Easy
Jue Mar 29, 2012 11:42 pm por GOD ALE

» [Script] Royal Crossbow!
Jue Mar 29, 2012 11:22 pm por GOD ALE

» Ayuda con el ot server
Jue Mar 29, 2012 10:45 pm por GOD ALE

»  Tiko ot editado 8.60
Jue Mar 29, 2012 10:34 pm por GOD ALE

»  VikiRanch.'[8.60] war v.1.0
Jue Mar 29, 2012 9:54 pm por GOD ALE

» Abrir Puertos De Tibia En El Router Thomson tg585 de telmex
Vie Oct 28, 2011 1:21 pm por panda

Mejores posteadores
Dj Pacos
 
admin heber723
 
God Maracula
 
GoD Mexicansoul
 
God Dunckan
 
Admin Azteca
 
Slayer
 
God Damubu
 
DJ Punk
 
Glonlova
 

Comparte | 
 

 [ACTION] Item Upgrade System

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Dj Pacos
Admin
Admin


100

Mensajes : 169
Puntos : 294
Reputación : 56
Fecha de inscripción : 01/05/2011
Edad : 24

MensajeTema: [ACTION] Item Upgrade System   Lun Mayo 02, 2011 9:32 pm

Este script es muy bueno si se usa con el Slot System.

1. Primero deben agregar estas dos lineas en actions.xml :
Código:

<action itemid="8306" event="script" value="upgrade.lua"/>
<action itemid="8305" event="script" value="upgrade.lua"/>

  • La primera linea es para el item 8306 que es el upgrader normal.
  • La segunda es para el item 8305 que es para el upgrader con un chance adicional.
2. Ahora creen "upgrade.lua" y copien dentro lo siguiente :
Código:

-- &a = weapon attack
-- &d = weapon defense
-- &s = shield defense
-- &p = armor defense
-- # = nivel do item
-- @ = max level
local gain = {
gainArmor='&p+(1)',loseArmor='&p-(1)',
gainShield='&s+#',loseShield='&s-(#+1)',
gainAttack='&a+(1*(#))',loseAttack='&a-(1*(#+1))',
gainDefense='&d+(1*(#))',loseDefense='&d-(1*(#+1))',
chance='(100/math.sqrt((((@/4)+(#*2))/@)*#))',
maxlvl = 17,
blocked_ids = {8881}
}
local it = {
--[itemid] = [percent]
[8306] = 0, -- 0% additional
[8305] = 100, -- 50%
}
if not setItemName then
function setItemName(uid,name)
return doItemSetAttribute(uid,'name',name)
end
function setItemArmor(uid,name)
return doItemSetAttribute(uid,'armor',name)
end
function setItemDefense(uid,name)
return doItemSetAttribute(uid,'defense',name)
end
function setItemAttack(uid,name)
return doItemSetAttribute(uid,'attack',name)
end
function getItemAttack(uid)
return getItemAttribute(uid,'attack')
end
function getItemDefense(uid)
return getItemAttribute(uid,'defense')
end
function getItemArmor(uid)
if type(uid) == 'number' then
return getItemAttribute(uid,'armor')
else
return getItemInfo(uid.itemid).armor
end
end
end

local function isArmor(uid) -- Function by Mock the bear.
if (getItemInfo(uid.itemid).armor ~= 0) and (getItemWeaponType(uid.uid) == 0) then
return true
end
return false
end
local function isWeapon(uid) -- Function by Mock the bear.
uid = uid or 0
local f = getItemWeaponType(uid)
if f == 1 or f == 2 or f == 3 then
return true
end
return false
end
local function isShield(uid) -- Function by Mock the bear.
uid = uid or 0
if getItemWeaponType(uid) == 4 then
return true
end
return false
end
local function isBow(uid) -- Function by Mock the bear.
uid = uid or 0
if getItemWeaponType(uid) == 5 then
return true
end
return false
end
local function getWeaponLevel(uid) -- Function by Mock the bear.
uid = uid or 0
local name = getItemName(uid.uid) or getItemInfo(uid.itemid).name or ''
local lvl = string.match(name,'%s%+(%d+)%s*')
return tonumber(lvl) or 0
end
local function doTransform(s,i) -- Function by Mock the bear.
local c = string.gsub(s,'@',gain.maxlvl)
local c = string.gsub(c,'&a',(getItemAttack(i.uid) ~= 0 and getItemAttack(i.uid) or getItemInfo(i.itemid).attack))
local c = string.gsub(c,'&d',(getItemDefense(i.uid) ~= 0 and getItemDefense(i.uid) or getItemInfo(i.itemid).defense))
local c = string.gsub(c,'&s',(getItemDefense(i.uid) ~= 0 and getItemDefense(i.uid) or getItemInfo(i.itemid).defense))
local c = string.gsub(c,'&p',(getItemArmor(i.uid) ~= 0 and getItemArmor(i.uid) or getItemInfo(i.itemid).armor))
local c = string.gsub(c,'#',getWeaponLevel(i))
local q = assert(loadstring('return '..c))
return math.floor(assert(q()))
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.uid == 0 or item.itemid == 0 then return false end
toPosition.stackpos = 255
if isInArray(gain.blocked_ids, itemEx.itemid)
or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5)
or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx))
or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then
doPlayerSendTextMessage(cid, 24,"You cant refine this item.")
return TRUE
end
if isCreature(itemEx.uid) == TRUE then
return FALSE
end
local level = getWeaponLevel(itemEx)
local chance = doTransform(gain.chance,itemEx)
if level == gain.maxlvl then
doSendMagicEffect(toPosition, 2)
return doPlayerSendTextMessage(cid, 24,"Your item is on max level, you can't upgrade it.")
end
doPlayerSendTextMessage(cid, 24,"Trying refine with "..(chance+it[item.itemid] > 100 and 100 or chance+it[item.itemid]).."% of sucess!")
if chance+it[item.itemid] >= math.random(0,100) then
local nm = getItemName(itemEx.uid)
local slot = nm:match('(%[.+%])') or '' ---If you server use slot system dont change it ^^
slot = slot~='' and ' '..slot or slot
setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1)..slot)
addEvent(doPlayerSendTextMessage,500,cid, 24,"Your item has been upgrated to +"..(level+1)..slot..".")
doSendMagicEffect(toPosition, 12)
if isArmor(itemEx) then
local get = doTransform(gain.gainArmor,itemEx)
setItemArmor(itemEx.uid,get)
elseif isBow(itemEx.uid) then
setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx))
elseif isWeapon(itemEx.uid) then
setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx))
setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx))
elseif isShield(itemEx.uid) then
setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx))
end
else
if level == 0 then
addEvent(doPlayerSendTextMessage,500,cid, 24,"No effect.")
doSendMagicEffect(toPosition, 2)
elseif level > 0 then
local nm = getItemName(itemEx.uid)
local slot = nm:match('(%[.+%])') or '' ---If you server use slot system dont change it ^^
slot = slot~='' and ' '..slot or slot
if level == 1 then
setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..slot)
addEvent(doPlayerSendTextMessage,500,cid, 24,"Your item back to normal.")
else
setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level-1)..slot)
addEvent(doPlayerSendTextMessage,500,cid, 24,"Your item back to +"..(level-1)..slot..".")
end
if isArmor(itemEx) then
setItemArmor(itemEx.uid,doTransform(gain.loseArmor ,itemEx))
elseif isWeapon(itemEx.uid) then
setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx))
setItemDefense(itemEx.uid, doTransform(gain.loseDefense,itemEx))
elseif isBow(itemEx.uid) then
setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx))
elseif isShield(itemEx.uid) then
setItemDefense(itemEx.uid, doTransform(gain.loseShield,itemEx))
end
end
doSendMagicEffect(toPosition, 9)
end
doRemoveItem(item.uid,1)
return true
end

Y eso seria todo.

Aqui les dejo una imagen :




Espero que les sirva

Creditos :

100% Mock
Volver arriba Ir abajo
Ver perfil de usuario
Glonlova
Nivel 1
Nivel 1


25

Mensajes : 12
Puntos : 17
Reputación : 0
Fecha de inscripción : 05/05/2011

MensajeTema: Re: [ACTION] Item Upgrade System   Jue Mayo 05, 2011 4:54 pm

y donde se mete el lua?
Volver arriba Ir abajo
Ver perfil de usuario
Dj Pacos
Admin
Admin


100

Mensajes : 169
Puntos : 294
Reputación : 56
Fecha de inscripción : 01/05/2011
Edad : 24

MensajeTema: Re: [ACTION] Item Upgrade System   Jue Mayo 05, 2011 7:11 pm

dentro de la carpeta data/actions/scripts
Volver arriba Ir abajo
Ver perfil de usuario
God Maracula
Admin
Admin


100

Mensajes : 81
Puntos : 102
Reputación : 4
Fecha de inscripción : 04/05/2011
Edad : 23
Localización : C: Vaguiando

MensajeTema: Re: [ACTION] Item Upgrade System   Jue Mayo 05, 2011 7:56 pm

Buen Aporte we ;P abra qe probarlo

_________________


Maracula Up!
¡Se Que Es Difisil! Pero;


Den +REP

Visitame en mis mejores post
Spoiler:
 

Tansolo Clickea en spoiler y podras verlos!

Mi Ot Server ESTA!
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: [ACTION] Item Upgrade System   Hoy a las 9:23 am

Volver arriba Ir abajo
 
[ACTION] Item Upgrade System
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Foro invadido por "upgrade" y no puedo leer ningún tema
» Upgrade to Pro today bandwidth exceded
» problema con ip tables insmod y kernel upgrade
» El proceso System no está respondiendo
» [Juego] Big Action Mega Fight! Apk v2.0.12 + Data Full

Permisos de este foro:No puedes responder a temas en este foro.
Dark-Tibia :: Scripts-
Cambiar a: