Muito fods (:
Posta aquelas imgs que tu me mando no msn :B
info
Grupo: Conde
Registrado: 06/09/08
Posts: 544
Reputação: +87
Gênero: Masculino
Char no Tibia: Hallsiny

Muito fods (:
Posta aquelas imgs que tu me mando no msn :B
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Depois faço um video.
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Muito bom, haha, aposto que muita gente vai usar.
Parabéns, abraços.
Fantástico.
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Pronto agora tem um video pra voces verem e intenderem melhor o objetivo do script.
BLOOD HEROES NEVER DIE!!
info
Grupo: Campones
Registrado: 29/05/11
Posts: 30
Reputação: +1

Flooder's Detected...
Um excelente sistema realmente, como estou planejando meu projeto a anos (kkk) e finalmente vou por em prática usarei esse sistema pra um RPG legal que o bolando aqui!
O que me resta falar... Excelente !
Parabéns!!!
info
Grupo: Campones
Registrado: 24/06/11
Posts: 71
Reputação: -1

muito bom matheus parabens gostei :button_ok:
Bye
info
Grupo: Campones
Registrado: 19/05/11
Posts: 4
Reputação: 0
Char no Tibia: Ghanic Stor

Ótimo script, vou instalar no meu ot.
Eu acho bom por o nome do owner da hora de dar look, assim se uma pessoa for roubada ela vai ter chances de saber quem roubou, ou com quem está o item ^^
Editado Junho 29 por Slokzz
info
Grupo: Campones
Registrado: 11/05/09
Posts: 34
Reputação: +11
Char no Tibia: Okuta Sujo

Mais um Mkalo Confusion.
gostei mt cara, vlw
info
Grupo: Campones
Registrado: 03/12/07
Posts: 76
Reputação: +8
Char no Tibia: So Logo Para Mata

esse scrip vai ajuda muita gente principalmente eu ![]()
info
Grupo: Campones
Registrado: 19/05/11
Posts: 4
Reputação: 0
Char no Tibia: Ghanic Stor

Too usando ele no distro TFS 0.4 (0.3.7) r4510 9.70 e na hora de carregar o script o .exe trava e desliga automáticamente.
Alguem sabe me dizer oque pode ser? algum erro no script? Values não suportados pelo meu .exe?
info
Grupo: Barão
Registrado: 07/03/08
Posts: 231
Reputação: +17
Gênero: Masculino

Cara, não teria como ter um script do /i , aonde eu usasse /i magic plate armor, Nick , e quando você ja usasse esse comando o owner do item ja seria o player 'Nick'? É que eu queria usar isso pra eventos aonde eu dou como premio uma Event Armor.. mas eu não queria que os players ficassem emprestando itens um para o outro, como acontece no meu servidor --'
E, não entendi muito bem essa função sua.. eu tenho que só colocar setItemOwner(XXXX, cid) [xxxx = item uid] no script da quest? Só isso mesmo..?Aí o cara abre o baú ,e ele será o owner do item?
Sistema muito bom cara.. vou tentar usar aqui. E, como eu faria pra por o nome do cara do item? Por exemplo: You see a magic plate armor (Owner: Nick). ?
Valeu.
info
Grupo: Campones
Registrado: 16/03/07
Posts: 55
Reputação: -1
Usei o script não deu em nada, seria apenas para item de quest com id no actionid?
PS Não teria um script para apenas jogadores premium account (ou vip) usarem?
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo
Bem o sistema é basicamente isso: Fazer com que so um player possa equipar determinado item.
Eu fiquei em duvida se botava ou nao botava para aparecer o nome do owner no item, por isso fiz uma enquete para esse topico, a que vencer eu faço.
Youtube:
O script esta em mod, voce nao precisa nem mexer no mod.
Crie um arquivo.xml na pasta mods do seu ot e nomeie-o de ownersystem (é extremamente importante que o nome seja esse.) e bote esse script:
<?xml version="1.0" encoding="UTF-8"?> <mod name="OwnerSystem" enabled="yes" author="MatheusMkalo" credits="Cezar (Patterns)"> <config name="OwnerLib"><![CDATA[ function getSlotIds(tag) local file = "mods/ownersystem.xml" local input = assert(io.open(file)) local content = assert(input:read("*a")) local tag = content:match("(<movevent[^>]*slot=[\"']".. tag .."[\"'][^>]*>)") local itemid = tag:match("itemid=[\"'](.-)[\"']") input:close() return itemid:explode(";") end function writeId(tag, id) local file = "mods/ownersystem.xml" local input = assert(io.open(file)) local content = assert(input:read("*a")) local tag = content:match("(<movevent[^>]*slot=[\"']".. tag .."[\"'][^>]*>)") local itemid = tag:match("itemid=[\"'](.-)[\"']") input:close() if(itemid:match(tostring(id))) then return true end if(itemid == "") then itemid = id else itemid = itemid .. ";" .. id end local ntag = tag:gsub("itemid=[\"'](.-)[\"']", "itemid=\"" .. itemid .. "\"") local content = content:gsub(tag, ntag) local output = assert(io.open(file, "w")) output:write(content) output:close() addEvent(doReloadInfo, 1000, 22) end function getItemType(itemid) local slottypes = {"head", "body", "legs", "feet"} local arq = io.open("data/items/items.xml", "r"):read("*all") local attributes = arq:match('<item id="' .. itemid .. '".+name="' .. getItemNameById(itemid) ..'">(.-)</item>') local slot = "" for i,x in pairs(slottypes) do if attributes:find(x) then slot = x break end end if slot == "body" then slot = "armor" end return slot end function isHandedWeapon(itemuid) local typee = getItemWeaponType(itemuid) or 0 if typee >= 1 and typee <= 6 then return TRUE end end function isPlayerOwnerItem(cid, itemuid) return not getItemAttribute(itemuid, "ownerguid") or getItemAttribute(itemuid, "ownerguid") == getPlayerGUID(cid) end function setItemOwner(itemuid, cid) if isHandedWeapon(itemuid) then local equips = getSlotIds("hand") if not table.find(equips, getItemIdByName(getItemName(itemuid))) then writeId("hand", getItemIdByName(getItemName(itemuid))) end doItemSetAttribute(itemuid, "ownerguid", getPlayerGUID(cid)) elseif getItemType(getItemIdByName(getItemName(itemuid))) then local equips = getSlotIds(getItemType(getItemIdByName(getItemName(itemuid)))) if not table.find(equips, getItemIdByName(getItemName(itemuid))) then writeId(getItemType(getItemIdByName(getItemName(itemuid))), getItemIdByName(getItemName(itemuid))) end doItemSetAttribute(itemuid, "ownerguid", getPlayerGUID(cid)) end end ]]></config> <movevent type="Equip" itemid="" slot="head" event="script"><![CDATA[ domodlib("OwnerLib") if not isPlayerOwnerItem(cid, item.uid) then addEvent(doPlayerSendCancel, 1, cid, "You are not the owner of this item.") else return TRUE end ]]></movevent> <movevent type="Equip" itemid="" slot="hand" event="script"><![CDATA[ domodlib("OwnerLib") if not isPlayerOwnerItem(cid, item.uid) then addEvent(doPlayerSendCancel, 1, cid, "You are not the owner of this item.") else return TRUE end ]]></movevent> <movevent type="Equip" itemid="" slot="legs" event="script"><![CDATA[ domodlib("OwnerLib") if not isPlayerOwnerItem(cid, item.uid) then addEvent(doPlayerSendCancel, 1, cid, "You are not the owner of this item.") else return TRUE end ]]></movevent> <movevent type="Equip" itemid="" slot="armor" event="script"><![CDATA[ domodlib("OwnerLib") if not isPlayerOwnerItem(cid, item.uid) then addEvent(doPlayerSendCancel, 1, cid, "You are not the owner of this item.") else return TRUE end ]]></movevent> <movevent type="Equip" itemid="" slot="feet" event="script"><![CDATA[ domodlib("OwnerLib") if not isPlayerOwnerItem(cid, item.uid) then addEvent(doPlayerSendCancel, 1, cid, "You are not the owner of this item.") else return TRUE end ]]></movevent> </mod>Agora vá na pasta libs e abra o arquivo.lua que tem o nome de functions ou 050-functions (pode variar de ot pra ot) e adicione essa funçao:
function setItemOwner(itemuid, cid) domodlib("OwnerLib") return setItemOwner(itemuid, cid) endAgora vá em data/talkactions/scripts e abra o arquivo createitem.lua e mude o script para esse:
É de extrema importancia que voce mude o script do /i, pois o i que vem nos ots contem um bug que arruina com o sistema de owner.
Pronto agora você so precisa juntar a minha funçao setItemOwner(itemuid, cid) com qualquer outro script de quest whatever.
Lembre-se se voce quizer algum script que use esse meu sistema, peça-o na sessao de pedidos de scripts, não aqui.
Editado Junho 12 por MatheusMkalo