tout d'abord nous allons defenir nos dialogue
#define LOGDIA 1
ensuite dans la callback OnPlayerConnecte
Si vous utilisé file
<?php
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new str[128];
format(str,sizeof(str)"%s.ini",name);
if(fexist(str))
{
}
return 1;
}
Si vous utiliser Dini
<?php
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new str[128];
format(str,sizeof(str)"%s.ini",name);
if (dini_Exists(str))
{
}
return 1;
}
Pour le moment je n'est en aucun cas créer le tableau.
Désormer nous allons crée une fonction qui vas nous servir plus tard
<?php
LOGINSYS(playerid)
{
new name[MAX_PLAYER_NAME];//variable pseudo
GetPlayerName(playerid,name,sizeof(name));//on retient le pseudo
new loginmsg[256];//variable pour le format
format(loginmsg,256,"Bienvenue sur le sevreur .\n\nCompte:\t%s\n\nEntrer le mot de passe :",name);// le tableau qu'on va afficher
ShowPlayerDialog(playerid,LOGDIA,DIALOG_STYLE_INPUT,"Login ",loginmsg,"Login","Annuler");//creation du tableau
return 1;
}
Voila notre tableau.
Oui mais il faut bien retourner les information pour ce loguer ^^.
rien de plus simple on va utiliser une fonction tres enfantin
<?php
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == LOGDIA)//si le tableau est LOGDIA
{
if(response)//on verifie si on reçoit une reponse
{
new log[256];//variable pour notre format
format(log, 256, "/login %s", inputtext);//la on va faire croire au serveur que le joueur tape /login sonpasse
return OnPlayerCommandText(playerid, log);// on retourne la reponse dans la callback OnPlayerText ^^
}
else//si pas de reponde
{
Kick(playerid);//on kick on peu en deduire que c'est un fake ^^
}
}
return 1;
}
oui mais la comme sa a aucun moment vous verez le tableau en allant sur le serveur car la fonction n'est pas utiliser.
Comment faire tel est la question.
Rien de plus simple
Si vous utliser file
<?php
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new str[128];
format(str,sizeof(str)"%s.ini",name);
if(fexist(str))
{
LOGINSYS(playerid);
}
return 1;
}
Si vous utiliser Dini
<?php
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new str[128];
format(str,sizeof(str)"%s.ini",name);
if (dini_Exists(str))
{
LOGINSYS(playerid);
}
return 1;
}
Voila j'espere que vous avez compris un peu le principe tu dialogue avec ceci
PS pour plus de clareter pour lire le code j'ai mis les balise PHP mais en aucun cas vous devez copier c'est balise sur votre pwn.