vue [BUG RESOLU] Phalange
Kommunauty
Connexion
Inscription

[BUG RESOLU] Phalange


Dudule Messages : 17

Bonsoir,

Ayant trouvé de l'aide ici il me semble normal d'ouvrir ce post pour vous.

J'ai découvert pas mal de bug sur la phalange.

Pour info je suis sous xNova 2009.4

Alors si vous voulez tester votre phalange, voici une solution :

1 - Prenez une lune, avec phalange et deutérium.

2 - Phalangez une planète à porté.

3 - Une pop-up s'ouvre avec les flottes en vol. (jusque la c'est normal).

4 - Vous pouvez pas modifier l'adresse dans la pop-up logiquement :

Prenons mon exemple : " http://XXX.f/phalanx.php?galaxy=1&system=1&planet=4&planettype=1

5 - Ouvrez un nouvel onglet de firefox, et copier/coller alors votre adresse. Vous avez alors la phalange sur ce nouvel onglet.

6 - Libre a vous alors de modifier les paramètres suivants :

galaxy="X" => Tiens pourquoi pas phalanger en galaxie 2

system="X" => Tiens pourquoi pas phalanger une planète dans un système auquel on a logiquement pas la porté.

planet="X" => Tiens pourquoi pas phalanger une position vide, ou ce cache la flotte de ce raideur avec son vaisseaux de colonisation.

Planettype="X" => Le summum ! Pourquoi pas phalanger un CDR où même une lune !!

Pour palier à toutes ces possibilités, j'ai fait des modification du fichier phalanx.php.

Il faut remplacer :

$TargetInfo = doquery("SELECT * FROM {{table}} WHERE `galaxy` = '". $Galaxy ."' AND `system` = '". $System ."' AND `planet` = '". $Planet ."' AND `planet_type` = '". $PlType ."';", 'planets', true);

Par :


//Modification by Dudule Uni10 afin d'éviter les phalanges hors porté et inter-galaxies !
//Recuperation du niveau de la phalange et calcul de sa portée.
$NiveauPhalange = $PhalanxMoon['phalanx'];
$PorteeCapteur = (($NiveauPhalange)*($NiveauPhalange)) - 1;

// Calcul si hors portée ou non. Etape 1 : Check la galaxie.
if ($Galaxy != $PhalanxMoon['galaxy'] ) {
message ('Seul chuck Norris peut phalanger à travers les galaxies !');
}
// Calcul si hors portée ou non. Etape 2 : Check les système solaire.
if (($System - $PhalanxMoon['system']) >= 0) {
if (($System - $PhalanxMoon['system']) > $PorteeCapteur)  {
message ('Votre phalange ne peut pas capter des flottes à cette distance');
}
} else {
if (($PhalanxMoon['system'] - $System) > $PorteeCapteur) {
message ('Votre phalange ne peut pas capter des flottes à cette distance');
}
}

//Modification by Dudule Uni10 afin d'éviter les phalanges de lune à lune !
if ($PlType != 1) {
$PlType  = 0;
message ('Seul Chuck Norris peut phalanger des lunes ou des champs de ruines, et sans phalange, pour dire !');
}

//Modification by Dudule Uni10 afin d'éviter les phalanges de position libre !
//Determination si la position est colonisé où non
$select = doquery("SELECT * FROM {{table}} WHERE `galaxy` = '". $Galaxy ."' AND `system` = '". $System ."' AND `planet` = '". $Planet ."' AND `planet_type` = '". $PlType ."';", 'planets', true);
if (!empty($select['id_owner'])) {
$UsedPlanet = 1;
} else {
$UsedPlanet = 0;
}
//Si la position est pas colonisé, on envoie un jolie message.
if ($UsedPlanet != 1 ) {
$PlType  = 0;
message ('Seul Chuck Norris peut phalanger des positions vides, et sans phalange, pour dire !');
}

//Tous les tests sont passé sans soucis, on recupere les infos de flottes en vols.
$TargetInfo = doquery("SELECT * FROM {{table}} WHERE `galaxy` = '". $Galaxy ."' AND `system` = '". $System ."' AND `planet` = '". $Planet ."' AND `planet_type` = '". $PlType ."';", 'planets', true);

Je suis apprenti en php & mysql. Il se peut que certaines formes de requête où autre ne sont pas très correcte où optimisé.

Je serai ravi d'apprendre comment corriger cela. En tout cas, ce rajout à été testé dans tout les sens ! et fonctionne

Rappel : version valable pour 2009.4

enjoy

lundi 24 juin 2013

Répondre Pour répondre, tu dois d'abord t'inscrire rapidement sur Kommunauty. Rejoins-nous vite !