Postado Janeiro 11, 2012 13 anos Bem eu quero pedir um sistema de torneio para meu ot de pokemon é o seguinte eu queria ums 2 npc e mais umas coisinha irei explicar da melhor forma possivel é o seguinte eu queria ums 2 npc do seguinte modo eu queria q o primeiro fosse assim player says:hi npc says:Ola |Playername| sou ajudante do inscritor para o torneio Pokémon fale {torneio} para saber mais. player says:torneio npc says:desculpe você não pode se inscrever para o torneio Pokémon você não tem todas as insignias você pressisa ter no maximo e no minimo 8 insigneas para entrar no torneio. e se o player tiver as 8 insigneas q seria ums items q eu mesmo edito tipo vc bota la no npc exemplo itemid"xxxx" coisa assim ai eu ja mudo o xxxx para o id dos items e o outro npc é para inscrição segue o exemplo abaixo: Player says:hi npc says:Ola |playername| eu sou inscritor para o torneio Pokémon diga {torneio} para saber mais. Player says:torneio npc says:para inscrever-se para o torneio você pressisa me pagar 5 hd diga {yes} para pagar e entrar no torneio. Player says:pagar . o player sabe 2152 é o id dos hd é pra tirar 5 de 2152 q é platium coin no tibia. e tbm quando falar pagar é teleportado para outro lugar q quando eu por no mapa zone pvp ai la os player tem q se matar ou simplesmente quando augum player fica sem os pokemons tipo todos morrerem ele é teleportado para o cp (obs:eu ajeito as coordenadas coloquem xxxx xxxx x[com x]) ja o ultimo q ficar vai ser teleportado para um canto ai eu quero mais outro npc o Master Trainer Ash Ketchum ai tenho um script aki como exemplo pq meu pokemon tem lvl system ai vo pegar o do brock pra vcs editarem do jeito q eu vo falar \/ 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 pokemons = { {name = "Geodude", level = 28, extralevel = 12, sex = SEX_MALE, nick = "", ball = "normal"}, {name = "Rhyhorn", level = 27, extralevel = 17, sex = SEX_MALE, nick = "", ball = "normal"}, {name = "Graveler", level = 31, extralevel = 19, sex = SEX_MALE, nick = "", ball = "normal"}, {name = "Onix", level = 70, extralevel = 12, sex = SEX_MALE, nick = "", ball = "normal"}, {name = "Golem", level = 58, extralevel = 18, sex = SEX_MALE, nick = "Golemniso", ball = "normal"}, } 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 a = gymbadges[getCreatureName(this)] + 8 doCreatureSay(npc, "You won the duel! Congratulations, take this "..getItemNameById(a - 8).." as a prize.", 1) local b = getPlayerItemById(cid, true, a) if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end 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 focus = cid talk_start = os.clock() conv = 1 selfSay("Hello "..getCreatureName(cid)..", my name is Brock and I'm Pewter's Gym Leader. How may I help you?") return true end if isDuelMsg(msg) and conv == 1 and focus == cid then --if getPlayerItemCount(cid, gymbadges[getCreatureName(getThis())]) >= 1 then -- selfSay("You have already won my Boulder Badge, maybe some other day we can fight.") -- focus = 0 --return true --end if not hasPokemon(cid) then selfSay("To battle agains't a gym leader you need pokemons.") return true end selfSay("You are challenging me to a battle. It will be a "..#pokemons.." pokemon limit battle, let's start?") conv = 2 return true end if isConfirmMsg(msg) and conv == 2 and focus == cid then challenger = focus setPlayerStorageValue(cid, 990, 1) selfSay("Yea, let's fight!") talk_start = os.clock() addEvent(doSummonGymPokemon, 850, getThis()) conv = 3 return true end if isNegMsg(msg) and conv == 2 and focus == cid then focus = 0 selfSay("It is better for you to refuse a battle against me!") return true end if msgcontains(msg, 'bye') and focus == cid then selfSay('Bye and do your best trainer!') setPlayerStorageValue(focus, 990, -1) focus = 0 return true end end local afk_warning = false local change = false function onThink() if focus == 0 then selfTurn(2) fighting = false challenger = 0 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 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("I have waited too long, come back when you are ready!") return true end if not afk_warning and afk_time > afk_limit_time / 2 then selfSay("Where's your pokemon? Let's fight!") afk_warning = true end if #getCreatureSummons(getThis()) == 0 then if battle_turn > #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 >= 7 or challenger_turn > #pokemons then selfSay("You lost our duel! Maybe some other time you'll defeat me.") 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("Bye then.") return true end if (os.clock() - talk_start) > 30 then selfSay("Good bye and keep training!") 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 Eu queria q editacem esse npc para em vez dedar insignea ele dar outro item e ainda assim teleportar para o cp se o kara perder ou mesmo se ganhar tbm ser teleportado bem é isso pessoal obrigado desculpem pelos erro de português se tiver. @UP so mais uma coisa traduzam oq o npc fala para os player entenderem. @UP vim aki avisar q se poder coloca uma msg pra quando começar as inscrições e dizendo q dps de 10 minutos acaba as inscrições e dps q elas fechar tem q sair uma msg As inscrições para o torneio fecharam e o torneio vai começar em 2 minutos se preparem. Editado Janeiro 12, 2012 13 anos por 1215171 ajeitar (veja o histórico de edições) Ae ajudei? Rep+
Postado Janeiro 12, 2012 13 anos você não precisa escrever assim assim é mais do que suficiente, é de bom senso e não estraga a vista. Editei seu tópico e tirei o tamanho kingsize. rena.to
Postado Janeiro 13, 2012 13 anos ok Cara, mais cuidado da proxima vez, Dessa vez vai ficar no alerta verbal, peço que leia as regras do forum.
Postado Janeiro 13, 2012 13 anos Autor ok vou ler obrigado kimoszin eu n tinha lido por isso não sabia disso muito obrigado e mais uma coisa sera q nimguem vai faze auguma coisa Ae ajudei? Rep+
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.