Você está desconectado.

Conecte-se e veja nossos conteúdos exclusivos!
 

  


[MOD] Exame Chunnin New Nto

Compartilhe
avatar
Nayol
Estagiário
Estagiário

King Coin(s) King Coin(s) : 23
Reputação : 4
Facebook : Hmmmmm se interessou em mim?
OTServ Favorito : Tibia Global
Tópicos : 11
Data de Cadastro : 09/05/2016
Idade : 17
Localização : Pra que tu quer saber?

[MOD] Exame Chunnin New Nto

Mensagem por Nayol em Dom Jul 24, 2016 12:55 am

óh eu aki dnovo huehuhu
ÓK Sem brincadeiras vamo ao que interessa.
Bom estou trazendo um exame chunnin para New Nto ( Não sabe oque é New Nto? Nto-White

Bom agora vamos ao script:
Em data/talkactions/scripts:
Crie um novo arquivo renomeie para:Exame Chunin; e cole isso:
Citar:

function onSay(cid, words, param, channel)
   local players = {}
   if param == "" then
       doPlayerSendCancel(cid, "Utilize os parametros corretos.")
       return true
   end
   
   if param == "inscricoes" then
       setGlobalStorageValue(1821291, 1)
       doBroadcastMessage("As inscricoes para o exame Chunin estao abertas!")
       doCreateNpc("NPC Chunin", {x = 2571, y = 1674, z = 5})
   elseif param == "start" then
       for _, pid in pairs(getPlayersOnline()) do
           if getPlayerStorageValue(pid, 192191) == 1 then
               table.insert(players, pid)
           end
       end
       if #players >= 6 then
           if #players % 3 ~= 0 then
               while #players % 3 ~= 0 do
                   doPlayerSendTextMessage(players[1], MESSAGE_STATUS_CONSOLE_BLUE, "O numero de participantes nao foi compativel com numero de equipes. Voce ficou sem equipe, tente na proxima.")
                   doPlayerSetStorageValue(players[1], 192191, -1)
                   table.remove(players, 1)
               end
           end
           local a = 1
           local max = 12
           while max ~= 0 do
               if #players >= 3 then
                   doPlayerAddItem(players[1], exame.positions[a].id, 1)
                   doPlayerSendTextMessage(players[1], MESSAGE_STATUS_CONSOLE_BLUE, "Voce esta com o pergaminho de sua equipe! Cuidado para nao perde-lo!")
                   doPlayerSendTextMessage(players[2], MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(players[1]).." esta com o pergaminho de sua equipe! Proteja-o!")
                   doPlayerSendTextMessage(players[3], MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(players[1]).." esta com o pergaminho de sua equipe! Proteja-o!")
                   doPlayerSetStorageValue(players[1], exame.team_storage, a)
                   doPlayerSetStorageValue(players[2], exame.team_storage, a)
                   doPlayerSetStorageValue(players[3], exame.team_storage, a)
                   doPlayerSendTextMessage(players[1], MESSAGE_STATUS_CONSOLE_BLUE, "Voce entrou na equipe "..a..", boa sorte!")
                   doPlayerSendTextMessage(players[2], MESSAGE_STATUS_CONSOLE_BLUE, "Voce entrou na equipe "..a..", boa sorte!")
                   doPlayerSendTextMessage(players[3], MESSAGE_STATUS_CONSOLE_BLUE, "Voce entrou na equipe "..a..", boa sorte!")
                   doTeleportThing(players[1], exame.positions[a].pos)
                   doTeleportThing(players[2], exame.positions[a].pos)
                   doTeleportThing(players[3], exame.positions[a].pos)
                   table.remove(players, 1)
                   table.remove(players, 1)
                   table.remove(players, 1)
               end
               a = a + 1
               max = max - 1
           end
           doBroadcastMessage("As equipes do exame foram formadas e o exame comecou! Boa sorte a todos!")
       else
           doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "O numero de equipes eh menor que 2. O exame nao pode ser inciado.")
       end
       setGlobalStorageValue(1821291, -1)
   end
   return true
end
Agora recrie o arquivo + cololoque o nome de Exame Chunin Fase 2 e cole isso:
Citar:

