Ola cansados de serves inuteis???? que tal 1 legal???
informaçoes:Maximo de 6 PB o resto vai pro DP 100%
Nova Pokedex: 100%
Seu pokemon ganha mais life por level 100%
Sistema de fraqueza 100%
Pokemons passivos 100%
Surf 100%
Fly 100%
Ride 100%
Catch 100%
Stones System (Alguns evolutem com 2 stones, alguns tem chance de evoluir pra shinys) 100%
Move System 100% -- Order Button (Hold position .h)
Teleport,Dive System 100%
Dig Sys, Flash Sys, Blink Sys, Blink 2 para pokemons mais fortes, Rock Smash Sys, Cut Sys -- 100% order
Fishing 100% (balanced)
Loot de pokemons como Svke.
M1~M12 100%
Novos items: Rare candy, exp potion, novos loots. 100%
155 pokemons, raids de pokemons lendarios. 100%
Mais de 20 quests e subindo. 100%
Sistema de promocao, elite trainer e master trainer. 10%(pois irei fazer o npc de vocação pra quando rebornar escolher a vocaçao )
Cassino 100%
Safari zone 100%
Utilitarios, Arvores dropam sementes, tochas acesas com essence of fire. 100%
Ranking, comando !rank. 100%
Mapa, 98%(tem umas areas que se baseião na svke mais não e pareçido e tambem tem hunts faltando mais ireu colocar) svke, houses 100%, spawns 100%, quests 60%.
Box 1-4, 100%.
Fight arena de Fuchsia, 100%.
Pokebags e pokebackpacks, 100%.
Diamonds e small diamonds dropando de bixos. 100%
Npc de anuncio para todo servidor, NPc ajudante. 100%
Poke food, revive, Ultra potion 5x. 100%
Evento inicial, a cada 2 horas pegue um premio no cp (random entre xp potions e rare candys).100%
sistema !reborn(ao chegar level 150 fale !reborn e volte para level 15,e volte pro level 15)
Link de Download: http://www.4shared.com/file/oVk0NVgY/Nova_pasta.html
Link de Download do Catch Full: http://www.4shared.com/file/Olh3uExD/catch.html
mapa: http://www.4shared.com/file/CVvg5lJ2/Mapa.html
olha voce tem que pegar e por o catch full e trocar o mapa e esse serve e do gbziin entao eu quis postar pra voces o creditos tambem e do: http://poketibiatuto...s.blogspot.com/ entrem blogpost muito bom eu apoio pois so muito amigo do dono
------------------------------------------------------------------
Da Reply plis
PS:O serve esta na versão 1.0 esse serve é do gbziin mais eu irei editar ele pra ter o suporte do gbziin e muitas coisas editadas minha e lembrente tem vagas:
script (1)
mapper(1)
Spriter(2)
e hoster(1)
/\isso a cima é pra criar um serve ok?
Boa Noite gente, Hoje eu venho postar um Sistema de Multi Addon System feito para o data do PDA 1.9 pode funcionar em TFS 0.3.6 com pequenas adaptações, como eu havia dito em outra postagem esse Sistema foi feito por meu Amigo Slicer e tem algumas coisas minhas e de alguns amigos, Bom em outra base aqui no fórum, na base vazada havia esse sistema que o amigo que eu passei passou para esse outro colega, enfim eu conversei com meu Amigo Slicer e decidimos por postar, vamos la.
data\actions\scripts crie um arquivo com nome de addon.lua e cole isso dentro:
local addons = {
-- Shiny Alakazam
[13089] = {addon_num = 1, pokemon= "Shiny Alakazam", looktype = 2013, nome = "Adventurer addon", fly = 0, ride = 0, surf = 0},
[13091] = {addon_num = 2, pokemon= "Shiny Alakazam", looktype = 2014, nome = "Grey hat addon", fly = 0, ride = 0, surf = 0},
[13092] = {addon_num = 3, pokemon= "Shiny Alakazam", looktype = 2016, nome = "Ret hat addon", fly = 0, ride = 0, surf = 0},
[13090] = {addon_num = 4, pokemon= "Shiny Alakazam", looktype = 2015, nome = "Purple hat addon", fly = 0, ride = 0, surf = 0},
-- Alakazam
[13093] = {addon_num = 1, pokemon= "Alakazam", looktype = 2009, nome = "Adventurer addon", fly = 0, ride = 0, surf = 0},
[13095] = {addon_num = 2, pokemon= "Alakazam", looktype = 2010, nome = "Grey hat addon", fly = 0, ride = 0, surf = 0},
[13096] = {addon_num = 3, pokemon= "Alakazam", looktype = 2012, nome = "Ret hat addon", fly = 0, ride = 0, surf = 0},
[13094] = {addon_num = 4, pokemon= "Alakazam", looktype = 2011, nome = "Purple hat addon", fly = 0, ride = 0, surf = 0},
-- Shiny Tropius
[13101] = {addon_num = 1, pokemon= "Shiny Tropius", looktype = 2019, nome = "Sorcerer addon", fly = 2065, ride = 0, surf = 0},
[13106] = {addon_num = 2, pokemon= "Shiny Tropius", looktype = 2069, nome = "Desert flower addon", fly = 2070, ride = 0, surf = 0},
-- Shiny Metagross
[13098] = {addon_num = 1, pokemon= "Shiny Metagross", looktype = 2021, nome = "King's crown addon", fly = 0, ride = 2064, surf = 0},
[13099] = {addon_num = 2, pokemon= "Shiny Metagross", looktype = 2020, nome = "Queen's crown addon", fly = 0, ride = 2067, surf = 0},
-- Shiny Clefable
[13097] = {addon_num = 1, pokemon= "Shiny Clefable", looktype = 2068, nome = "Angel addon", fly = 0, ride = 0, surf = 0},
-- Clefable
[13102] = {addon_num = 1, pokemon= "Clefable", looktype = 2025, nome = "Angel addon", fly = 0, ride = 0, surf = 0},
-- Shiny Jynx
[13100] = {addon_num = 1, pokemon= "Shiny Jynx", looktype = 2023, nome = "Witch addon", fly = 0, ride = 0, surf = 0},
-- Metagross
[13103] = {addon_num = 1, pokemon= "Metagross", looktype = 2018, nome = "King's crown addon", fly = 0, ride = 2063, surf = 0},
[13104] = {addon_num = 2, pokemon= "Metagross", looktype = 2017, nome = "Queen's crown addon", fly = 0, ride = 2066, surf = 0},
-- Halloween
[13105] = {addon_num = 1, pokemon= "Elder Charizard", looktype = 2074, nome = "Halloween addon", fly = 2072, ride = 0, surf = 0},
[13107] = {addon_num = 2, pokemon= "Charizard", looktype = 2073, nome = "Halloween addon", fly = 2071, ride = 0, surf = 0},
-- Shiny Blastoise
[13108] = {addon_num = 1, pokemon= "Shiny Blastoise", looktype = 2078, nome = "Purple ninja pack addon", fly = 0, ride = 0, surf = 2083},
[13109] = {addon_num = 2, pokemon= "Shiny Blastoise", looktype = 2076, nome = "Orange ninja pack addon", fly = 0, ride = 0, surf = 2088},
[13110] = {addon_num = 3, pokemon= "Shiny Blastoise", looktype = 2075, nome = "Red ninja pack addon", fly = 0, ride = 0, surf = 2090},
[13111] = {addon_num = 4, pokemon= "Shiny Blastoise", looktype = 2077, nome = "Blue ninja pack addon", fly = 0, ride = 0, surf = 2086},
-- Blastoise
[13112] = {addon_num = 1, pokemon= "Blastoise", looktype = 2082, nome = "Purple ninja pack addon", fly = 0, ride = 0, surf = 2083},
[13113] = {addon_num = 2, pokemon= "Blastoise", looktype = 2080, nome = "Orange ninja pack addon", fly = 0, ride = 0, surf = 2087},
[13114] = {addon_num = 3, pokemon= "Blastoise", looktype = 2079, nome = "Red ninja pack addon", fly = 0, ride = 0, surf = 2089},
[13115] = {addon_num = 4, pokemon= "Blastoise", looktype = 2081, nome = "Blue ninja pack addon", fly = 0, ride = 0, surf = 2085},
-- Shiny Gardevoir
[13320] = {addon_num = 1, pokemon= "Shiny Gardevoir", looktype = 2159, nome = "Witch Apparentice addon", fly = 0, ride = 0, surf = 0},
[13324] = {addon_num = 2, pokemon= "Shiny Gardevoir", looktype = 2164, nome = "Housekeeper addon", fly = 0, ride = 0, surf = 0},
[13337] = {addon_num = 3, pokemon= "Shiny Gardevoir", looktype = 2136, nome = "Bride Saint Join addon", fly = 0, ride = 0, surf = 0},
-- Gardevoir
[13291] = {addon_num = 1, pokemon= "Gardevoir", looktype = 2156, nome = "Witch Apparentice addon", fly = 0, ride = 0, surf = 0},
[13295] = {addon_num = 2, pokemon= "Gardevoir", looktype = 2161, nome = "Housekeeper addon", fly = 0, ride = 0, surf = 0},
[13302] = {addon_num = 3, pokemon= "Gardevoir", looktype = 2198, nome = "Bride Saint Join addon", fly = 0, ride = 0, surf = 0},
-- Shiny Spiritomb
[13322] = {addon_num = 1, pokemon= "Shiny Spiritomb", looktype = 2204, nome = "Green Ballon addon", fly = 0, ride = 0, surf = 0},
[13345] = {addon_num = 2, pokemon= "Shiny Spiritomb", looktype = 2208, nome = "Orange Ballon addon", fly = 0, ride = 0, surf = 0},
[13347] = {addon_num = 3, pokemon= "Shiny Spiritomb", looktype = 2163, nome = "Clown Box addon", fly = 0, ride = 0, surf = 0},
-- Spiritomb
[13293] = {addon_num = 1, pokemon= "Spiritomb", looktype = 2202, nome = "Green Ballon addon", fly = 0, ride = 0, surf = 0},
[13314] = {addon_num = 2, pokemon= "Spiritomb", looktype = 2206, nome = "Orange Ballon addon", fly = 0, ride = 0, surf = 0},
[13316] = {addon_num = 3, pokemon= "Spiritomb", looktype = 2200, nome = "Clown Box addon", fly = 0, ride = 0, surf = 0},
-- Shiny Togekiss
[13321] = {addon_num = 1, pokemon= "Shiny Togekiss", looktype = 2205, nome = "Champion 2016 addon", fly = 2193, ride = 0, surf = 0},
[13339] = {addon_num = 2, pokemon= "Shiny Togekiss", looktype = 2158, nome = "Superman addon", fly = 2155, ride = 0, surf = 0},
[13342] = {addon_num = 3, pokemon= "Shiny Togekiss", looktype = 2201, nome = "Piloto addon", fly = 2203, ride = 0, surf = 0},
-- Togekiss
[13292] = {addon_num = 1, pokemon= "Togekiss", looktype = 2121, nome = "Champion 2016 addon", fly = 2189, ride = 0, surf = 0},
[13303] = {addon_num = 2, pokemon= "Togekiss", looktype = 2158, nome = "Superman addon", fly = 2160, ride = 0, surf = 0},
[13308] = {addon_num = 3, pokemon= "Togekiss", looktype = 2162, nome = "Piloto addon", fly = 2183, ride = 0, surf = 0},
[13309] = {addon_num = 4, pokemon= "Togekiss", looktype = 2179, nome = "Batman addon", fly = 2182, ride = 0, surf = 0},
}
local msgs = {
return_poke = {
[0] = "Por favor volte seu pokémon.",
[1] = "Por favor, vuelve su pokémon.",
[2] = "Please back your pokémon."
},
cant_use = {
[0] = "Desculpa, você não pode usar esse addon nesse pokémon.",
[1] = "Lo sentimos, no se puede utilizar este addon en esse pokémon.",
[2] = "Sorry, you can't use this addon on this pokémon."
}
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if #getCreatureSummons(cid) > 0 then
doPlayerSendCancel(cid, msgs.return_poke[getPlayerLanguage(cid)])
return false
end
local addonNum = addons[item.itemid].addon_num
local addon = addons[item.itemid].looktype
local fly = addons[item.itemid].fly
local ride = addons[item.itemid].ride
local surf = addons[item.itemid].surf
local addonlook = addons[item.itemid].nome
local pb = getPlayerSlotItem(cid, 8).uid
local pk = addons[item.itemid].pokemon
if getItemAttribute(pb, "poke") ~= pk then
doPlayerSendCancel(cid, msgs.cant_use[getPlayerLanguage(cid)])
return false
end
if getItemAttribute(pb, "pokeballusada") == 0 then
doRemoveItem(item.uid, 1)
doSendMagicEffect(fromPosition, 173)
updateAddonAttr(pb, "addon" , addon , addonNum)
updateAddonAttr(pb, "addonfly" , fly , addonNum)
updateAddonAttr(pb, "addonride", ride , addonNum)
updateAddonAttr(pb, "addonsurf", surf , addonNum)
updateAddonAttr(pb, "addonlook", addonlook, addonNum)
if not getItemAttribute(pb, "current_addon") then
doSetItemAttribute(pb, "current_addon", addonNum)
end
return true
end
return false
end
Ainda em data\actions\scripts em goback.lua procure por:
if useOTClient then
doPlayerSendCancel(cid, '12//,show') --alterado v1.7
end
Embaixo cole:
-- ADDON SYSTEM
local pk = getCreatureSummons(cid)[1]
local pb = getPlayerSlotItem(cid, 8).uid
local look = getAddonValue(pb, "addon")
if look > 0 then
doSetCreatureOutfit(pk, {lookType = look}, -1)
end
else
doPlayerSendCancel(cid, "This pokemon is fainted.")
end
Ainda em data\actions\scripts em order.lua procure por:
doRemoveCondition(cid, CONDITION_OUTFIT)
Embaixo cole:
-- ADDON SYSTEM
local look = getAddonValue(item.uid, "addon")
if look > 0 then
doSetCreatureOutfit(pk, {lookType = look}, -1)
end
Ainda em data\actions\scripts em surf.lua procure por:
setPlayerStorageValue(cid, 63215, 1)
Embaixo cole:
-- ADDON SYSTEM
local look = getAddonValue(pb, "addonsurf")
if look > 0 then
doSetCreatureOutfit(cid, {lookType = look}, -1)
else
doSetCreatureOutfit(cid, pokes[getCreatureName(getCreatureSummons(cid)[1])], -1)
end
Agora em data\creaturescripts\scripts em login.lua procure por:
doRemoveCondition(cid, CONDITION_OUTFIT)
Embaixo cole:
-- ADDON SYSTEM
local look = getAddonValue(item.uid, "addonfly")
if look > 0 then
doSetCreatureOutfit(cid, {lookType = look}, -1)
else
doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1)
end
Ainda em data\creaturescripts\scripts em look.lua procure por:
if getItemAttribute(thing.uid, "nick") then
table.insert(str, " [Nickname]: "..getItemAttribute(thing.uid, "nick")..". ")
end
Depois do end coloque embaixo:
if getItemAttribute(thing.uid, "addonlook") then
table.insert(str, "Addons: "..getAddonTotalLook(getItemAttribute(thing.uid, "addonlook")).."\n")
end
Agora em data\lib em order.lua procure por:
setPlayerStorageValue(cid, 54844, speed)
Embaixo cole:
-- ADDON SYSTEM
local pb = getPlayerSlotItem(cid, 8).uid
local look = getAddonValue(pb, "addonfly")
if look > 0 then
doSetCreatureOutfit(cid, {lookType = look}, -1)
else
doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1)
end
Ainda em data\lib crie um arquivo com nome de addon.lua e cole isso dentro:
ADDON_LIMIT = 5 --Limite de addons que um poke pode ter
local ADDON_BASE_STRING = string.rep("0;", ADDON_LIMIT) --String base no formato: "0;0;0;0;0;"
local function checkAddonTableConsistency(tab)
if #tab < ADDON_LIMIT then --proteção para quando muda o ADDON_LIMIT
for i = #tab+1, ADDON_LIMIT do
tab[i] = 0
end
end
end
function updateAddonAttr(uid, attr, value, pos)
local tmp = getItemAttribute(uid, attr) or ADDON_BASE_STRING
tmp = type(tmp) == "string" and tmp or ADDON_BASE_STRING
local t = string.explode(tmp, ";")
checkAddonTableConsistency(t)
if pos > 0 and pos <= ADDON_LIMIT then
t[pos] = value
return doSetItemAttribute(uid, attr, table.concat(t, ";"))
else
return false
end
end
function getAddonValue(uid, attr)
local tmp = getItemAttribute(uid, attr) or ADDON_BASE_STRING
tmp = type(tmp) == "string" and tmp or ADDON_BASE_STRING
tmp = string.explode(tmp, ";")
local pos = getItemAttribute(uid, "current_addon") or 0
checkAddonTableConsistency(tmp)
if pos > 0 and pos <= ADDON_LIMIT then
return tonumber(tmp[pos])
else
return 0
end
end
function getAddonCount(uid)
local tmp = getItemAttribute(uid, "addon")
if type(tmp) ~= "string" then return 0 end
local t = string.explode(tmp, ";")
checkAddonTableConsistency(t)
local count = 0
for _,v in ipairs(t) do
if tonumber(v) ~= 0 then count = count + 1 end
end
return count
end
function getAddonTotalLook(value)
local str = {}
addonValue = 0
for addonList = 1, 5 do
local addons = tostring(value:explode(";")[addonList])
if addons ~= '0' then
addonValue = addonValue + 1
end
end
addonValue = addonValue == 0 and "Não possui addon." or addonValue
return addonValue
end
Agora em data\talkactions/scripts crie um arquivo com nome de addon_talk.lua e cole isso dentro:
function onSay(cid, words, param)
local pb = getPlayerSlotItem(cid, 8).uid
local pos = tonumber(param)
if #getCreatureSummons(cid) >= 1 then
doPlayerSendCancel(cid, "Volte seu pokemon para a pokebola antes de trocar o addon.")
return true
end
if not pos then
doPlayerSendCancel(cid, "O numero do Addon deve ser um valor entre 0 e " ..ADDON_LIMIT.. ".")
return true
end
if pos >= 0 and pos <= ADDON_LIMIT then
doSetItemAttribute(pb, "current_addon", pos)
end
return true
end
Arquivos Completos que eu utilizava, já que o sistema foi feito para a minha base, pode necessitar pequenas adaptações:
data\actions\scripts:
addon.lua
goback.lua
order.lua
surf.lua
data\creaturescripts\scripts:
login.lua
look.lua
data\lib:
addon.lua
order.lua
data\talkactions\scripts:
addon_talk.lua
Bom é isso, Só usarem agora, Não se esqueçam de registrar os scripts no xml e os comandos do talkactions, etc.
Créditos:
@Slicer (Desenvolvimento em Geral)
@DarkWore (Completar Algumas coisas que ficaram pendentes/erros que surgiram)
@Jair Kevick (Completar problema que estava havendo com o Look)
Lembrando Nenhum dos citados oferece suporte ao sistema para erros que surgirem ou qualquer coisa do tipo, até porque ainda existe muita coisa incompleto e que pode ser melhorado nos scripts.
Olá EkzTibianos, tenho o prazer de informar que estarei criando conteúdos para uma nova seção! Aulas de Scripting, e conto muito com a sua presença. Se VOCÊ quer aprender LUA de um jeito fácil e descomplicado, junte-se a nós, e venha ver as aulas que vão lhe ensinar a fazer scripts do nível de quest à sistemas bem desenvolvidos. Com a minha ajuda, e talvez a ajuda de membros e equipe, vamos nos prontificar à criar um espaço de suporte na própria seção de aprendizado, para que suas dúvidas em relação à scripting sejam tiradas rápidamente. As aulas irão explicar conteúdos em etapas, cada aula antecessora será uma base para a sucessora, já tenho rascunho de conteúdos da Aula-[0], que irá trabalhar com a velha e chata lógica de programação (extremamente necessária - porém de um jeito diferente) e alguns termos que serão utilizados posteriormente. Também contaremos com Deveres de casa, para que possam por em prática o que aprenderam na aula atual, esses deveres irão render pontos para quem cumprir com sagacidade, que servirão para outra novidade que ainda virá.
Estou esperando o feedback de vocês ansiosamente neste tópico,
eu vou gostar muito caso tenha uma repercussão boa e que possa ajudar
o máximo de pessoas possíveis...
Manw Eu tenho aq vou upar pra vc, se alguém nao passar primeiro eu coloco o link aq flw, Jaja dou @Edit
@Edit
Ó nao foi eu q botei esse, mais eu tava olhando aq e tem, o spr e dat do Pbro, do Pxg e de outro ai...
http://www.mediafire.com/download/2ocz3cd1jz5ldbt/Dats+e+Sprs.rar
Ta tudo Junto Ai GRATO!
Elas estão ligadas. A Psychic, por exemplo, fica junto com a elétrica.
A elétrica fica um andar abaixo.
Os pokémons elétricos não ficam juntos com os psychic.
Em outras Outlands, acontece quase a mesma coisa.
Pokemon dash advanced editado por slicer, vários bugs retidos.
Projeto encerrado!
Espero que todos tenham gostado desse 1 ano de trabalho duro!
Todas as atualizações:
* Leiam e sigam as instruções do Change Log dentro da pasta do patch!
Downlaods: PDA By Slicer With Level System v2.9 Full -> http://www.mediafire...z2afuu75zblvmvq PDA By Slicer Without Level System v1.9 Full -> http://www.mediafire...td0l0ip9ajprrbf
Obs: Atualizaçoes mais antigas estao dentro do spoiler acima!!
OTAL.DLL: OBS: caso n esteja aparecendo a barra de moves no client normal do tibia, baixem essa .dll e coloquem na pasta onde fica o Pokemon_nibe.exe ... Otal.rar
Patch Correçao! Todos olhem!
Bugs na nova atualizaçao? Olhe o spoiler e veja se arruma o problema! Atualizado: 08/02/13