Français Solved Problème d'affichage des identifiants et mots de passe lors de la création de compte préfecture

  • Auteur de la discussion Auteur de la discussion MrB
  • Date de début Date de début

MrB

User
2/8/21
54
3
4
450
Bonjour,
Pour mes début en SQF, j'ai repris un code à coté de moi et j'ai extrait certaines partie du code pour faire quelque chose qui me convient.
Le script consiste à créer un compte "préfecture" depuis un panneau.
Hors quand je créer mon compte préfecture, j'ai bien les message ect ... Mais au moment de la génération des identifiants et mot de passe, rien n'y fait, ça ne s'affiche pas sur ma boite de dialogue ...
J'ai essayé différente manières, mais rien.
Mais aussi toujours lié au script j'ai fais en sorte que ça m'insert automatiquement le player avec des valeurs en "-1", tant que le compte n'est pas créé.
Sauf que pareil ma BDD ne bouge pas. Du coup aucune requête passe.
Quelqu'un peu m'aider svp.
Je vais joindre les différente partie de code.
Merci.

Voici les logs (avec le past-me trop de caractères)

Mission : fn_prefectureCreateAccount.sqf et fn_prefectureInit.sqf
Life_server : fn_addAccountPrefecture.sqf et fn_insertPlayerPrefecture.sqf

Je met la partie de stringtable ou y a le bug :
[CODE lang="xml" title="stringtable.xml"]<Key ID="STR_A3LL_Prefecture_Created_ID">
<Original>Identifiant : %1<br/>Mot de passe : %2</Original>
</Key>[/CODE]

[CODE lang="cpp" title="Function.hpp"]class Life_Client_Core {
tag = "life";
[...]
class prefecture {
file = "core\prefecture";
class prefectureCreateAccount {};
class prefectureInit {};
};
};[/CODE]


[CODE lang="cpp" title="CfgRemoteExec.hpp"]class CfgRemoteExec {
class Functions {
[...]
/// Prefecture
F(life_fnc_prefectureInit,CLIENT)

[...]
/// Prefecture
F(TON_fnc_addAccountPrefecture,SERVER)
F(TON_fnc_insertPlayerPrefecture,SERVER)
[...]

};[/CODE]



[CODE lang="cpp" title="config.cpp du life_server"]class CfgFunctions {

[...]

class TON_System {

tag = "TON";

[...]

class Applications {

file = "\life_server\Functions\Applications";

class addAccountPrefecture {};

class insertPlayerPrefecture {};

};

};

};[/CODE]

Table de la base de donnée :
1642991953931.png

A la confirmation j'ai rien :
1642992047100.png
 

Fichiers joints

Dernière édition:
Solution
En fait le problème c'est simplement que ce fichier n'est jamais appelé :
1643373671171.png

Si tu veux l'appeler à la connexion du joueur, tu peux ajouter dans ton core/init.sqf :
Code:
[(getPlayerUID player)] remoteExec ["TON_fnc_insertPlayerPrefecture",2];
Pour le message de confirmation, ce n'est pas nécessaire d'utiliser le stringtable.xml qui sert juste à faire des traductions. Tu peux essayer de mettre directement le texte dans le code, comme ceci :
Code:
_createConfirmPrefecture = [
    format ["Identifiant : %1<br/>Mot de passe : %2",[_newLoginPrefecture] call life_fnc_numberText,[_newPasswordPrefecture] call life_fnc_numberText],
    localize "STR_A3LL_Prefecture",
    localize "STR_A3LL_Note"
] call BIS_fnc_guiMessage;

---

Pour le fn_insertPlayerPrefecture.sqf, vérifie que ton code est bien exécuté avec des diag_log, par exemples :
Code:
diag_log "DEBUG : Fichier insertPlayerPrefecture exécuté";
diag_log "DEBUG : Avant INSERT";
diag_log "DEBUG : Après INSERT";
 
Salut
Voilà le résultat
Alors je dis pas que le mot de passe est facile à retenir XD
1643224484606.png

En revanche avec les diag_log toujours rien qui s'affiche dans mes logs serveur ...
Merci
 
Hello,
Alors ça fonctionne sans soucis enfin presque ... et merci ;-)
1643584392840.png
Une fois après avoir été sur mon panneau pour obtenir mes ID, pas de soucis ça s'enregistre dans la BDD. En revanche à la reconnexion, il me dis que je peut un nouveau refaire des Identifiants et m'autorise à nouveau, ce qui fait que ça change un nouveau mes identifiants ...
Alors que ma condition à l'air bien construite.
1643584228917.png
Mais déjà ça s'exécute donc bonne nouvelle.
 
Hello,
Après encore le même soucis, et avoir résolu le problème comme tu m'a dit, j'ai constaté que dans le fichier insertPlayerPref par rapport à ma BDD j'avais pas fait de SELECT sur toute les colonne, donc voici maintenant ça fonctionne.
Je te remercie ;-)
 
  • Muscle
  • Love
Les réactions: Maxence et ToMA3