Você não é registrado, por favor registre-se para ter acesso ao conteúdo completo.
Caso seja registrado, efetue login.
Esqueceu sua senha? Clique aqui
Recomendamos o uso do Mozilla Firefox para uma melhor visualização.    


Início Postados Hoje Marcar Fóruns Como Lidos Álbums Banidos SE Team Medalhas
Voltar   Secret Experience > Área L2J > [L2J] Downloads > [Lineage] Java Mods
Registrar Loteria VIPStaff SERegras do fórum Comunidade Arcade Postados Hoje Pesquisar Experience
   

Secret Experience.NET   Secret Experience Corporation - Welcome To The Real World
     Anúncios SE

 
 
LinkBack Ferramentas do Tópico Modos de Exibição
Prev Post Anterior   Próximo Post Next
Antigo 03-04-2011, 11:22 PM   #1 (permalink)
Banido
 
Avatar de allanalcantara
 
Registrado em: Nov 2009
Localização: Fortaleza-ce
Posts: 325
Agradeceu: 125
Agradecido 203 Vezes em 82 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Enviar mensagem via Windows Live Messenger para allanalcantara Enviar mensagem via Skype para allanalcantara
Nome Real: Allan Alcântara de Alencar

Inventório de allanalcantara

Icon14 Quiz Event

bom estou aqui mais uma vez, disponibilizando mais outro MOD, sendo que esse é um evento.
depois que o ví achei meio que estranho ... mas bem enteressante. kkkkkk
evento quiz. - ele funcionano epilogue mas com adaptações ele possa funcionar para interlude.

então ai vai ...

Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
if (command.equalsIgnoreCase("3") && QuizEvent._quizRunning)
      {
         QuizEvent.setAnswer(activeChar, 3);
      }
      return true;
   }
   
   /**
    * 
    * @see com.l2jserver.gameserver.handler.IVoicedCommandHandler#getVoicedCommandList()
    */
   public String[] getVoicedCommandList()
   {
      new QuizEvent();
      return _voicedCommands;
   }
}
next code:

Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
package custom.QuizEvent;

import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.Announcements;
import javolution.util.FastMap;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.util.Rnd;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;


import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import java.io.File;
import com.l2jserver.Config;




/**
 * 
 * @author Rizel
 *
 */
public class QuizEvent
{
   public static boolean                      _quizRunning;
   private static String                      _question;
   private static String                      _answer1;
   private static String                      _answer2;
   private static String                      _answer3;
   private static int                         _rightanswer;
   private static FastMap<L2PcInstance,Integer>    _players;
   private static int                         status;
   private static int                         announced;
   private static ThreadPoolManager             tpm;
   private static AutoEventTask               task;
   private static String[][]                   _questions;
   private static int i = 0;
   private static final int STATUS_NOT_IN_PROGRESS = 0;
   private static final int STATUS_ASK = 1;
   private static final int STATUS_ANSWER = 2;
   private static final int STATUS_END = 3;
   
   //----------------------------------------------------------------------------
   //------------------------------ CONFIG --------------------------------------
   //----------------------------------------------------------------------------
   
   //Number of questions per event
   private static int _questionNumber = 3;
   
   //The Item ID of the reward
   private static int _rewardID = 57;
   
   //The ammount of the reward
   private static int _rewardCount = 1000;
   
   //Wait for the first event after the server start (in seconds)
   private static int _initWait = 60;
   
   //Time for answer the question (in seconds)
   private static int _answerTime = 10;
   
   //Time between two event (in seconds)
   private static int _betweenTime = 60;
   
   
   
   public QuizEvent()
   {
      tpm = ThreadPoolManager.getInstance();
      status = STATUS_NOT_IN_PROGRESS;
      task = new AutoEventTask();
      announced = 0;
      _quizRunning = false;
      _question = "";
      _answer1 = "";
      _answer2 = "";
      _answer3 = "";
      _rightanswer = 0;
      _players = new FastMap<L2PcInstance,Integer>(100);
      _questions = new String[20][];
      includeQuestions();
      tpm.scheduleGeneral(task, _initWait*1000);
      
   }
         
   
   
