Connexion avec identifiant, mot de passe et durée de la session
Rechercher
Accueil Aide MembresCalendrier Sistearth Wiki Inscrivez-vous
Nouvelles: [1/1] Pour tout problème lié à votre accès au forum, contactez Arcadia ou Oniria dans le jeu.
Pages: [1] 2   Bas de page
  Imprimer  
Auteur Fil de discussion: quete de clan - le retour  (Lu 18457 fois)
Cain
Arrivant (0)
Inactifs
 

Hors ligne Hors ligne

Messages: 968


Fiche de perso Voir le profil
« le: 12 Juin 2013 à 09:15:32 »

Bon,

http://royaumes.sistearth.com/index.php?topic=4842.0

Ne pouvant le réouvrir, je repost ce bug.
Etape 3 ou 4 je sais plus, choix entre un pnj et des levels. Je prends le pnj, je lag, je reclic sur le choix de l'étape et....

A nouveau cet écran me disant en gros que je suis un membre à l'essai.
Rien n'a changé, chui chef et pas en essai, et a mon avis, tout mon clan a ce probleme.
Signaler au modérateur   Journalisée
Tohwi
Prince (175)
Seizon
 

Hors ligne Hors ligne

Messages: 1737



Fiche de perso Voir le profil
« Répondre #1 le: 12 Juin 2013 à 10:22:46 »

Effectivement, j'étais sur le PNJ et je ne pouvais pas valider l'étape...
Signaler au modérateur   Journalisée
Mel
Traître (1)
Administrateur
 
*****
Hors ligne Hors ligne

Messages: 1724



Fiche de perso Voir le profil WWW
« Répondre #2 le: 12 Juin 2013 à 14:20:49 »

...

J'ai regardé le code et dessuite, je n'ai plus envie de chercher à corriger le bug...

fichier joint: extrait de la page clan (la seule, l'unique). fichier de 1773 lignes

* sistearthClanQuete.php (15.71 Ko - Téléchargé 402 fois.)
Signaler au modérateur   Journalisée
alania
Citoyenne modèle (67)
Inactifs
 

Hors ligne Hors ligne

Messages: 69


Fiche de perso Voir le profil
« Répondre #3 le: 12 Juin 2013 à 15:29:02 »

c'est cette partie qui ne s'affiche pas, probablement une variable qui est mal initialisé

Citation
else switch ($Mission["EtapeType$EtapeEnCours"])
         {
            case 1: //PNJ
            {               
               DisplayQueteClanTexte($Mission["EtapeType$EtapeEnCours"],$EtapeEnCours,$Clan["ClanID"],$Mission["Info1_$EtapeEnCours"]);
               $requete = "select EntiteNom,Px,Py,ZoneID from pnj where EntiteID = ".$Mission["Info1_$EtapeEnCours"];
               $PNJ = fetch(query($requete));               
               $requete = "select Px,Py,ZoneID from pj left join pjclan on pjclan.PjID = pj.EntiteID where GradeID>0 and EntiteID = ".$_SESSION["PjID"];
               $PJ = fetch(query($requete));   

               if($PNJ["Px"]==$PJ["Px"] && $PNJ["Py"]==$PJ["Py"] && $PNJ["ZoneID"]==$PJ["ZoneID"])
               {
                  $EtapeValidable = true;
               }
               else
               {
                  echo "<br><br>Vous n'êtes pas au bon endroit pour donner la lettre qui vous a été confiée";
               }
               break;
            }

Soit ca plante et il y a des logs,
soit on entre pas dans cette condition, à cause de Mission ou EtapeEnCours mal initialisé.
Il faudrait ajouter un default à la fin du switch avec un message d'erreur pour en être sure, et pourquoi pas afficher aussi les variables comme ça on pourrais te donner le résultat

NB: le message ne dis pas qu'on est membre a l'essai, c'est juste le message standard : "Attention pour tout ce qui suit, les membres à l'essai du clan ne sont pas impliqués dans la quête!"
« Dernière édition: 12 Juin 2013 à 16:15:15 par alania » Signaler au modérateur   Journalisée
Tohwi
Prince (175)
Seizon
 

Hors ligne Hors ligne

Messages: 1737



Fiche de perso Voir le profil
« Répondre #4 le: 12 Juin 2013 à 17:02:19 »

...
Ce code oO

Je soupçonne très fortement un problème d'accès concurrent à cet endroit du code (normal, aucun envoi POST n'est vérifié) :

Code:
 if($_POST["Choix"] == 1)
                                $requete = "update quetedivine set EtapeType$EtapeEnCours = EtapeChoix1, Info1_$EtapeEnCours = InfoChoix1_1, Info2_$EtapeEnCours = InfoChoix1_2 where ClanID=".$Clan["ClanID"];
                        elseif($_POST["Choix"] == 2)
                                $requete = "update quetedivine set EtapeType$EtapeEnCours = EtapeChoix2, Info1_$EtapeEnCours = InfoChoix2_1, Info2_$EtapeEnCours = InfoChoix2_2 where ClanID=".$Clan["ClanID"];
                        if($_POST["Choix"] == 1 || $_POST["Choix"] == 2)
                        {
                                query($requete);
                                query("update quetedivine set EtapeChoix1 = 0, InfoChoix1_1 = 0, InfoChoix1_2 = 0, EtapeChoix2 = 0, InfoChoix2_1 = 0, InfoChoix2_2 = 0 where ClanID=".$Clan["ClanID"]);
                                echo "Choix Effectué<br><br>";
}

Ex :
- Joueur 1 valide choix 1
     => EtapeType$EtapeEnCours = EtapeChoix1, Info1_$EtapeEnCours = InfoChoix1_1 = quelque chose de pertinent (première requête)
     => InfoChoix1_1 = 0 (deuxième requête)
- Joueur 2, qui avait sa page ouverte avant que joueur ne valide, revalide choix 1
     =>  EtapeType$EtapeEnCours = EtapeChoix1, Info1_$EtapeEnCours = InfoChoix1_1 = 0 = BUG (première requête)

Pour résoudre le bug : vérifier que l'étape n'est pas déjà validée.
Signaler au modérateur   Journalisée
alania
Citoyenne modèle (67)
Inactifs
 

Hors ligne Hors ligne

Messages: 69


Fiche de perso Voir le profil
« Répondre #5 le: 13 Juin 2013 à 15:12:57 »

D'après ce que je lis, c'est le dernier qui valide qui l'emporte, mais cela ne créer pas d’incohérence dans la base. (Mais le php n'est pas mon fort, je peux me tromper.)

