Ir para conteúdo

djoser

Campones
  • Total de itens

    11
  • Registro em

  • Última visita

Sobre djoser

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Jogador

djoser's Achievements

  1. 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 = 2393, count = 10}, {itemid = 2392, count = 1}}, [2] = {{itemid = 2393, count = 11}, {itemid = 12344, count = 3}}, [3] = {{itemid = 2393, count = 12}, {itemid = 12345, count = 20}}, [4] = {{itemid = 2393, count = 13}, {itemid = 2392, count = 1}}, [5] = {{itemid = 2393, count = 14}, {itemid = 12344, count = 5}}, [6] = {{itemid = 2393, count = 15}, {itemid = 2392, count = 1}}} local pokemons = { {name = "Graveler", level = 70, extralevel = 20, sex = SEX_MALE, nick = "Grav", ball = "super"}, {name = "Rhyhorn", level = 80, extralevel = 15, sex = SEX_FEMALE, nick = "Rhy", ball = "normal"}, {name = "Golem", level = 95, extralevel = 20, sex = SEX_MALE, nick = "Gol", ball = "great"}, {name = "Onix", level = 80, extralevel = 30, sex = SEX_MALE, nick = "Oni", ball = "normal"}, {name = "Sudowoodo", level = 95, extralevel = 37, sex = SEX_FEMALE, nick = "Sudo", ball = "ultra"}, {name = "Rampardos", level = 95, extralevel = 37, sex = SEX_FEMALE, nick = "Ramp", 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)..", voçê deseja duelar comigo? Eu posso dar prêmios se você ganhar, 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! Por favor, 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('Tchau e acredito que fiz de voçê um melhor treinador!') 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("Eu esperei muito tempo, voltar quando estiver pronto!") 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 o nosso duelo! Talvez algum outro momento você vai 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("Flw Parceiro.") return true end if (os.clock() - talk_start) > 30 then selfSay("Adeus e mantenha a formação!") 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 ta ae esse e de um dos npc q nao funfa
  2. os npcs de duel no meu sv eles nao atacam o desafiante e quando o primeiro pokemon deles morre eles nao chamam outro msm vc tendo escolhido batalhar com 6 pokemons, como colokarlos para atacar e chamar a quantidade de pokes q o player escolheu pra batalhar???
  3. Bom no meu sv a masterball nao vai no pokemon morto, o player clik pra usar ela e clik em cima do pokemon morto e ela nao vai como resolver?
  4. Alguem sabe como q eu mudo os 3 pokemon iniciais q tem pra escolher no site eu to usando o site websitepoketibia 2.0 e o server e o pda 1.4_f
  5. Galera to tendo um problema aki eu crio a acc no site mais ela nao loga no meu server mais no site ela loga de boa, quando eu olho la no phpmyadmin onde devia ta a senha da acc q eu crei ta um sequencia de letras e numeros, como eu faço pra quando eu criar a acc no site ela tbm logar no game???
  6. eu gostaria de saber se tem como mudar o nome q fika no topo do client, ja procurei um muitos lugares e nao achein sera q alguem poderia me ajuda??
  7. Alguem sabe como mudar o nome a aparece em cima no client??
  8. Nao sei se estou postando no lugar certo mais to tentando mudar o fundo do meu poketibia, usando o pic editor, extrai tudo blz mais quando eu troco a imagem e vou compliar aparece assim "the file could not be loaded". Eu to trocando a img 0.bmp por outro com o msm nome e mesmas dimensoes e fika dando issu
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...