@Stigal e Slicer@.
Vi teu comentario sobre o tradeCenter, Fiz um rapidim aki pra voces ![]()
Dowload.
Stigal e Slicer e All.@
Fiz uma area de clan como exemplo, irei postar, cada um usa tua criatividade néeah..
Dowload.
Espero ter ajudado vocês.
Abraço.
Por Stigal, 12 de set. de 2012 em Mapas
info
Grupo: Infante
Registrado: 25/01/12
Posts: 1.6k
Reputação: +330

@Stigal e Slicer@.
Vi teu comentario sobre o tradeCenter, Fiz um rapidim aki pra voces ![]()
Dowload.
Stigal e Slicer e All.@
Fiz uma area de clan como exemplo, irei postar, cada um usa tua criatividade néeah..
Dowload.
Espero ter ajudado vocês.
Abraço.
Editado Setembro 14 por StyloMaldoso
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

Vlws, entao fiz a area equipe rocket, quem kiser adicionar:
http://www.xtibia.co...-rocket-10-pda/
Abraço.
Tai o npc q me pedirao:
Giovanni (Boss Equipe Rocket Quest)
Va na pasta NPC e crie o "giovannnirocket.xml" e adicione isso dentro:
<?xml version="1.0" encoding="UTF-8"?> <npc name="[Lider] Giovanni" script="giovannirocket.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2"> <health now="150" max="150"/> <look type="603" head="91" body="114" legs="86" feet="0"/> <parameters> </parameters> </npc>
agora va na pasta NPC > Scripts e crie o "giovannirocket.lua" e adicione isso dentro:
local focus = 0
local max_distance = 8
local talk_start = 0
local conv = 0
local fighting = false
local challenger = 0
local afk_limit_time = 30 -- seconds
local afk_time = 0 -- don't change
local battle_turn = 1 -- don't change
local challenger_turn = 0 -- don't change
local masterpos = {}
local time_to_fight_again = 15 -- seconds, not ms (so 30 * 60 means 30 minutes)
local can_walk = true -- true to make this npc walks randomly
local max_distance = 5 -- maximum distance this npc can get far (sqms)
local walk_delay = 5 -- every seconds make this npc walk
local cooldown_table = {}
local min_pokemons_to_battle = 1-- change to whatever you want
local number_of_pokemons = 0 -- don't change
local prizes = {
[1] = {{itemid = 11640, count = 1}, {itemid = 2160, count = 10}},
local pokemons = {
{name = "Snorlax", level = 100, extralevel = 50, sex = SEX_MALE, nick = "Snorlax", ball = "super"},
{name = "Wigglytuff", level = 100, extralevel = 55, sex = SEX_FEMALE, nick = "Wigg", ball = "normal"},
{name = "Clefable", level = 95, extralevel = 40, sex = SEX_MALE, nick = "Clefa", ball = "great"},
{name = "Chansey", level = 100, extralevel = 50, sex = SEX_MALE, nick = "Chan", ball = "normal"},
{name = "Jigglypuff", level = 100, extralevel = 37, sex = SEX_FEMALE, nick = "Jigg", ball = "ultra"},
{name = "Blissey", level = 100, extralevel = 80, sex = SEX_FEMALE, nick = "Blissey", ball = "ultra"},
}
local function doSummonGymPokemon(npc)
local this = npc
if not isCreature(this) then return true end
if #getCreatureSummons(this) >= 1 or focus == 0 then return true end
local it = pokemons[battle_turn]
doSummonMonster(this, it.name)
local summon = getCreatureSummons(this)[1]
local balleffect = pokeballs["normal"].effect
if it.ball and pokeballs[it.ball] then
balleffect = pokeballs[it.ball].effect
end
doSendMagicEffect(getThingPos(summon), balleffect)
setPlayerStorageValue(summon, 10000, balleffect)
setPlayerStorageValue(summon, 10001, gobackmsgs[math.random(#gobackmsgs)].back:gsub("doka", it.nick ~= "" and it.nick or it.name))
setPlayerStorageValue(summon, 1007, it.nick ~= "" and it.nick or it.name)
doSetMonsterGym(summon, focus)
local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name
setWildPokemonLevel(summon, it.level, getPokemonStatus(it.name, (it.extralevel + it.level)), name, 1.5)
doCreatureSay(this, gobackmsgs[math.random(#gobackmsgs)].go:gsub("doka", getPlayerStorageValue(summon, 1007)), 1)
fighting = true
battle_turn = battle_turn + 1
end
local function doWinDuel(cid, npc)
if not isCreature(cid) then return true end
local this = npc
local x = prizes[number_of_pokemons]
for n = 1, #x do
doPlayerAddItem(cid, x[n].itemid, x[n].count)
end
doCreatureSay(npc, "Parabéns! Você ganhou, aqui é o seu prêmio.", 1)
cooldown_table[getCreatureName(cid)] = os.clock() + time_to_fight_again
return true
end
function onCreatureSay(cid, type, msg)
local msg = string.lower(msg)
if focus == cid then
talk_start = os.clock()
end
if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then
if cooldown_table[getCreatureName(cid)] and cooldown_table[getCreatureName(cid)] - os.clock() > 0 then
selfSay("Hello "..getCreatureName(cid)..", I really enjoyed our last battle!")
conv = 10
else
selfSay("Olá "..getCreatureName(cid)..", Você Quer Batalhar? Vamos Ver Quem é o Melhor, fale Duel para batalha")
conv = 1
end
focus = cid
talk_start = os.clock()
return true
end
if (isDuelMsg(msg) or isConfirmMsg(msg)) and (conv == 1 or conv == 10) and focus == cid then
if conv == 10 then
selfSay("Acabamos de lutar! Espere um tempo para me recuperar da última batalha!")
focus = 0
return true
end
if not hasPokemon(cid) then
selfSay("Você precisa pokemons para a batalha!")
return true
end
selfSay("Ok, me diga com quantos pokemons voçê vai lutar.")
conv = 2
return true
end
if conv == 2 and focus == cid then
if not tonumber(msg) then
selfSay("Diga-me o número de pokemons que que nós vamos batalhar.")
return true
elseif tonumber(msg) > #pokemons then
selfSay("Só tenho "..#pokemons..",de modo que o máximo é de "..#pokemons.."!")
return true
elseif tonumber(msg) < min_pokemons_to_battle or tonumber(msg) < 1 then
selfSay("Tem que ser mais do que "..min_pokemons_to_battle..".")
return true
else
number_of_pokemons = tonumber(msg)
selfSay("Ok, o primeiro que vencer "..number_of_pokemons.." leva-rá a vitória, vamos começar!")
challenger = focus
setPlayerStorageValue(cid, 990, 1)
addEvent(doSummonGymPokemon, 850, getThis())
conv = 3
return true
end
return true
end
if isNegMsg(msg) and conv == 1 and focus == cid then
focus = 0
selfSay("É melhor para você recusar uma batalha contra mim!")
return true
end
if msgcontains(msg, 'bye') and focus == cid then
selfSay('Ja Vai?! Vamos Lutar!')
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
end
local afk_warning = false
local change = false
local walkdelay = 0
function onThink()
if not masterpos.x then
masterpos = getThingPos(getThis())
end
if focus == 0 then
selfTurn(2)
fighting = false
challenger = 0
change = false
challenger_turn = 0
battle_turn = 1
afk_time = 0
afk_warning = false
if #getCreatureSummons(getThis()) >= 1 then
setPlayerStorageValue(getCreatureSummons(getThis())[1], 1006, 0)
doCreatureAddHealth(getCreatureSummons(getThis())[1], -getCreatureMaxHealth(getCreatureSummons(getThis())[1]))
end
walkdelay = walkdelay - 0.5
if walkdelay <= 0 then
walkdelay = walk_delay
local pos = getThingPos(getThis())
local npos = {}
for a = 0, 3 do
if getDistanceBetween(getPosByDir(pos, a), masterpos) <= max_distance and canWalkOnPos(getPosByDir(pos, a), true, false, true, true, false) then
table.insert(npos, getPosByDir(pos, a))
end
end
if npos and #npos > 0 then
doTeleportThing(getThis(), npos[math.random(#npos)])
end
end
return true
else
if not isCreature(focus) then
focus = 0
return true
end
if fighting then
talk_start = os.clock()
if not isCreature(getCreatureTarget(getThis())) then
if #getCreatureSummons(challenger) >= 1 then
selfAttackCreature(getCreatureSummons(challenger)[1])
change = true
afk_time = 0
else
afk_time = afk_time + 0.5
if change then
change = false
challenger_turn = challenger_turn + 1
end
end
end
if afk_time > afk_limit_time then
setPlayerStorageValue(focus, 990, -1)
focus = 0
selfSay("Estava Esperando Você, Volte Quando Estiver Pronto Para Perder!")
return true
end
if not afk_warning and afk_time > afk_limit_time / 2 then
selfSay("Onde está seu pokemon? Vamos lutar!")
afk_warning = true
end
if #getCreatureSummons(getThis()) == 0 then
if battle_turn > number_of_pokemons then
addEvent(doWinDuel, 1000, focus, getThis())
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
addEvent(doSummonGymPokemon, 1000, getThis())
end
if not hasPokemon(challenger) or challenger_turn > 6 or challenger_turn >= number_of_pokemons then
selfSay("Você perdeu! Você Nunka Irá me Derrotar.")
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
end
local npcpos = getThingPos(getThis())
local focpos = getThingPos(focus)
if npcpos.z ~= focpos.z then
setPlayerStorageValue(focus, 990, -1)
focus = 0
selfSay("Corra Quanto Quiser, Você Nunka Vencera.")
return true
end
if (os.clock() - talk_start) > 30 then
selfSay("...!")
setPlayerStorageValue(focus, 990, -1)
focus = 0
end
if getDistanceToCreature(focus) > max_distance then
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
local dir = doRedirectDirection(getDirectionTo(npcpos, focpos))
selfTurn(dir)
end
return true
end
Editado Setembro 14 por Stigal
Testado e aprovado, vlws ae pelo empenho, e tempo gasto em tudo isso Abraço!
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

Testado e aprovado, vlws ae pelo empenho, e tempo gasto em tudo isso Abraço!
Obrigado e estou feliz que tenha gostado...
Que faça bom uso e que te traga muitos players ;3
Abraço.
info
Grupo: Artesão
Registrado: 08/06/12
Posts: 106
Reputação: +5
Char no Tibia: Sera que eu tenho ? ê_ê

Teria como vc passar um tutorial pra fazer quest de pokemons ???? se tiver passa ai !!!
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

Teria como vc passar um tutorial pra fazer quest de pokemons ???? se tiver passa ai !!!
Usuario, veja : http://www.xtibia.com/forum/topic/184739-dvidas-frequentes-sobre-mappingremeres/
Lá atendera suas duvidas e ajudara na questao de "oque fazer" e "como resolver"...
Abraço.
Ate que ficou legal!
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

Ate que ficou legal!
Usuario esse tipo de postagem é considerado FLOOD.
Obrigado por comentar, Cuidado!
Atenciosamente, Stigal.
info
Grupo: Campones
Registrado: 12/02/08
Posts: 95
Reputação: +9
Gênero: Masculino

gostaria de saber como funciona essa golden arena? pois no meu servidor ela não está puxando os players
info
Grupo: Visconde
Registrado: 22/07/12
Posts: 298
Reputação: +28
Char no Tibia: Lendreo

gostaria de saber como funciona essa golden arena? pois no meu servidor ela não está puxando os players
Eles tem que ter 8 coins e se inscrever.. vai da um aviso de quando começar e eles vao pra la ![]()
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

gostaria de saber como funciona essa golden arena? pois no meu servidor ela não está puxando os players
Isso e um script nao tem nada haver com o mapa.
Na versão 1.7 slicer estao usando meu mapa melhorado e com sistemas 100%
info
Grupo: Campones
Registrado: 21/09/12
Posts: 9
Reputação: -5
Char no Tibia: Chuck kabuto

Mapa 100%.Vei muito bom.Posta mais vc e muito bom msm =D.+Rep
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

Mapa 100%.Vei muito bom.Posta mais vc e muito bom msm =D.+Rep
Obrigado, caso queira um mais completo baixe o pda 1.7
nele contem meu mapa melhorado e com servidor quase 100%
Abraço.
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino
Não fiz, esse mapa foi correndo msm brother... Mas ficou bom msm que corrido ;3
Ficaria mt feliz se vc usace na sua proxima atualização <3
@Rafaaw
tenho mts problemas nos meus servidores para me preocupar com minha vulgaridade!
estou aki para AJUDAR e tirar duvidas dos meus trabalhos, não me peça coisas que não sao relacionadas a esse topico!
Abraço.