Ir para conteúdo


L2Top Brasil Some Help


3 respostas neste tópico

#1    Crytek

Crytek
  • ForeverAlone

  • 2 posts

Postado 01 maio 2017 - 15:40

private boolean isVotedInSite(String ip, VoteSite site)
    {
        try
        {
            // Make URL with vote site link with player IP address
            final URL url = new URL(site.getLink(ip));
            // Open connection
            final HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            // Set User-Agent
            httpURLConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36");
            // Get response code and if everything is OK try to get answer
            final int response = httpURLConnection.getResponseCode();
            if (response == HTTP_OK)
            {
                // Get input stream from vote sites
                try (BufferedReader br = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream())))
                {
                    // Get answer from vote site which returns true/false
                    switch (site)
                    {
                        case L2HOPZONE:
                            return br.readLine().contains("true");
                        case L2TOPZONE:
                            return br.readLine().equals("TRUE");
                        case L2NETWORK:
                            return br.readLine().equals("1");
                        case L2TOP:
                            return br.readLine().equals("TRUE");
                        case L2BR:
                            return br.readLine().equals("1");    (if is correct or request correct read)
                    }
                }
            }

exampe of check is

 

https://top.l2jbrasi...l2br&ip=0.0.0.0

 

have to get check of status. there is 1 (then player not voted is 0)

 

<votes><vote>

<site_id>id</site_id>

<ip>xxx.xx.xx.xx</ip>

<date>2017-04-24 19:34:07</date>

<status>1</status>

</vote></votes>



#2    Grundor

Grundor

Postado 02 maio 2017 - 10:51

Interesting, is this an in-game vote-reward?
 
Try change to 
return br.readLine().equals("<status>1</status>");
or
return br.readLine().contains("<status>1</status>");
The return is a simple xml, may you can read it using DOM XML Parser
 
e.g.
doc.getElementsByTagName("status").item(0).getTextContent();
Optionally you can change the way you call to get another value than a xml response.
 
 
By node: 
You can get the specific value using "node" parameter eg. &node=status will return only status value.
 
https://top.l2jbrasil.com/votesystem/index.php?username=l2br&ip=0.0.0.0&node=status
 
Json format:
To do that you must add paramter "&type=json"
 
https://top.l2jbrasil.com/votesystem/index.php?username=l2br&ip=0.0.0.0&type=json
 
 


#3    Diego Fonseca

Diego Fonseca

Postado 02 maio 2017 - 16:20

 

Interesting, is this an in-game vote-reward?
 
Try change to 
return br.readLine().equals("<status>1</status>");
or
return br.readLine().contains("<status>1</status>");
The return is a simple xml, may you can read it using DOM XML Parser
 
e.g.
doc.getElementsByTagName("status").item(0).getTextContent();
Optionally you can change the way you call to get another value than a xml response.
 
 
By node: 
You can get the specific value using "node" parameter eg. &node=status will return only status value.
 
https://top.l2jbrasil.com/votesystem/index.php?username=l2br&ip=0.0.0.0&node=status
 
Json format:
To do that you must add paramter "&type=json"
 
https://top.l2jbrasil.com/votesystem/index.php?username=l2br&ip=0.0.0.0&type=json
 
 

 

Grundor, você poderia fazer funcionar e postar pra galera, ne
Seria interessante se tivéssemos um vote In-game do top 200 L2jbr.


"And I now wait to shake the hand of fate

Like the dusk awaiting dawn"


#4    Grundor

Grundor

Postado 09 maio 2017 - 12:32

Grundor, você poderia fazer funcionar e postar pra galera, ne
Seria interessante se tivéssemos um vote In-game do top 200 L2jbr.

 

 

Complicado, cada distribuição tem sua forma de fazer as coisas, enquanto os servidores não tiverem "API" para interfacear direto com o servidor algumas coisas fica impossível fazer.

 

 

Essa api teria que ter o poder de atuar in-game em tempo real ao receber uma determinada chamada.






0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 usuários anônimos

© L2jBrasil - Todos os direitos reservados
NCsoft©, the interlocking NC logo, Lineage© II, and all associated logos and designs are trademarks or registered trademarks or service marks of NCsoft Corp.
All rights reserved and other trademarks are the property of their respective owners.