ola pessoal do forum xtibia eu tou atras de um scripts que e o siguinte
o player matar uma quantia de pokemons e pode ter a sorte de um pokemon spawnar na area
ola pessoal do forum xtibia eu tou atras de um scripts que e o siguinte
o player matar uma quantia de pokemons e pode ter a sorte de um pokemon spawnar na area
Bom... O Script de Summon Por Quantidade Eu nao tenho, alguns são exclusivos... Mas tenho de Sumonar Boss ao Clicar em uma Parede !!! Caso Queira.
REP+
2 horas atrás, strongernxs disse:Bom... O Script de Summon Por Quantidade Eu nao tenho, alguns são exclusivos... Mas tenho de Sumonar Boss ao Clicar em uma Parede !!! Caso Queira.
Eu queria um que sumona um pokemon en determinadas horas ou quando o player mata tantos pokes e ele aparece
13 minutos atrás, rafersiq disse:
Eu queria um que sumona um pokemon en determinadas horas ou quando o player mata tantos pokes e ele aparece
Eu tenho um Parecido ... Vc clica no item sumona o poke e quando mata o poke tem coowndon pra usar o click dnv
Qual a versão da TFS? E isso é um evento ou task?
50 minutos atrás, Yan18 disse:E isso é um evento ou task?
E um evento
51 minutos atrás, Yan18 disse:Qual a versão da TFS?
A versão e aqueles que sao pda e outros ne ?
6 horas atrás, rafersiq disse:E isso é um evento ou task?
E um evento
A versão e aqueles que sao pda e outros ne ?
Sobre a versão, então no seu caso muito provavelmente é 0.3.6, que é a versão atualmente de todos os Poketibia.
Se é evento, provavelmente é um pokémon que não terá em respawn, então não precisa de storage para deixa específica a kill dele (quando não tem storage, em qualquer situação vai contar como kill nesse script que vou fazer, por exemplo matar em respawn)
Vai em Data/Creaturescripts/Scripts e crie um arquivo chamado task_event.lua (ou o nome que preferir) e adicione o código dentro:
local pokemon_derrotar = "Charizard" -- NOME DO POKÉMON QUE PRECISA DERROTAR NA TASK local total = 50 -- TOTAL DE POKEMON QUE PRECISA DERROTAR local pokemon_spawn = "Mewtwo" -- NOME DO POKEMON QUE VAI SPAWNAR local position_spawn = {x= 1000, y= 1000, z= 7} -- POSIÇÃO ONDE VAI SPAWNAR O POKEMON local storage = 15879 -- STORAGE PARA VER SE JÁ FEZ A TASK local random_porcentagem = 50 -- PORCENTAGEM QUE TEM DO POKEMON SPAWNAR AO TERMINAR A TASK function onKill(cid, target) local contador = 0 local random_chance = math.random(100) if getCreatureName(target) == pokemon_derrotar then if getPlayerStorageValue(cid, storage) < 1 then if (total - contador) > 0 then contador = contador + 1 end if contador == total then setPlayerStorageValue(cid, storage, 1) if (random_chance >= random_porcentagem) then doSummonCreature(pokemon_spawn, position_spawn) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você despertou a fúria de um pokémon, se prepare para o combate!") return true else return true end end else return true end else return true end end
Agora vai em creaturescripts.xml e adicione a tag:
<event type="kill" name="task_event" script="task_event.lua" />
OBS: Caso tenha colocado um arquivo com nome diferente do que sugeri não se esqueça de trocar na tag xml.
E por fim em Data/Creaturescripts/Scripts abra o arquivo login.lua e procura seção de eventos e adiciona o evento:
registerCreatureEvent(cid, "task_event")
Deixei tudo comentado nas variáveis, só vai precisar trocar os valores. Lembrando que na variável random_porcentagem é a chance que vai ter de nascer o pokémon, como eu deixei 50, da tanto para verificar se vai ser maior que 50 ou menor, mas no caso deixei maior ou igual a 50, então qualquer valor acima de 50 gerado pela variável random_chance vai sumonar o pokémon. Se quer que tenha menos de 50% de chance, mude o valor da variável random_porcentagem e nessa verificação:
if (random_chance >= random_porcentagem) then
Mude para o valor desejado menor que 50, mas tem que mudar o if para:
if (random_chance <= random_porcentagem) then
Teste, e se der algum erro ou problema, me avise.
22 horas atrás, Yan18 disse:Teste, e se der algum erro ou problema, me avise
ou mano vc sabe arumar um bug que da na pokebar que quanto solta um pokemon com addon pela pokebar , nao aparece o addon no pokemon?
2 horas atrás, rafersiq disse:ou mano vc sabe arumar um bug que da na pokebar que quanto solta um pokemon com addon pela pokebar , nao aparece o addon no pokemon?
Cara, vamos focar primeiro no seu tópico aqui, eu fiz o script que você pediu e você não disse se funcionou ou não.
Sobre sua outra dúvida, já adianto que terá que criar um outro tópico para essa dúvida porque não tem relação com a dúvida deste tópico
36 minutos atrás, Yan18 disse:Cara, vamos focar primeiro no seu tópico aqui, eu fiz o script que você pediu e você não disse se funcionou ou não.
o pokemon ficou bugado quando eu coloquei
ele fica sem vida mas nao some e aparece o corpo
15 minutos atrás, rafersiq disse:o pokemon ficou bugado quando eu coloquei
ele fica sem vida mas nao some e aparece o corpo
Mas a task funcionou? Somente quando spawna o boss ele fica bugado?
Substitui o código por esse:
local pokemon_derrotar = "Charizard" -- NOME DO POKÉMON QUE PRECISA DERROTAR NA TASK local total = 50 -- TOTAL DE POKEMON QUE PRECISA DERROTAR local pokemon_spawn = "Mewtwo" -- NOME DO POKEMON QUE VAI SPAWNAR local position_spawn = {x= 1000, y= 1000, z= 7} -- POSIÇÃO ONDE VAI SPAWNAR O POKEMON local storage = 15879 -- STORAGE PARA VER SE JÁ FEZ A TASK local random_porcentagem = 50 -- PORCENTAGEM QUE TEM DO POKEMON SPAWNAR AO TERMINAR A TASK function onKill(cid, target) local contador = 0 local random_chance = math.random(100) if getCreatureName(target) == pokemon_derrotar then if getPlayerStorageValue(cid, storage) < 1 then if (total - contador) > 0 then contador = contador + 1 end if contador == total then setPlayerStorageValue(cid, storage, 1) if (random_chance >= random_porcentagem) then doCreateMonster(pokemon_spawn, position_spawn) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você despertou a fúria de um pokémon, se prepare para o combate!") return true else return true end end else return true end else return true end end
Em 04/01/2021 em 20:58, Yan18 disse:Substitui o código por esse
Ou mano tem como tirar a storange pra conseguir fazer mais vezes e botar mais pokemons pra o evento?
6 horas atrás, rafersiq disse:Ou mano tem como tirar a storange pra conseguir fazer mais vezes e botar mais pokemons pra o evento?
Tem sim, mas quantas vezes você quer? Da para limitar uma quantidade de vezes que o player faz.
24 minutos atrás, Yan18 disse:Tem sim, mas quantas vezes você quer? Da para limitar uma quantidade de vezes que o player faz.
eu queria deixar sem limit de vezes pra fazela
32 minutos atrás, rafersiq disse:eu queria deixar sem limit de vezes pra fazela
Substitui o código por esse:
local pokemon_derrotar = "Charizard" -- NOME DO POKÉMON QUE PRECISA DERROTAR NA TASK local total = 50 -- TOTAL DE POKEMON QUE PRECISA DERROTAR local random_porcentagem = 50 -- PORCENTAGEM QUE TEM DO POKEMON SPAWNAR AO TERMINAR A TASK -- TABELA COM OS POKEMONS QUE APARECERÃO AO DERROTAR A QUANTIDADE DO POKÉMON QUE COLOCOU NA VARIÁVEL pokemon_derrotar -- local pokemons_spawn = { {pokemon = "Mewtwo", position = {x= 1000, y= 1000, z= 7}}, {pokemon = "Mew", position = {x= 1000, y= 1000, z= 7}}, {pokemon = "Articuno", position = {x= 1000, y= 1000, z= 7}}, {pokemon = "Zapdos", position = {x= 1000, y= 1000, z= 7}}, {pokemon = "Moltres", position = {x= 1000, y= 1000, z= 7}}, } function onKill(cid, target) local contador = 0 local random_chance = math.random(100) if getCreatureName(target) == pokemon_derrotar then if (total - contador) > 0 then contador = contador + 1 end if contador == total then if (random_chance >= random_porcentagem) then for i = 1, #pokemons_spawn do doCreateMonster(pokemons_spawn[i].pokemon, pokemons_spawn[i].position) end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você despertou a fúria de alguns pokémons, fuja para sobreviver!") contador = 0 return true else return true end end else return true end end
Lembrando que assim que matar a quantidade de pokémons que você colocou nas variáveis total e pokemon_derrotar vai ter a porcentagem de summonar todos os pokémons da tabela pokemons_spawn. Só colocar os pokémons e as posições que vão aparecer dentro da tabela.
Mas se é ilimitado esse evento/task, então não faz mais sentido com que sempre aparece o boss em vez de ter uma chance?
Testa o código e qualquer problema você me avisa.