OGSteam

Discussions => Support et Questions => Discussion démarrée par: Santoryu le 07 juin 2020, 15:50:57

Titre: Erreur code ressources - MOD eXpedition v1.2.2
Posté par: Santoryu le 07 juin 2020, 15:50:57
Bonjour à tous,

Je viens de mettre à dispo pour mon alliance un OGSpy sur serveur dédié. Pour l'installation, quelques petites batailles de version avec php sinon tout s'est bien passé.
Par contre je me heurte à un bug concernant le mod eXpedition, impossible de lui faire prendre en compte les messages de gain ressources. Tous les autres types de messages d'expédition passent (vaisseaux, retard, pirates, aliens...) mais pas les ressources.

Dans les logs erreur, j'ai ce message :
PHP Warning:  preg_match(): Compilation failed: escape sequence is invalid in character class at offset 33 in /opt/ogspy/mod/expedition/_xtense.php on line 187

La ligne 187 correspond à la première ligne de ce bloc...
                else if(preg_match($regexRess, $content, $expRess) != 0){
                        logging("RESSOURCES");
                        logging("Ressources1 : ".$expRess[1]);
                        logging("Ressources2 : ".$expRess[2]);
                        //      L`attaquant obtient Antimatière (AM) 310.Extrait du journal
                        log_('debug', $expRess[2]);
                        if(preg_match("/Métal/", $expRess[1]))
                        {
                                $typeRess = 0;
                                $met = str_replace('.','', $expRess[2]);
                                $cri = 0;
                                $deut = 0;
                                $antimat = 0;
                        }
                        if(preg_match("/Cristal/", $expRess[1]))
                        {
                                $typeRess = 1;
                                $met = 0;
                                $cri = str_replace('.','', $expRess[2]);
                                $deut = 0;
                                $antimat = 0;
                        }
                        if(preg_match("/Deutérium/", $expRess[1]))
                        {
                                $typeRess = 2;
                                $met = 0;
                                $cri = 0;
                                $deut = str_replace('.','', $expRess[2]);
                                $antimat = 0;
                        }
                        if(preg_match("/Antimatière/", $expRess[1]))
                        {
                                $typeRess = 3;
                                $met = 0;
                                $cri = 0;
                                $deut = 0;
                                $antimat = str_replace('.','', $expRess[2]);
                        }
                        if($typeRess == -1)
                        {
                                die("Parsing Error");
                        }

                        logging("Ressources : Insertion table : ".TABLE_EXPEDITION);
                        $query =
                                        "INSERT INTO ".TABLE_EXPEDITION."
                                        (user_id, date, pos_galaxie, pos_sys, type)
                                        VALUES ($uid, $timestamp, $galaxy, $system, 1)";
                        $db->sql_query($query);
                        $idInsert = $db->sql_insertid();
                        logging("Ressources : Insertion table : ".TABLE_EXPEDITION." = OK");
                        logging("Ressources : Insertion table : ".TABLE_EXPEDITION_RESS);
                        $query =
                                "INSERT INTO ".TABLE_EXPEDITION_RESS."
                                (id_eXpedition, typeRessource, metal, cristal, deuterium, antimatiere)
                                VALUES ($idInsert, $typeRess, $met, $cri, $deut, $antimat)";
                        $db->sql_query($query);
                        logging("Ressources : Insertion table : ".TABLE_EXPEDITION_RESS." = OK");
                        return true;
                }

Quelqu'un aurait une idée?
Merci
Titre: Re : Erreur code ressources - MOD eXpedition v1.2.2
Posté par: DarkNoon le 19 juin 2020, 18:08:27
Hello

La correction a été identifiée. La publication est proche ;-)
Titre: Re : Erreur code ressources - MOD eXpedition v1.2.2
Posté par: roms0406 le 19 juin 2020, 19:00:04
Bonjour,

Oui en effet c'est un problème lié à la version 7.4 de php, un changement dans la syntaxe qui fait que ça ne fonctionne plus normalement.
C'est toujours fonctionnel avec les versions antérieures de php, je n'ai pas eu trop le temps de m'y metttre ces derniers temps, je vais essayer de corriger ça au plus vite ;)
Titre: Re : Erreur code ressources - MOD eXpedition v1.2.2
Posté par: DarkNoon le 30 juin 2020, 16:42:30
La Pull Request est disponible :-)