Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

249940 Messages dans 13845 Fils de discussion- par 6285 Membres - Dernier membre: pokerman

04 Février 2012 à 21:06:53
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center]Tutoriels et références SA:MP (Modérateurs: S!m, Ssk, Xartrick)[TUTO]Ajouter le tableau login a la connexion si un systeme et deja present
Pages: [1] 2 3   Bas de page
Imprimer
Auteur Fil de discussion: [TUTO]Ajouter le tableau login a la connexion si un systeme et deja present  (Lu 3206 fois)
0 Membres et 1 Invité sur ce fil de discussion.
cristab
[LZR]rambo
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

bonfe nete

Messages: 7210


WWW



« le: 18 Octobre 2009 à 21:25:26 »

tout d'abord nous allons defenir nos dialogue

Code:
#define LOGDIA 1
ensuite dans la callback OnPlayerConnecte

Si vous utilisé file

Code:
<?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

Code:
<?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

Code:
<?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
Code:
<?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

Code:
<?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

Code:
<?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.
« Dernière édition: 04 Novembre 2009 à 12:46:06 par cristab » Journalisée


Je ne fournit pas d'aide en PM pour cela rendez vous ici
Mr_C30
Hors ligne Hors ligne


Team PLP
GTAOnline Addict
*

souvent conquise jamais soumise

Messages: 967






Djames69

« Répondre #1 le: 18 Octobre 2009 à 21:26:50 »

mercie Sourire je te le piquerais certainement pour mon serveur privée Clin d'oeil

gg



Clin d'oeil ++
Journalisée




Manger du radis noir !
>>> >>> >>><<< <<< <<<

Zordiache
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 722






« Répondre #2 le: 18 Octobre 2009 à 21:38:38 »

Bien joué pour le tuto  :dling
Journalisée

JuLi3n67
Apprentis c/++
Hors ligne Hors ligne


GTAOnline Big Member
*

-- LZR Team --

Messages: 324


JuLii3n67

« Répondre #3 le: 18 Octobre 2009 à 21:47:29 »

GG rambonouette  Clin d'oeil

++
Journalisée

MrFredo
Hors ligne Hors ligne


GTAOnline Addict
*

Scripteur PHP/PAWN

Messages: 846


WWW
« Répondre #4 le: 18 Octobre 2009 à 22:10:45 »

Juste pour signaler une tite erreur dans ta define tu met un egal une define na pas besoin du signe egal pour qu'on lui assigne une valeur Sourire

Et personellement je trouve que le terme "tableau" pour designer une boite de dialogue est mal aproprié sa pourait porter a confusion avec un tableau pawn (enfin ce n'est que mon avis ^^)


Sinon GG sa en aidera pas mal je pense
« Dernière édition: 18 Octobre 2009 à 22:12:24 par MrFredo » Journalisée

S!m
Hors ligne Hors ligne


Moderateur
GTAOnline Fan Boy
*

Messages: 2262


« Répondre #5 le: 18 Octobre 2009 à 22:15:36 »

Salut,

petite remarque, il s'agit d'un dialogue permettant de se logger, mais qu'en est-il pour s'enregistrer?
il faudrait deux dialogues
très sympa comme tuto Tire la langue

ps. déplacé

++Sim++
Journalisée





cristab
[LZR]rambo
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

bonfe nete

Messages: 7210


WWW



« Répondre #6 le: 18 Octobre 2009 à 22:19:09 »

ben pour le register on procede de la meme façon en faite sauf que /register d'origine on le remplace par une commande introuvable du genre /fhfhehhfvhsdk et dans le format retourne


Code:
format(log, 256, "/fhfhehhfvhsdk%s", inputtext);//la on va faire croire au serveur que le joueur tape /register sonpasse
return OnPlayerCommandText(playerid, log);

et voila :p
Journalisée


Je ne fournit pas d'aide en PM pour cela rendez vous ici
dixon
Hors ligne Hors ligne


Banni
Tueur en série
*

Jamais Je n'abandonnerai

Messages: 163


WWWDiX0NeLiTe360

« Répondre #7 le: 19 Octobre 2009 à 21:08:48 »

Salut, tu gère grave mec franchement zartek , GG !!!!!!!!!!!

Sinon pour :

Code:
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;
}

J'aurai préference a mettre le return avant comme sa :

Code:
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;
    }

Non j'ai rien dit ^^
« Dernière édition: 19 Octobre 2009 à 21:25:32 par dixon » Journalisée

Modern Sensation RP, Du RP comme vous en avez jamais VU
En Construction | Ouverture Beta Bientôt
cristab
[LZR]rambo
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

bonfe nete

Messages: 7210


WWW



« Répondre #8 le: 19 Octobre 2009 à 21:30:17 »

non enfaite je vais expliquer pourquoi etudions la fonction LOGSYS()

Code:
<?php
LOGINSYS
(playerid)//nom de la fonction
{//ouverture accolade
   
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;// le retour
}

donc si on procede comme tu le dit

Code:
if(fexist(str))
   {
      LOGINSYS(playerid);
      return 1;
    }

on peu interpreter deux return 1; d'affiler donc ce ne seras pas bon de plus il me semble que le compilateur le signaleras Sourire

Sinon bonne remarque
Journalisée


Je ne fournit pas d'aide en PM pour cela rendez vous ici
dixon
Hors ligne Hors ligne