function onSay(cid, words, param, channel)
   local fighters = {}
   for _, pid in pairs(getPlayersOnline()) do
       if getPlayerStorageValue(pid, exame.storage_x1) == 1 then
           table.insert(fighters, pid)
       end
   end
   if #fighters > 1 then
       local first = math.random(1, #fighters)
       local second = math.random(1, #fighters)
       if first == second then
           repeat
               first = math.random(1, #fighters)
           until first ~= second
       end
       doBroadcastMessage("Agora na arena, x1 entre "..getCreatureName(fighters[first]).." X "..getCreatureName(fighters[second]).."!")
       doTeleportThing(fighters[first], exame.arena_pos_1)
       doTeleportThing(fighters[second], exame.arena_pos_2)
       doPlayerSendTextMessage(fighters[second], MESSAGE_STATUS_CONSOLE_ORANGE, "Voce foi convocado para um x1 contra "..getCreatureName(fighters[first]).."! Boa sorte!")
       doPlayerSendTextMessage(fighters[first], MESSAGE_STATUS_CONSOLE_ORANGE, "Voce foi convocado para um x1 contra "..getCreatureName(fighters[second]).."! Boa sorte!")
   elseif #fighters == 1 then
       doBroadcastMessage("O jogador "..getCreatureName(fighters[1]).." venceu o exame chunin! Parabens ao novo Chunin!")
       doPlayerSetStorageValue(fighters[1], exame.storage_x1, -1)
       doPlayerSetStorageValue(fighters[1], 192191, -1)
       doPlayerSetStorageValue(fighters[1], initStorages.graduation, "Chunnin")
       doPlayerSetStorageValue(fighters[1], 600, 3)
       doPlayerSendTextMessage(fighters[1], MESSAGE_STATUS_CONSOLE_BLUE, "Parabens, voce se tornou um Chunin!")
       setGlobalStorageValue(1821291, -1)
       setGlobalStorageValue(2381121, 0)
       doTeleportThing(fighters[1], getTownTemplePosition(getPlayerTown(deathList[1])))
   end
   return true
end
Bom, agore volte e vá até:
data/talkactions/talkactions.xml
E cole isso:

<talkaction log="yes" words="/x1-start" access="5" event="script" value="Exame Chunin Fase 2.lua"/>
<talkaction log="yes" words="/exame" access="5" event="script" value="Exame Chunin.lua"/>

Bom, Parte feita agora iremos para:

data/globalevents/scripts
e Crie um arquivo com o nome:
Exame Chunin Startup

E Cole isso:
Citar:

function onStartup()
   setGlobalStorageValue(2381121, -1)
   setGlobalStorageValue(1821291, -1)
   return true
end
Agora vá até:

data/globalevents/globalevents.xml
E cole isso:
<globalevent name="Exame Chunin" type="start" event="script" value="Exame Chunin Startup.lua"/>

Agora vá Até:
data/actions/scripts
E crie uma pasta com o nome:
Exam Chunin
Dentro crie um arquivo e coloque o nome:
Exame Chunin
E coloque isso dentro:
Citar:

function onUse(cid, item, fromPosition, itemEx, toPosition)
   local element = 0
   if getPlayerStorageValue(cid, exame.team_storage) > 0 then
       if item.actionid == 7511 then
           element = 1
       elseif item.actionid == 7512 then
           element = 2
       elseif item.actionid == 7513 then
           element = 3
       elseif item.actionid == 7514 then
           element = 4
       end
       local player1 = getTopCreature(exame.player_positions[element][1])
       local player2 = getTopCreature(exame.player_positions[element][2])
       local player3 = getTopCreature(exame.player_positions[element][3])
       if isPlayer(player1.uid) and isPlayer(player2.uid) and isPlayer(player3.uid) then
           if getPlayerStorageValue(player1.uid, exame.team_storage) == getPlayerStorageValue(player2.uid, exame.team_storage) and getPlayerStorageValue(player1.uid, exame.team_storage) == getPlayerStorageValue(player3.uid, exame.team_storage) and getPlayerStorageValue(player1.uid, exame.team_storage) == getPlayerStorageValue(cid, exame.team_storage) then
               if getTileItemById(exame.scroll_positions[element][1], exame.scroll_id[1]).uid > 0 and getTileItemById(exame.scroll_positions[element][2], exame.scroll_id[2]).uid > 0 then
                   doRemoveItem(getTileItemById(exame.scroll_positions[element][1], exame.scroll_id[1]).uid, 1)
                   doRemoveItem(getTileItemById(exame.scroll_positions[element][2], exame.scroll_id[2]).uid, 1)
                   doSendMagicEffect(exame.scroll_positions[element][1], 6)
                   doSendMagicEffect(exame.scroll_positions[element][2], 6)                                      
                   doPlayerSendTextMessage(player1.uid, 25, "Parabens por ter conseguido passar da etapa da floresta! Sua equipe esta pronta para a proxima fase!")
                   doPlayerSendTextMessage(player2.uid, 25, "Parabens por ter conseguido passar da etapa da floresta! Sua equipe esta pronta para a proxima fase!")
                   doPlayerSendTextMessage(player3.uid, 25, "Parabens por ter conseguido passar da etapa da floresta! Sua equipe esta pronta para a proxima fase!")
                   doPlayerSetStorageValue(player1.uid, exame.team_storage, -1)
                   doPlayerSetStorageValue(player2.uid, exame.team_storage, -1)
                   doPlayerSetStorageValue(player3.uid, exame.team_storage, -1)
                   doPlayerSetStorageValue(player1.uid, exame.storage_x1, 1)
                   doPlayerSetStorageValue(player2.uid, exame.storage_x1, 1)
                   doPlayerSetStorageValue(player3.uid, exame.storage_x1, 1)
                   doTeleportThing(player1.uid, exame.arena_2_pos)
                   doTeleportThing(player2.uid, exame.arena_2_pos)
                   doTeleportThing(player3.uid, exame.arena_2_pos)
                   doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945, 1)
                   setGlobalStorageValue(2381121, getFighters() + 3)
               else
                   doPlayerSendCancel(cid, "Coloque os pergaminhos na ordem correta!")
               end
           else
               doPlayerSendCancel(cid, "As 3 pessoas devem ser da mesma equipe!")
           end
       else
           doPlayerSendCancel(cid, "Devem ter 3 pessoas para ir para a proxima fase!")
       end
   else
       doPlayerSendCancel(cid, "Voce nao faz parte de nenhuma equipe!")
   end
   return true
end
Agora vá até:
data/actions/actions.xml

e coloque isso:
<action actionid="7511;7512;7513;7514" script="Exam Chunnin/Exame Chunin.lua"/>

E o nosso script está pronto! :jester1:

Créditos:
Eu- por faser alguns edits e disponibilizar
Vitor Bertolucci- Por faser o script =D
e agora vou citar umas tags que há no script do vitor =D
-- Exame Chunin completo feito por Vitor Bertolucci.
-- Favor nao postar nem compartilhar este codigo.
-- Favor manter esses comentarios quando for utilizar o codigo.
-- 17/05/2014

(Obs: não irei dsponibilizar o código.)




:pkking:


Última edição por Nayol em Dom Jul 24, 2016 2:49 am, editado 1 vez(es)

avatar
Death Gun
Administrador
Administrador

King Coin(s) King Coin(s) : 32
Reputação : 13014
Facebook : Facebook.com/Vitor.Eduardo.5567
OTServ Favorito : Pokémon Paraíso V3 - O Retorno
Meu Char : Zed Stars
Seção Favorita : Spriting
Eu sou : Scripter
Tópicos : 253
Data de Cadastro : 27/09/2015
Idade : 18
Localização : Florianópolis - SC

Re: [MOD] Exame Chunnin New Nto

Mensagem por Death Gun em Dom Jul 24, 2016 2:00 am

É um ótimo sistema, Obrigado por trazer para o PK.
Você recebeu 1 REP+.


________________________________________
Não sou dono do mundo, mas sou filho do dono.

    Data/hora atual: Sex Abr 28, 2017 10:14 am