hola amigo, ayuda con este juego knight online

Publicado por jeicko24, Enero 14, 2014, 06:58:47 PM

Tema anterior - Siguiente tema

jeicko24

hola amigo no puedo hacer que las actualizaciones se guarde en el servidor , necesito de su ayuda capaz falta algo al script que tengo, este es el juego al que quiero que funcionas sus actualizaciones
http://portal.nttgame.com/Index


Código (cpp) [Seleccionar]
#include <cstring>
#include <string>
#include <vector>
#include "../utils.cpp"

using namespace std;
   
   // g++ -I. -fPIC -shared -g -o nttgame.com.so nttgame.com.cpp
   // regex
   // http.*\.nttgame\.com.*(\.jpg|\.png|\.gif|\.mp3|\.swf|\.jpeg|\.mp4|\.exe|\.rar|\.zip|\.flv|\.rez)
 
   string dominiotxt="Combat-Arms";
   string get_filename(string url) {
     vector<string> resultado;
               if (url.find("?") != string::npos) {
                       stringexplode(url, "?", &resultado);
                       stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                       return resultado.at(resultado.size()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);          
               } else {
                       stringexplode(url, "/", &resultado);
                       return resultado.at(resultado.size()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);
               }
   }
   
   extern "C" resposta getmatch(const string url) {
       resposta r;


   if ( (url.find("/Game1/") != string::npos)
      ) {
   dominiotxt="Knight/Updates";
   }              
   if ( (url.find(".nttgame.com/") != string::npos) and
    ((url.find(".jpg") != string::npos) or
    (url.find(".png") != string::npos) or
    (url.find(".gif") != string::npos) or
    (url.find(".mp3") != string::npos) or
    (url.find(".swf") != string::npos) or
    (url.find(".jpeg") != string::npos) or
    (url.find(".mp4") != string::npos) or
    (url.find(".exe") != string::npos) or
    (url.find(".rar") != string::npos) or
    (url.find(".zip") != string::npos) or
    (url.find(".flv") != string::npos) or
    (url.find(".rez") != string::npos))  
      ) {
                 
               r.file = get_filename(url);
                   if (!r.file.empty()) {
                           r.match = true;
                            r.domain = dominiotxt;
                   } else {
                           r.match = false;
                   }
           } else {
                   r.match = false;
           }
           return r;
   }

jeicko24

despues de varios intentos me salio con este script

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o nttgame.com.so nttgame.com.cpp
// regex
// http.*\.nttgame\.com.*(\.nup|\.ver|\.exe|\.rar|\.msi|\.dat|\.zip|\.iso|\.dll|\.xfs|\.xml)

bool in_array(const string &needle, const vector< string > &haystack) {
   int max = haystack.size();

   if (max == 0) return false;
   
for (int iii = 0; iii < max; iii++) {
       if (regex_match(haystack[iii], needle) != "") {
           return true;
}
}
   return false;
}


string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos) {
stringexplode(url, "?", &resultado);
stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
return resultado.at(resultado.size()-1);          
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}
}

extern "C" resposta getmatch(const string url) {
   resposta r;

vector<string> black_list;
black_list.push_back ("update.ver");

if ( (url.find(".nttgame.com/") != string::npos) and
    ( (url.find(".nup") != string::npos) or
     (url.find(".ver") != string::npos) or
     (url.find(".rar") != string::npos) or
     (url.find(".exe") != string::npos) or
     (url.find(".msi") != string::npos) or
     (url.find(".dat") != string::npos) or
     (url.find(".zip") != string::npos) or
     (url.find(".iso") != string::npos) or
     (url.find(".dll") != string::npos) or
     (url.find(".xfs") != string::npos) or
     (url.find(".xml") != string::npos) ) and  (in_array(url, black_list) == false)
) {

   r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "Knight Online";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}

firecold

Me alegra que hayas podido hacer tu propio plugin sin ayuda y que usaste una black_list para hacerlo funcionar, Saludos

david_domh

Interesante !!!! ese juego aùn lo juegan Knight Online


Buen Aporte!!!!


David M.