OTServ
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Dirección Ip
[ACTION] Slot System 3
Conectarse

Recuperar mi contraseña

Buscar
 
 

Resultados por:
 

 


Rechercher Búsqueda avanzada

Mejores posteadores
XxStroksxX (463)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 
~*~[:Đαяќ:]~[:тιβια:]~*~ (366)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 
spoor (83)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 
Dj Pacos (73)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 
God Skit (68)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 
GoD MexicanSoul (40)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 
fuzzy (35)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 
Eddie (31)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 
GOD Chimito (30)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 
conalep1996 (23)
[ACTION] Slot System Vote1111[ACTION] Slot System Vote2111[ACTION] Slot System Vote3111 

Últimos temas
» [???] [Super Naruto OT]
[ACTION] Slot System Icon_m10Lun Jun 08, 2015 12:08 pm por keishmer91

» [ACTION] God/GM da item a un player
[ACTION] Slot System Icon_m10Mar Dic 02, 2014 12:53 pm por hecmanos

» [8.60] Nuevo War Thais By TheRobertxon
[ACTION] Slot System Icon_m10Vie Jun 20, 2014 10:56 am por luismc

» [7.92]Naruto Final Story!
[ACTION] Slot System Icon_m10Dom Mayo 26, 2013 2:40 am por ricardotuck

» [9.1] Fun Server
[ACTION] Slot System Icon_m10Mar Mayo 14, 2013 5:32 pm por skifer

» [9.1] The Forgotten Server v0.2.11pl2 (Mystic Spirit)
[ACTION] Slot System Icon_m10Mar Mayo 14, 2013 5:29 pm por skifer

» New Map 8.60 (Darksystem) By: Turock & Gilio LIsto Arreglado El
[ACTION] Slot System Icon_m10Mar Mayo 07, 2013 5:27 pm por tonyso

» Ocean Clasic Global Map 8.6
[ACTION] Slot System Icon_m10Miér Mayo 01, 2013 11:19 pm por maganiua

» ayuda a abrir puertos
[ACTION] Slot System Icon_m10Lun Abr 29, 2013 5:58 pm por XxStroksxX

» [8.60] Speedy War
[ACTION] Slot System Icon_m10Dom Abr 28, 2013 5:51 pm por Sunnade'Audio

Upload Images
ImagesHack
Scanner
VirusTotal

[ACTION] Slot System

3 participantes

Ir abajo

[ACTION] Slot System Empty [ACTION] Slot System

Mensaje por Dj Pacos Lun Mayo 02, 2011 6:10 am

Este script trata de que puedas abrir un slot para poder colocarle un Upgrade, de preferencia con el Item Upgrade System.

1. Primero agrega esto en actions.xml :

Código:

<action itemid="8300" event="script" value="slot.lua"/>

2. Ahora crea "slot.lua" en actions/script/slot.lua y copia esto :

Código:

