se poder mudar de spoiler para code eu agradeceria, por que tem muita Gente que não consegue abrir os spoilers até
- Fórum
- OTServ
- Recursos
- Scripting
- NPCs, monsters e raids
- Boost System Pokemon ! Traduzido
info
Grupo: Herói
Registrado: 12/03/11
Posts: 1.9k
Reputação: +284
Gênero: Masculino
Char no Tibia: Nokte

Editado Abril 6 por Beeki
info
Grupo: Campones
Registrado: 18/12/11
Posts: 40
Reputação: +1
Char no Tibia: speelbiding circle

Bom cara aki funciono direito,más para que serve o poke continua com a msm força n aumenta em nada.
Msm assim você levou meu rep+,pois o npc é funcional
info
Grupo: Visconde
Registrado: 08/10/11
Posts: 444
Reputação: +71
Gênero: Feminino
Char no Tibia: No Have.

Bom cara aki funciono direito,más para que serve o poke continua com a msm força n aumenta em nada.
Msm assim você levou meu rep+,pois o npc é funcional
Bom na proxima versão eu ajusto para que aumente o Atk e o life do pokemon ainda estou testando pow obrigado !
Beeki me desculpe mas não sei por em CODE então deixarei sem spolier obrigado !
estou trabalhando no system aki e o atk dos pokemon aumentarão em 3% por Boost