   private void includeQuestions()
   {
      
      
      File questionFile = new File(Config.DATAPACK_ROOT, "data/scripts/custom/QuizEvent/QuizEvent.xml");
      Document doc = null;
      try
      {
         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
         dbf.setIgnoringComments(true);
         dbf.setValidating(false);
         DocumentBuilder db = dbf.newDocumentBuilder();
         doc = db.parse(questionFile);
         
         for (Node root = doc.getFirstChild(); root != null; root = root.getNextSibling())
         {
            if ("list".equalsIgnoreCase(root.getNodeName()))
            {
               
               for (Node child = root.getFirstChild(); child != null; child = child.getNextSibling())
               {
            
                  if ("question".equalsIgnoreCase(child.getNodeName()))
                  {
                     int id, correct;
                     String ask, answer1, answer2, answer3;
                     NamedNodeMap attrs = child.getAttributes();
                     
                     id = Integer.parseInt(attrs.getNamedItem("id").getNodeValue());
                     correct = Integer.parseInt(attrs.getNamedItem("correct").getNodeValue());
                     ask = attrs.getNamedItem("ask").getNodeValue();
                     answer1 = attrs.getNamedItem("answer1").getNodeValue();
                     answer2 = attrs.getNamedItem("answer2").getNodeValue();
                     answer3 = attrs.getNamedItem("answer3").getNodeValue();
                     
                     _questions[id] = new String[]{ ask, answer1, answer2, answer3, ""+correct }; 
                     i++;
                  
                     
                  }
               }
            }
         }
      }
      catch (Exception e)
      {
         
      }
   }
   
   
   
   
   
   
   private class AutoEventTask implements Runnable
   {
      @Override
      public void run()
      {
         switch (status)
         {
         case STATUS_NOT_IN_PROGRESS:
            announceStart();
            break;
         case STATUS_ASK:   
               if (announced < _questionNumber)
               {
               announceQuestion();
               }
               else
               {
               status = STATUS_END;
               tpm.scheduleGeneral(task, 3000);
               }
            break;
         case STATUS_ANSWER:
            announceCorrect();
            break;
         case STATUS_END:
            endEvent();
            break;
         default:
            break;
            
         }
      }
   }
   
   
   
   //Get a random question from the quiz_event table   
   private static void selectQuestion()
   {
      int id = Rnd.get(i)+1;
      _question = _questions[id][0];      
      _answer1 = _questions[id][1];
      _answer2 = _questions[id][2];
      _answer3 = _questions[id][3];
      _rightanswer = Integer.parseInt(""+_questions[id][4]);
   }
   
   
   
   //Announce the question
   private static void announceQuestion()
   {

      selectQuestion();
      Announcements.getInstance().announceToAll("-----------------");
      Announcements.getInstance().announceToAll("Question: "+_question);
      Announcements.getInstance().announceToAll("-----------------");
      Announcements.getInstance().announceToAll("1: "+_answer1);
      Announcements.getInstance().announceToAll("2: "+_answer2);
      Announcements.getInstance().announceToAll("3: "+_answer3);
      Announcements.getInstance().announceToAll("-----------------");
      
      status = STATUS_ANSWER;
      tpm.scheduleGeneral(task, _answerTime*1000);
   }
   
   
   
   //Announce the correct answer
   private static void announceCorrect()
   {
      Announcements.getInstance().announceToAll("-----------------");
      Announcements.getInstance().announceToAll("The correct answer was: "+_rightanswer);
      Announcements.getInstance().announceToAll("-----------------");
      announced++;
      giveReward();
      status = STATUS_ASK;
      tpm.scheduleGeneral(task, 5000);
   }
   
   
   private static void announceStart()
   {
      _quizRunning = true;
      _players.clear();
      Announcements.getInstance().announceToAll("Quiz Event begins! "+_questionNumber+" questions. "+_answerTime+" secs for answer each. ");
      Announcements.getInstance().announceToAll("Type . and the number of the correct answer to the chat. (Like: .1)");
      Announcements.getInstance().announceToAll("Get Ready!");
            
      status = STATUS_ASK;
      tpm.scheduleGeneral(task, 5000);
   }
   
   //Add a player and its answer
   public static void setAnswer(L2PcInstance player, int answer)
   {
      if( _players.containsKey(player) )
         player.sendMessage("You already choosen an aswer!: "+_players.get(player));
      else
      _players.put(player, answer);
   }
   
   
   private static void endEvent()
   {
      _quizRunning = false;
      Announcements.getInstance().announceToAll("The Quiz Event is over!");
      announced = 0;
      status = STATUS_NOT_IN_PROGRESS;
      tpm.scheduleGeneral(task, _betweenTime*1000);
   }
   
   
   
   private static void giveReward()
   {      
      for( L2PcInstance p: _players.keySet())
      {
         if(_players.get(p) == _rightanswer)
            {
            p.sendMessage("Your answer was correct!");
            p.addItem("Quiz", _rewardID, _rewardCount, p, true);
            }
            else
            {
            p.sendMessage("Your answer was not correct!");
            }

         
      }
      _players.clear();
   }
}
bom ... eu não tenho muitas informações sobre ele, mas creio que seja bem legal!

Arquivos Anexados
Tipo de Arquivo: txt Quiz Event.txt (8.8 KB, 26 visualizações) Baixar
allanalcantara está offline  
Links Patrocinados
 


Regras para Posts
Você não pode postar novos tópicos
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar seus posts

Código [IMG] Sim
Código HTML Não
Trackbacks are Sim
Pingbacks are Sim
Refbacks are Sim



Horários baseados na GMT -3. Agora são 07:22 AM.
 



Search Engine Optimization by vBSEO 3.3.0