---Config
local conf = {
maxSlotCount=2,
ignoredIds={}
}
--End
function choose(...) --- Function by mock.
        local arg = {...}
        return arg[math.random(1,#arg)]
end
if not getItemAttack then
        function getItemAttack(uid)
                return getItemAttribute(uid,'attack')
        end
        function getItemDefense(uid)
                return getItemAttribute(uid,'defense')
        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 and not isItemStackable(uid) then
                return true
        end
        return false
end
function onUse(cid, item, fromPosition, itemEx, toPosition) -- Script by mock the bear (MTB)
        if item.uid == 0 or item.itemid == 0 then return false end
        toPosition.stackpos = 255
        if item.uid == 0 or item.itemid == 0 then return false end
        toPosition.stackpos = 255
    if isInArray(conf.ignoredIds, 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 open a slot on this item.")
        return TRUE
    end
    if isCreature(itemEx.uid) then
        return FALSE
    end
        local nam = getItemName(itemEx.uid)
        function getper()
                local n = 1
                for i=1,10 do
                        n = n+math.random(0,10)
                        if n < 8*i then
                                break
                        end
                end
                return n
        end
        function getSlotCount(nam)
                local c = 0
                for _ in nam:gmatch('%[(.-)%]') do
                        c = c+1
                end
                return c
        end
        if getSlotCount(nam) < conf.maxSlotCount then
                local l = choose('hp','mp','ml','cas','shield','dist')
                local p = getper()
 
                doSendMagicEffect(toPosition,30)
                nam = nam..' ['..l..'.+'..p..'%]'
                doSendAnimatedText(toPosition,l..' '..p..'%',120)
                doItemSetAttribute(itemEx.uid,'name',nam)
                doRemoveItem(item.uid,1)
        else
                doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.")
        end
        return true
end

3. Ahora copia esta linea en creaturescripts.xml

Código:

<event type="login" name="SlotLogin" script="slot.lua"/>

4. Para terminar crea "slot.lua" en creaturescripts/script/slot.lua y copiale lo siguiente :

Código:

local conditionMP,conditionHP,conditionML,conditionCLUB,conditionSHI,conditionDIST,conditionAMP = {},{},{},{},{},{},{}
for i=1,100 do ---Carrega as conditions
        --- HP
        conditionHP[i] = createConditionObject(CONDITION_ATTRIBUTES)
        setConditionParam(conditionHP[i], CONDITION_PARAM_TICKS, -1)
        setConditionParam(conditionHP[i], CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 100+i)
        setConditionParam(conditionHP[i], CONDITION_PARAM_BUFF, true)
        setConditionParam(conditionHP[i], CONDITION_PARAM_SUBID, 50)
        --MANA
        conditionMP[i] = createConditionObject(CONDITION_ATTRIBUTES)
        setConditionParam(conditionMP[i], CONDITION_PARAM_TICKS, -1)
        setConditionParam(conditionMP[i], CONDITION_PARAM_STAT_MAXMANAPERCENT, 100+i)
        setConditionParam(conditionMP[i], CONDITION_PARAM_BUFF, true)
        setConditionParam(conditionMP[i], CONDITION_PARAM_SUBID, 51)
        --Magic level
        conditionML[i] = createConditionObject(CONDITION_ATTRIBUTES)
        setConditionParam(conditionML[i], CONDITION_PARAM_TICKS, -1)
        setConditionParam(conditionML[i], CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 100+i)
        setConditionParam(conditionML[i], CONDITION_PARAM_BUFF, true)
        setConditionParam(conditionML[i], CONDITION_PARAM_SUBID, 52)
        --club axe sword
        conditionCLUB[i] = createConditionObject(CONDITION_ATTRIBUTES)
        setConditionParam(conditionCLUB[i], CONDITION_PARAM_TICKS, -1)
        setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_CLUBPERCENT, 100+i)
        setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_SWORDPERCENT, 100+i)
        setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_AXEPERCENT, 100+i)
        setConditionParam(conditionCLUB[i], CONDITION_PARAM_BUFF, true)
        setConditionParam(conditionCLUB[i], CONDITION_PARAM_SUBID, 53)
        --- shield
        conditionSHI[i] = createConditionObject(CONDITION_ATTRIBUTES)
        setConditionParam(conditionSHI[i], CONDITION_PARAM_TICKS, -1)
        setConditionParam(conditionSHI[i], CONDITION_PARAM_SKILL_SHIELDPERCENT, 100+i)
        setConditionParam(conditionSHI[i], CONDITION_PARAM_BUFF, true)
        setConditionParam(conditionSHI[i], CONDITION_PARAM_SUBID, 54)
        --- dist
        conditionDIST[i] = createConditionObject(CONDITION_ATTRIBUTES)
        setConditionParam(conditionDIST[i], CONDITION_PARAM_TICKS, -1)
        setConditionParam(conditionDIST[i], CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+i)
        setConditionParam(conditionDIST[i], CONDITION_PARAM_BUFF, true)
        setConditionParam(conditionDIST[i], CONDITION_PARAM_SUBID, 55)
end
function getSlotType(n) --By mock the bear
        if not n then
                return false
        end
        if n:match('%[(.+)%]') then
                n = n:match('%[(.+)%]')
                if n == '?' then
                        return 0,n
                else
                        return n:match('(.-)%.([+-])(%d+)%%')
                end
        else
                return false
        end
 
end
local function loadSet(cid)
        local t = {}
        for slot=1,9 do
                t[slot] = ''
 
                local s = getPlayerSlotItem(cid,slot).uid
                if s ~= 0 then
                        t[slot] = getItemName(s)
                end
        end
        return t
end
function isInArray2(arr,var) -- Because in some servers it return 1 and 0 and others true and false
        for i,b in pairs(arr) do
                if var == b then
                        return true
                end
        end
        return false
end
function check2(cid,i)
        if i == 5 or i == 6 then
                if isInArray({'head','necklace','backpack','body','legs','feet'
,'ring'},getItemValue(getPlayerSlotItem(cid,i).itemid,'slotType') or '') then
                        return false
                end
        end
        return true
end
function chk(cid,f)
        if not isPlayer(cid) then return end
        local t = loadSet(cid)
        for i=1,#f do
                if f[i] ~= t[i] then
                        equip(cid,nil,slot)
                        break
                end
        end
        addEvent(chk,2000,cid,t)