Banni
Tueur en série
*

Jamais Je n'abandonnerai

Messages: 163


WWWDiX0NeLiTe360

« Répondre #9 le: 19 Octobre 2009 à 21:38:43 »

Re, Ok tu m'a fait apprendre quelque chose avec ton tuto et sa je t'en remerci ...

Sinon il me dit que le string est déjà defini mais il me le dit la : new string[MAX_PLAYER_NAME]; Huh? normale ?

Je l'ai fait comme sa :

Code:
public OnPlayerConnect(playerid)
{
   new plname[MAX_PLAYER_NAME];
   GetPlayerName(playerid, plname, sizeof(plname));
   new string[256];
   format(string, sizeof(string), "users/%s.ini", plname);

   if(fexist(string))
   {
      LOGINSYS(playerid);
   }
return1;
}

Mais si je l'enleve il ne compile pas et c'est un peu embarrasant, merci d'avance

Edit : Sinon j'avais eu un probleme avec le LOGDIA, j'avais etait obliger de remplacer par 1 (1 c'est bien le type de menu non ?)
« Dernière édition: 19 Octobre 2009 à 21:42:16 par dixon » Journalisée

Modern Sensation RP, Du RP comme vous en avez jamais VU
En Construction | Ouverture Beta Bientôt
cristab
[LZR]rambo
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

bonfe nete

Messages: 7210


WWW



« Répondre #10 le: 19 Octobre 2009 à 21:57:28 »

non c'est le numeros du menu enfaite tu devait deja avoir le numeros 1

si ton string est deja definie remplace celui ci exemple

Code:
new str[256];
   format(str, sizeof(str), "users/%s.ini", plname);

   if(fexist(str))
   {
Journalisée


Je ne fournit pas d'aide en PM pour cela rendez vous ici
dixon
Hors ligne Hors ligne


Banni
Tueur en série
*

Jamais Je n'abandonnerai

Messages: 163


WWWDiX0NeLiTe360

« Répondre #11 le: 19 Octobre 2009 à 22:10:26 »

Re, Ok merci mais probleme le menu ne s'affiche pas et il dit que le compte n'existe pas Huh?

Bon je te donne tout ce que j'ai fait :

Code:
public OnPlayerConnect(playerid)
{
   new plname[MAX_PLAYER_NAME];
   GetPlayerName(playerid, plname, sizeof(plname));
   new str[256];
   format(str, sizeof(str), "users/%s.ini", plname);

   if(fexist(str))
   {
      LOGINSYS(playerid);
   }
if(Security != 0)
{
    SendClientMessage(playerid, COLOR_YELLOW, " Le centre du serveur a violé une des règles d'accord, l'action a été prise en compte.");
    Kick(playerid);
  return 1;
}
// Le reste c'est tout ce qu'il y a dans onplayerconnect


Apres j'ai mis :

Code:
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 Universal Life .\n\nCompte:\t%s\n\nEntrer le mot de passe :",name);// le tableau qu'on va afficher
   ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login ",loginmsg,"Login","Annuler");//creation du tableau
   return 1;
} //

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(dialogid == 1)//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, "/ident %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;
}
   
Et c'est bien bon ce que j'ai fait pourtant non ?
« Dernière édition: 19 Octobre 2009 à 22:14:59 par dixon » Journalisée

Modern Sensation RP, Du RP comme vous en avez jamais VU
En Construction | Ouverture Beta Bientôt
cristab
[LZR]rambo
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

bonfe nete

Messages: 7210


WWW



« Répondre #12 le: 19 Octobre 2009 à 22:32:48 »

l'extension de tes compte sont e .ini .cfg ou .txt sa peu venir de la

machinalement j'ai mis une extension .ini

format(str, sizeof(str), "users/%s.ini", plname);

mais peu etre que toi c'est autrement ^^
Journalisée


Je ne fournit pas d'aide en PM pour cela rendez vous ici
scott1
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1469


« Répondre #13 le: 04 Novembre 2009 à 10:42:17 »

Si vous utilisé file

Code:
<?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

Code:
<?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;
}





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

Code:
<?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

Code:
<?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;
}


J'utilise file, mais je n'ai pas compris ce que je doit faire avec ces 2 Code

Double post
J'ai tout fait sauf quand tu parle de file et dini car je n'ai pas compris, et j'obtien


Code:
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : error 029: invalid expression, assumed zero
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : warning 215: expression has no effect
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : error 029: invalid expression, assumed zero
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : warning 215: expression has no effect
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : warning 215: expression has no effect
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : warning 215: expression has no effect
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : warning 215: expression has no effect
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : warning 215: expression has no effect
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : error 001: expected token: ";", but found ")"
C:\Users\Maxence\Desktop\LARP\bon 03a\gamemodes\amende8.pwn(3687) : fatal error 107: too many error messages on one line
« Dernière édition: 04 Novembre 2009 à 10:55:13 par scott1 » Journalisée

Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction
cristab
[LZR]rambo
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

bonfe nete

Messages: 7210


WWW



« Répondre #14 le: 04 Novembre 2009 à 11:23:46 »

montre moi le code
Journalisée


Je ne fournit pas d'aide en PM pour cela rendez vous ici
Pages: [1] 2 3   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.884 secondes avec 24 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com