Il faudrait voire le contenu des variables pour savoir ou ca bug.

avez vous acces aux logs, car je viens de remarquer que Cain devrait au moins voir ça, or s'il ne le voit pas c'est que le script s’arrête anormalement plus tot!

Citation
if($Grade == $GRADE["chef"])
         {      
            echo "<br><br><h3>Abandonner la quête en cours :</h3>";
            echo "Abandonner une quête peut apporter au clan le courroux de la divinité qui vous l'avait confiée. <br>Réfléchissez-y à deux fois!<br><br>";
            ?>   <form name="AbandonnerQuete" method="post" onSubmit="return cSubmit();">   
               <input class="bouton" type="submit" name="AbandonnerQuete" value="Abandonner la quête">
               </form>
            <?   
         }


et je pense qu'il manque un argument a la fonction DisplayQueteClanTexte pour le cas 1 :
Citation
else switch ($Mission["EtapeType$EtapeEnCours"])
         {
            case 1: //PNJ
            {               
               DisplayQueteClanTexte($Mission["EtapeType$EtapeEnCours"],$EtapeEnCours,$Clan["ClanID"],$Mission["Info1_$EtapeEnCours"]);
en effet les autres appels ont plus d'arguments
Citation
case 2: //Livre
            {
               DisplayQueteClanTexte($Mission["EtapeType$EtapeEnCours"],$EtapeEnCours,$Clan["ClanID"],$Mission["Info1_$EtapeEnCours"],$Mission["Info2_$EtapeEnCours"]);
« Dernière édition: 13 Juin 2013 à 15:52:05 par alania » Signaler au modérateur   Journalisée
Tohwi
Prince (175)
Seizon
 

Hors ligne Hors ligne

Messages: 1737



Fiche de perso Voir le profil
« Répondre #6 le: 13 Juin 2013 à 19:33:40 »

D'après ce que je lis, c'est le dernier qui valide qui l'emporte, mais cela ne créer pas d’incohérence dans la base. (Mais le php n'est pas mon fort, je peux me tromper.)
Non non, comme je l'ai écrit plus en détail en dessus :
- la première requête met à jour les infos en fonction des champs InfoChoixn_n
- la deuxième requête met les champs InfoChoixn_n à 0
Du coup, relancer la même requête entraîne de mettre à jour les infos avec un champ InfoChoixn_n qui vaut maintenant 0.

D'ailleurs il me semble que la dernière fois, le problème était que deux personnes avaient cliqué "en même temps".
Signaler au modérateur   Journalisée
alania
Citoyenne modèle (67)
Inactifs
 

Hors ligne Hors ligne

Messages: 69


Fiche de perso Voir le profil
« Répondre #7 le: 14 Juin 2013 à 12:27:01 »

en effet tu as raison, je n'avais pas remarqué qu'il y avait ecrasement des donnes dans la base par le premier!
il faut donc qu'un admin modifie la base pour qu'on puisse continuer et qu'il ajoute le test pour eviter que ca ne recommence
« Dernière édition: 14 Juin 2013 à 12:38:22 par alania » Signaler au modérateur   Journalisée
Mel
Traître (1)
Administrateur
 
*****
Hors ligne Hors ligne

Messages: 1724



Fiche de perso Voir le profil WWW
« Répondre #8 le: 14 Juin 2013 à 19:01:01 »

Je suis en train de bosser dessus et plutot que de patcher de manière bourrine un code bancal, je recode le tout.
Il doit me rester entre une et deux heure de boulot pour finir. Ca sera normalement pret ce WE.

Toutes les quêtes en cours seront annulées (mais vous gagnerez des PC fonction du nombre d'étapes qui auront été validées).
« Dernière édition: 14 Juin 2013 à 22:11:47 par Mel » Signaler au modérateur   Journalisée
Lysithea
Citoyenne (7)
Inactifs
 

Hors ligne Hors ligne

Messages: 1113



Fiche de perso Voir le profil
« Répondre #9 le: 15 Juin 2013 à 11:03:28 »

Du coup il y aura moyen de rajouter de nouvelles possibilités d'étape ? Sourire
Signaler au modérateur   Journalisée

Calypso
Invité
« Répondre #10 le: 15 Juin 2013 à 12:30:05 »

Ohhh Mel je t'aime!!!
Signaler au modérateur   Journalisée
Mel
Traître (1)
Administrateur
 
*****
Hors ligne Hors ligne

Messages: 1724



Fiche de perso Voir le profil WWW
« Répondre #11 le: 15 Juin 2013 à 14:23:24 »

Du coup il y aura moyen de rajouter de nouvelles possibilités d'étape ? Sourire

ouais

vous pouvez faire un post dans A&I Clin d'oeil
Signaler au modérateur   Journalisée
Tohwi
Prince (175)
Seizon
 

Hors ligne Hors ligne

Messages: 1737



Fiche de perso Voir le profil
« Répondre #12 le: 15 Juin 2013 à 14:47:48 »

Toutes les quêtes en cours seront annulées (mais vous gagnerez des PC fonction du nombre d'étapes qui auront été validées).
On peut nous valider notre étape en cours alors, histoire de pas être floués de quelques PCs ? :p
Signaler au modérateur   Journalisée
Tagornis
Arrivant (0)
Inactifs
 

Hors ligne Hors ligne

Messages: 143


SSN


Fiche de perso Voir le profil
« Répondre #13 le: 15 Juin 2013 à 16:38:39 »

C'est lié uniquement au quête de clan ou aussi au quête normale ?
Signaler au modérateur   Journalisée
Connavar
Citoyen (4)
Inactifs
 

Hors ligne Hors ligne

Messages: 546


Fiche de perso Voir le profil
« Répondre #14 le: 15 Juin 2013 à 22:30:15 »

quete de clan
Signaler au modérateur   Journalisée
Mel
Traître (1)
Administrateur
 
*****
Hors ligne Hors ligne

Messages: 1724



Fiche de perso Voir le profil WWW
« Répondre #15 le: 17 Juin 2013 à 01:28:05 »

Je suis en train de bosser dessus et plutot que de patcher de manière bourrine un code bancal, je recode le tout.
Il doit me rester entre une et deux heure de boulot pour finir. Ca sera normalement pret ce WE.

Toutes les quêtes en cours seront annulées (mais vous gagnerez des PC fonction du nombre d'étapes qui auront été validées).

hé bien non... j'ai rien fait ce WE donc... le prochain Clin d'oeil
Signaler au modérateur   Journalisée
Tohwi
Prince (175)
Seizon
 

Hors ligne Hors ligne

Messages: 1737



Fiche de perso Voir le profil
« Répondre #16 le: 17 Juin 2013 à 23:41:11 »

Possible de nous débloquer notre quête en attendant ?
Signaler au modérateur   Journalisée
Mel
Traître (1)
Administrateur
 
*****
Hors ligne Hors ligne

Messages: 1724



Fiche de perso Voir le profil WWW
« Répondre #17 le: 18 Juin 2013 à 10:12:44 »

oué, j'ai "annulé" votre étape. Il faut la repasser.
Vu que c'est la conaissance d'un savoir, ça ne devrait pas poser de problèmes, enfin, il me semble.
Evitez de cliquer 40 fois pour la valider, c'tout Clin d'oeil
Signaler au modérateur   Journalisée
alania
Citoyenne modèle (67)
Inactifs
 

Hors ligne Hors ligne

Messages: 69


Fiche de perso Voir le profil
« Répondre #18 le: 18 Juin 2013 à 10:44:59 »

merci

on se prend un malus de 2 etapes mais celle ci sera rapidement validé.
Signaler au modérateur   Journalisée
Cain
Arrivant (0)
Inactifs
 

Hors ligne Hors ligne

Messages: 968


Fiche de perso Voir le profil
« Répondre #19 le: 18 Juin 2013 à 11:31:28 »

Merci !

Evitez de cliquer 40 fois pour la valider, c'tout Clin d'oeil
wtf
Bon ok, j'arrete de prendre mon téléphone 3G en pleine foret
Signaler au modérateur   Journalisée
Pages: [1] 2   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.20 | SMF © 2006-2008, Simple Machines XHTML 1.0 Transitionnel valide ! CSS valide !
Reflection Theme by [cer]
Page générée en 0.07 secondes avec 23 requêtes.