info
Grupo: Visconde
Registrado: 08/10/11
Posts: 444
Reputação: +71
Gênero: Feminino
Char no Tibia: No Have.
Oi vim com o novo sistema que peguei do server Wolfvr v2.0 e decedi deixar em segredo e não expor pra ninguém,mais agora que o Erondino esta usando esse sistema no server dele decidi postar também para quem não usa o server do Erondino,esse sistema foi traduzido PT-BR por mim e aprenda a fazer este NPC com apenas 2° passos bem simples e bem
esplicados.
Testado nos server's: Pokemon Dash V6.0 e Pokemon Ex V2.0
Não funciona em: GuuhTorres V4.0 (Testem na V.5 porfavor)
Não foram testados: Pokemon Dash ADV e outros
1°Passo
1-Va na pasta do seu Server/Data/NPC.
2-Copie um NPC apague tudo que tem dentro e renomei-o para DarkBoost.
3-Agora abra o DarkBoost com bloco de notas e copie isto e cole dentro do DarkBoost
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Professor Riberson" script="boostmaker.lua" floorchange="0" speed="0">
<health now="150" max="150"/>
<look type="171" head="97" body="114" legs="114" feet="0"/>
<parameters>
<parameter key="message_greet" value="Olá eu sou Professor Riberson . Eu posso deixar seu pokemons + fortes"/>
<parameter key="message_farewell" value="Good bye!"/>
<parameter key="message_idletimeout" value="Good bye!"/>
<parameter key="message_walkaway" value="Good bye!"/>
</parameters>
</npc>
4-Párabens agora agente ja tem o NPC agora vamos ao 2° Passo
2°Passo
1- Va na pasta do seu Server/Data/Npc/Scripts.
2-Copie um NPC apague tudo que tem dentro e renomei-o para boostmaker.lua
3-Agora abra o bootmaker com bloco de notas e copie isto e cole dentro dele.
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {20}
local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false
function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
local itemPedra = {
-- [TIPO] = {STONE}
["Fire"] = {2283},
["Crystal"] = {2285},
["Enigma"] = {2288},
["Venom"] = {2278},
["Thunder"] = {2279},
["Coccon"] = {2284},
["Leaf"] = {2276},
["Water"] = {2277},
["Heart"] = {2289},
["Darkness"] = {2286},
["Punch"] = {2281},
["Earth"] = {2287},
["Rock"] = {2280},
["Ice"] = {2290},
}
local pedras = {
-- [sTONE_ID] = {pokemons que usam a stone}
--[[Fire]]
[2283] = {names = "Charmander, Charizard, Charmileon, Arcanine, Growlithe, Flareon, Magmar, Ninetales, Rapidash, Vulpix, Ponyta, Moltres, Shiny Arcanine, Shiny Charizard, Shiny Growlithe" ,count = 2},
--[[Crystal]]
[2285] = {names = "Dragonite, Dragonair, Shiny Dragonair, Shiny Dratini, Dratini" ,count = 5},
--[[Enigma]]
[2288] = {names = "Alakazam, Shiny Alakazam, Abra, Kadabra, Hypno, Drowzee, Mr Mime" ,count = 2},
--[[Venom]]
[2278] = {names = "Nidoking, Nidoqueen, Muk, Grimer, Weezing, Koffing, Ekans, Arbok, Golbat, Zubat, Nidoranfemale, Nidoranmale, Nidorina, Nidorino, Venonat, Venomoth, Shiny Venomoth, Shiny Zubat, Shiny Golbat, Shiny Muk, Shiny Grimer, Shiny Venonat" ,count = 2},
--[[Thunder]]
[2279] = {names = "Electabuzz, Raichu, Pikachu, Electrode, Voltorb, Jolteon, Magnetom, Magnemite, Zapdos, Shiny Electabuzz, Shiny Raichu, Shiny Voltorb, Shiny Electrode" ,count = 2},
--[[Coccon]]
[2284] = {names = "Scyther, Parasect, Shiny Parasect, Paras, Caterpie, Weedle, Beedrill, Butterfree, Kakuna, Metapod, Pinsir, Shiny Pinsir, Shiny Scyther, Shiny Beedrill, Shiny Butterfree, Shiny Paras" ,count = 2},
--[[Leaf]]
[2276] = {names = "Venusaur, Bulbasaur, Ivysaur, Tangela, Exeggutor, Weepinbell, Bellsprout, Victreebell, Oddish, Vileplume, Gloom, Exeggcute, Shiny Tangela, Shiny Venusaur, Shiny Oddish" ,count = 3},
--[[Water]]
[2277] = {names = "Magikarp, Blastoise, Squirtle, Wartortle, Vaporeon, Gyarados, Omastar, Omanyte, Lapras, Poliwrath, Poliwag, poliwhirl, Horsea, Seadra, Krabby, Kingler, Psyduck, Golduck, Tentacool, Tentacruel, Slowpoke, Slowbro, Goldeen, Seaking, Staryu, Starmie, Lapras, Shiny Blastoise, Shiny Seadra, Shiny Krabby, Shiny Kingler, Shiny Tentacool, Shiny Tentacruel, Shiny Horsea, Shiny Gyarados, Shiny Magikarp" ,count = 2},
--[[Heart]]
[2289] = {names = "Pidgeot, Pidgeotto, Fearow, Pidgey, Chansey, Clefable, Wiglyttuff, Kangaskhan, Porygon, Raticate, Rattata, Doduo, Dodrio, Spearow, Clefairy, Jigglypuff, Meowth, Persian, Farfetchd, Lickitung, Ditto, Eevee, Snorlax, Shiny Pidgeot, Shiny Rattata, Shiny Raticate" ,count = 2},
--[[Darkness]]
[2286] = {names = "Haunter, Gengar, Gastly, Shiny Abra, Shiny Gengar" ,count = 3},
--[[Punch]]
[2281] = {names = "Hitmonchan, Hitmonlee, Machamp, Shiny Hitmonlee, Shiny Hitmonchan, Mankey, Primeape, Machop, Machoke" ,count = 2},
--[[Earth]]
[2287] = {names = "Diglett, Sandslash, Dugtrio, Sandsherew, Marowak, Cubone, Shiny Marowak" ,count = 2} ,
--[[Rock]]
[2280] = {names = "Geodude, Golem, Rhydon, Graveler, Rhyhorn, Aerodactyl, Kabutops, Kabuto, Onix, Crystal Onix" ,count = 2},
--[[ice]]
[2290] = {names = "Seel, Jynx, Dewgong, Cloyster, Shellder, Articuno, Shiny Jynx" ,count = 2} ,
}
function boostPoke(cid,stones)
local ball = getPlayerSlotItem(cid, CONST_SLOT_FEET) ;
local tmp = pedras[stones]
if tmp ~= nil then
if getPlayerItemCount(cid,stones) < tmp.count then
selfSay("Voce tem que ter "..tmp.count.." Essa stone para boostar seu pokemon. Ate mais!",cid)
return false
end
local pokename = getItemSpecialDescription(ball.uid)
local name = getItemAttribute(ball.uid, "poke"):match("This is (.-)'s pokeball.")
doPlayerRemoveItem(cid,stones,tmp.count)
if(pokename:find("\+(%d+)"))then
local boost = pokename:match("\+(%d+)")
doItemSetAttribute(ball.uid, "description", tostring(pokename:gsub(boost,((tonumber(boost)+1)))))
selfSay("Parabens!! Seu atual pokemon esta com a +"..boost + 1, cid)
else
doItemSetAttribute(ball.uid, "description", pokename.." +1.")
selfSay("Parabens!! Seu atual pokemon esta +1", cid)
end
return true
else
selfSay("Please tell to gamemaster that you receive this message usint boost system!!", cid)
return false
end
end
function onThingMove(creature, thing, oldpos, oldstackpos, item, itemEx)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Good bye then.',cid)
focus = 0
talk_start = 0
talkState[talkUser] = 0
end
end
function onCreatureTurn(creature)
end
function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
function onCreatureSay(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if getDistanceToCreature(cid) > 4 then
return false
end
if talkState[talkUser] ~= 3 then
msg = string.lower(msg)
end
if (msgcontains(msg, 'hi')) then
if #getCreatureSummons(cid) >= 1 then
selfSay('Porfavor bote seu pokemon na pokebola...', cid)
focus = 0
talkState[talkUser] = 1
return false
end
if getPlayerStorageValue(cid, 17001) == 1 then
focus = 0
talkState[talkUser] = 1
selfSay('You Are riding .', cid)
return false
end
if getPlayerStorageValue(cid, 7778) >= 1 then
focus = 0
talkState[talkUser] = 1
selfSay('You are using ability.', cid)
return false
end
fala = "Ola treinador viajante, Quer que eu fortaleça seu pokemon ?"
selfSay(fala,cid)
talkState[talkUser] = 1
elseif ( ( msgcontains(msg,"yes") or (msgcontains(msg,"boost") ) ) and talkState[talkUser] == 1 ) then
for i,x in pairs(itemPedra) do
local poke = pedras[itemPedra[1]]
varPoke = poke.names
item = getPlayerSlotItem(cid, CONST_SLOT_FEET)
local pbPoke = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")
if (msgcontains(string.lower(varPoke), string.lower(pbPoke))) then
qtdStone = pedras[itemPedra[1]].count
setPlayerStorageValue(cid,18059,itemPedra[1])
selfSay("Voce precisa de "..qtdStone.." "..i.." Stones para fortalecer seu pokemon ?",cid)
talkState[talkUser] = 2
end
end
if talkState[talkUser] == 1 then
selfSay("You main pokemon are not supported by the Script YET",cid)
end
elseif ( msgcontains(msg, 'yes') and talkState[talkUser] == 2 ) then
stones = getPlayerStorageValue(cid, 18059)
if not boostPoke(cid,stones) then
talkState[talkUser] = 1
end
elseif(msgcontains(msg, 'no')) then
talkState[talkUser] = 0
selfSay('Ok Bye Then.', cid)
elseif(msgcontains(msg, 'bye')) then
selfSay('Ok Bye Then.', cid)
talkState[talkUser] = 0
end
end
function onCreatureChangeOutfit(creature)
end
4-Parabéns agora você tem o arquivo.lua do seu NPC.
Ajudei REP+ Porfavor e Obrigado
OBJETIVOS:
[ ] 2 PONTOS DE REPUTAÇÃO
[ ] 5 PONTOS DE REPUTAÇÃO
[ ] 7 PONTOS DE REPUTAÇÃO
[ ] 9 PONTOS DE REPUTAÇÃO
Huhuull a caminho ao sucesso
Esqueci de avisar que o boost system e apenas por 2 Stones quase todos os tipos o Tipo dragon custa 5 !
Editado Abril 20 por DarkHeel