end
items = { ---- Only to get attr: slotType because getItemName dont return it -.-'
        _VERSION='1.0 By mock',
        XML_DIR='data/items/items.xml',
        }
do
        local ia = os.clock()
        io.write('Loading items')
        local i = io.open(items.XML_DIR,'r')
        local u = i:read(-1)
        i:close()
        local u = u:match('<items>(.+)</items>')
        for mi,id,mid,name,data,me in u:gmatch('<(%a-)%s*id%s*=%s*"(%d+)"%s*(.-)%s*name%s*=%s*"(.-)"%s*>(.-)<
/(%a*)>') do
                if mi == 'item' and me == 'item' then
                        local td = {name=name,id=id,type=1}
                        for key,value in data:gmatch('<attribute key="(.-)" value="(.-)"/>') do
                                td[key] = value
                        end
                        for key,value in mid:gmatch('(.-)="(.-)"') do
                                td[key] = value
                        end
                        items[tonumber(id)] = td
 
                        items[name] = td
                end
        end
        for mi,id,mid,name,data in u:gmatch('<(%a-)%s*id%s*=%s*"(%d*)"%s*(.-)%s*name%s*=%s*"(%a+)"%s*/>'
) do
                if mi == 'item' then
                        local td = {name=name,id=id,type=2}
                        for key,value in mid:gmatch('(.-)="(.-)"') do
                                td[key] = value
                        end
                        items[tonumber(id)] = td
                        items[name] = td
                end
        end
        io.write('[done '..os.clock()-ia..']\n')
end
function getItemValue(item,value)
        return items[item] and items[item][value]
end
function equip(cid,item,slot) --By mock the bear
        local HP = getCreatureHealth(cid)
        local MP = getCreatureMana(cid)
        local t = {}
        if item then
                local mm,sinal,qto = getSlotType(getItemName(item.uid))
                t[mm] = tonumber(qto)
        end
        for i=1,9 do -- Not on slot 10 > arrow
                if i ~= slot then
                        if getPlayerSlotItem(cid,i).itemid ~= 0 then
                                local aab = getPlayerSlotItem(cid,i).uid
                                if aab and check2(cid,i) then
                                        for _ in getItemName(aab):gmatch('(%[.-%])') do
                                                local mm,sinal,qto2 = getSlotType(_)
                                                if mm then
                                                        if not t[mm] then
                                                                t[mm] = 0
                                                        end
                                                        t[mm] = t[mm]+tonumber(qto2)
 
                                                        t[mm] = t[mm] > 100 and 100 or t[mm]
                                                end
                                        end
                                end
                        end
                end
        end
        local fu = 0
        local ca = {}
        local s = ''
        for sl,n in pairs(t) do
                fu = fu+1
                s = s..''..n..'% more of '..sl..'\n'
                if sl == 'hp' then
                        doAddCondition(cid,conditionHP[tonumber(n)])
                        doCreatureAddHealth(cid,HP-getCreatureHealth(cid))
                        ca[50] = 1
                        doPlayerSendTutorial(cid,19)
                elseif sl == 'mp' then
                        doAddCondition(cid,conditionMP[tonumber(n)])
                        doCreatureAddMana(cid,HP-getCreatureMana(cid))
                        ca[51] = 1
                        doPlayerSendTutorial(cid,19)
                elseif sl == 'ml' then
                        doAddCondition(cid,conditionML[tonumber(n)])
                        ca[52] = 1
                elseif sl == 'cas' then
                        doAddCondition(cid,conditionCLUB[tonumber(n)])
                        ca[53] = 1
                elseif sl == 'shield' then
                        doAddCondition(cid,conditionSHI[tonumber(n)])
                        ca[54] = 1
                elseif sl == 'dist' then
                        doAddCondition(cid,conditionDIST[tonumber(n)])
                        ca[55] = 1
                end
        end
        if fu > 0 then
                addEvent(doPlayerSendTextMessage,100,cid,24,'You have:\n'..s)
                for i=50,55 do
                        if not ca[i] then
                                doRemoveCondition(cid,CONDITION_ATTRIBUTES,i)
                        end
                end
        else
                for i=50,55 do
                        doRemoveCondition(cid,CONDITION_ATTRIBUTES,i)
                end
        end
        return true
end
function onLogin(cid) ---Script by mock the bear!
        equip(cid,nil,slot)
        addEvent(chk,2000,cid,loadSet(cid)) -- Here we check!
        return TRUE
end

Eso seria todo!

Espero que les sirva Smile

Creditos :

100% Mock


Última edición por Dj Pacos el Lun Mayo 02, 2011 6:46 am, editado 2 veces
Dj Pacos
Dj Pacos

Forero fase Beta
Forero fase Beta

Recopilador
Masculino Mexico Pez Serpiente
Safari
Edad Edad : 35
Mensajes Mensajes : 73
Localización Localización : Thais
Fecha de inscripción Fecha de inscripción : 21/04/2011

Volver arriba Ir abajo

[ACTION] Slot System Empty Re: [ACTION] Slot System

Mensaje por Famos Lun Mayo 02, 2011 6:36 am

graande, gracias por compartir!

ahora te doy rep
Famos
Famos

Curioso
Curioso

VIP
Masculino Peru Géminis Mono
Firefox
Edad Edad : 31
Mensajes Mensajes : 6
Localización Localización : Famous City
Fecha de inscripción Fecha de inscripción : 02/05/2011

Volver arriba Ir abajo

[ACTION] Slot System Empty Re: [ACTION] Slot System

Mensaje por Dj Pacos Lun Mayo 02, 2011 6:48 am

que bueno que te sirva Smile
Dj Pacos
Dj Pacos

Forero fase Beta
Forero fase Beta

Recopilador
Masculino Mexico Pez Serpiente
Safari
Edad Edad : 35
Mensajes Mensajes : 73
Localización Localización : Thais
Fecha de inscripción Fecha de inscripción : 21/04/2011

Volver arriba Ir abajo

[ACTION] Slot System Empty Re: [ACTION] Slot System

Mensaje por Glonlova Miér Mayo 04, 2011 11:56 am

oigan esto sirve para servers 8.7???
Glonlova
Glonlova

Fisgón
Fisgón

+ New User +
Masculino Mexico Capricornio Perro
Chrome
Edad Edad : 29
Mensajes Mensajes : 10
Localización Localización : Mexico
Fecha de inscripción Fecha de inscripción : 02/05/2011

Volver arriba Ir abajo

[ACTION] Slot System Empty Re: [ACTION] Slot System

Mensaje por Dj Pacos Miér Mayo 04, 2011 12:48 pm

asi es. si sirve para esa version
Dj Pacos
Dj Pacos

Forero fase Beta
Forero fase Beta

Recopilador
Masculino Mexico Pez Serpiente
Safari
Edad Edad : 35
Mensajes Mensajes : 73
Localización Localización : Thais
Fecha de inscripción Fecha de inscripción : 21/04/2011

Volver arriba Ir abajo

[ACTION] Slot System Empty Re: [ACTION] Slot System

Mensaje por Glonlova Miér Mayo 04, 2011 12:57 pm

podrias pasarme tu msn y decirme como usarlo xq no puedo usarlo en el server
Glonlova
Glonlova

Fisgón
Fisgón

+ New User +
Masculino Mexico Capricornio Perro
Chrome
Edad Edad : 29
Mensajes Mensajes : 10
Localización Localización : Mexico
Fecha de inscripción Fecha de inscripción : 02/05/2011

Volver arriba Ir abajo

[ACTION] Slot System Empty Re: [ACTION] Slot System

Mensaje por Dj Pacos Miér Mayo 04, 2011 1:01 pm

explica tu problema para poder ayudarte
Dj Pacos
Dj Pacos

Forero fase Beta
Forero fase Beta

Recopilador
Masculino Mexico Pez Serpiente
Safari
Edad Edad : 35
Mensajes Mensajes : 73
Localización Localización : Thais
Fecha de inscripción Fecha de inscripción : 21/04/2011

Volver arriba Ir abajo

[ACTION] Slot System Empty Re: [ACTION] Slot System

Mensaje por Glonlova Jue Mayo 05, 2011 5:24 am

quiero saber como usar el slot y el upgrade porfavor Dj
Glonlova
Glonlova

Fisgón
Fisgón

+ New User +
Masculino Mexico Capricornio Perro
Chrome
Edad Edad : 29
Mensajes Mensajes : 10
Localización Localización : Mexico
Fecha de inscripción Fecha de inscripción : 02/05/2011

Volver arriba Ir abajo

[ACTION] Slot System Empty Re: [ACTION] Slot System

Mensaje por Dj Pacos Vie Mayo 06, 2011 11:55 am

ya te explique como usarlo por mp en otro foro. gracias por compartir tu duda Smile
Dj Pacos
Dj Pacos

Forero fase Beta
Forero fase Beta

Recopilador
Masculino Mexico Pez Serpiente
Safari
Edad Edad : 35
Mensajes Mensajes : 73
Localización Localización : Thais
Fecha de inscripción Fecha de inscripción : 21/04/2011

Volver arriba Ir abajo

[ACTION] Slot System Empty Re: [ACTION] Slot System

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.