GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: rivoal29 le 13 Septembre 2008, 21:28:33

Titre: "Comparer pseudo"
Posté par: rivoal29 le 13 Septembre 2008, 21:28:33
Salut a tous !

Voila je me suis remis dans le C   ::)

Donc j'ai un problème je voudrait dans un script " Comparer un pseudo " en quelque sorte

Je m'explique :
Par exemple si moi rivoal spawn dans mon serveur je voudrait euuu plus d'argent ( car je suis admin ) ( C'est un exemple )
MAIS pas les autre donc j'ai essayer mais error !!!!

Code:

Code: (cpp) [Sélectionner]
new Name[MAX_PLAYER_NAME];
Name = GetName(playerid);

new name[MAX_PLAYER_NAME];
name = "Rivoal29";


if( (name == Name) )
{
    // je mettrais l'action après

}
else
{
   // pareil après

}

}


stock GetName(playerid)
{
    new PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
    return PlayerName;
}


error :

(c'est dans une include )

Code: (cpp) [Sélectionner]
C:\Users\Gurvan\Desktop\delta\pawno\include\delta.inc(290) : error 033: array must be indexed (variable "name")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

 :-\  :'(
Titre: Re : "Comparer pseudo"
Posté par: Bayshore le 13 Septembre 2008, 21:35:25
Bah enlèves l'include.

Sinon, fais voir ce qu'elle contient.
Titre: Re : "Comparer pseudo"
Posté par: Nikko™ le 13 Septembre 2008, 21:52:48
Il y a un moyent plus simple de comparer les pseudo ...

new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(strcmp(PlayerName, "TON NOM ICI", true) == 0)
{
ACTIONS ICI
}else{
PAREIL
}

++
nikko
Titre: Re : Re : "Comparer pseudo"
Posté par: rivoal29 le 13 Septembre 2008, 22:07:50
Il y a un moyent plus simple de comparer les pseudo ...

new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(strcmp(PlayerName, "TON NOM ICI", true) == 0)
{
ACTIONS ICI
}else{
PAREIL
}

++
nikko


oui je vien d'éssayer sa et sa marche pas

je montre l'include:

Code: (cpp) [Sélectionner]
#if defined _delta_included
  #endinput
#endif
#define _delta_included
#pragma library delta

stock IsPlayerAdmin(playerid)
{

new name[256];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name,"Rivoal29", true)==0){
return true;
}else{
return false;
}
}


stock GetName(playerid)
{
    new PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
    return PlayerName;
}


Voila en faite je veux que on lieu que je tape le code et ben que quand je tape une commande admin et ben sa vérifier mon pseudo

et aussi j'ai suprimmer le IsPlayerAdmin dans a_samp
Titre: Re : "Comparer pseudo"
Posté par: Eloctro le 13 Septembre 2008, 22:25:04
Bas tu mes le code dans la comandes !
Titre: Re : "Comparer pseudo"
Posté par: rivoal29 le 13 Septembre 2008, 22:32:44
yen a beaucoup ! mais doit y avoir un truc.....
Titre: Re : "Comparer pseudo"
Posté par: Bayshore le 13 Septembre 2008, 22:38:43
Chaud ton système, c'est pas comme ça que ça marche pour remplacer une fonction par une autre.
» http://forum.sa-mp.co.uk/index.php/topic,248.0.html#post_native

Sinon je sais pas pour l'array... ;s
Titre: Re : "Comparer pseudo"
Posté par: rivoal29 le 13 Septembre 2008, 22:47:09
Vache rien compris

Sinon pour mettre sur toute les commande

Et ben j'ai essaye de mettre sa :

Code: (cpp) [Sélectionner]
new name[256];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name,"Rivoal29", true)==0)//Admin Commandes Start
{

A la place d'un truc isplayeradmin et j'ai essayer la commande sa marche pas je comprend pas quand j'aver mon ancien serveur sa marchais mais j'ai perdu la source ( réinisialisation de l'ordi ) ....
Titre: Re : "Comparer pseudo"
Posté par: Lababalle le 13 Septembre 2008, 22:48:37
C'est du langage C ca ??
Titre: Re : "Comparer pseudo"
Posté par: NatiVe™ le 13 Septembre 2008, 22:49:03
Nan PAWN

NV.

Titre: Re : "Comparer pseudo"
Posté par: Eloctro le 13 Septembre 2008, 22:59:15
Alors :


public OnPlayerCommandText(playerid, cmdtext[])
{

if (strcmp("/commands", cmdtext, true, 10) == 0)
{

new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(strcmp(PlayerName, "TON NOM ICI", true) == 0)//Les majuscules doit-être respecter
{
//Action
}else{
//Sinon
}

    return 1;
}

return 1;
}
Voila et le ELSE est si la gar s'appele pas Rivoal29
Titre: Re : "Comparer pseudo"
Posté par: Lababalle le 13 Septembre 2008, 23:00:54
Me disait bien une fois j'avais tenter de l'apprendre et il y avait rien de tout ça  :lmao
Titre: Re : Re : "Comparer pseudo"
Posté par: Bayshore le 13 Septembre 2008, 23:21:38
Alors :


public OnPlayerCommandText(playerid, cmdtext[])
{

if (strcmp("/commands", cmdtext, true, 10) == 0)
{

new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(strcmp(PlayerName, "TON NOM ICI", true) == 0)//Les majuscules doit-être respecter
{
//Action
}else{
//Sinon
}

    return 1;
}

return 1;
}
Voila et le ELSE est si la gar s'appele pas Rivoal29

Il veut le mettre dans une include.
Titre: Re : "Comparer pseudo"
Posté par: rivoal29 le 14 Septembre 2008, 10:08:39
Je montre ce que j'ai dans OnPlayerCommands :



Code: (cpp) [Sélectionner]
/*if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}*/

new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(strcmp(PlayerName, "Rivoal29", true) == 0)//Les majuscules doit-être respecter
{//Start Admin Commandes


// Mes Commandes Admin

} //Admin Commandes Stop

Et sa sa marche pas .....
Titre: Re : "Comparer pseudo"
Posté par: Bayshore le 14 Septembre 2008, 10:31:13
T'aurais pas un return qui se ballade ?
Titre: Re : "Comparer pseudo"
Posté par: Nikko™ le 14 Septembre 2008, 11:53:30
Chez moi ca ca marche impecable, suffit de rajouter le stock

++
nikko
Titre: Re : Re : "Comparer pseudo"
Posté par: rivoal29 le 14 Septembre 2008, 12:24:21
Chez moi ca ca marche impecable, suffit de rajouter le stock

++
nikko

où quel stock ?

un return ben non ...

j'ai un
Code: (cpp) [Sélectionner]
return 0;
a la fin de mon OnPlayerCommands
Titre: Re : "Comparer pseudo"
Posté par: Eloctro le 14 Septembre 2008, 13:20:40
OnPlayerCommandeText.......
{

new PlayerName[MAX_PLAYER_NAME];

GetPlayerName(playerid, PlayerName, sizeof(PlayerName));

if(strcmp(PlayerName, "Rivoal29", true) == 0)//Les majuscules doit-être respecter

{//Start Admin Commandes

 

 
// Mes Commandes Admin


} //Admin Commandes Stop
}
Return 1;
Titre: Re : "Comparer pseudo"
Posté par: rivoal29 le 14 Septembre 2008, 13:43:57
(http://smileys-fr.com/smileys/enerver/mad.gif)(http://smileys-fr.com/smileys/enerver/mad.gif)(http://smileys-fr.com/smileys/enerver/mad.gif)

Marche pas sa commence a soulllééé c'te truc (http://www.smileys-fr.com/smileys/informaticien/12.gif)

(http://smileys-fr.com/smileys/enerver/mad.gif)(http://smileys-fr.com/smileys/enerver/mad.gif)(http://smileys-fr.com/smileys/enerver/mad.gif)

C'est bizare j'ai aucun message qui dit que la commande marche pas (http://smileys-fr.com/smileys/informaticien/pc.gif)

(http://smileys-fr.com/smileys/enerver/mad.gif)(http://smileys-fr.com/smileys/enerver/mad.gif)(http://smileys-fr.com/smileys/enerver/mad.gif)
Titre: Re : "Comparer pseudo"
Posté par: Eloctro le 14 Septembre 2008, 13:48:19
C'est quoi tes erreurs alors ?
Titre: Re : "Comparer pseudo"
Posté par: Nikko™ le 14 Septembre 2008, 15:27:24
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(strcmp(PlayerName, "Nikko", true) == 0)
{

;)

++
nikko
Titre: Re : Re : "Comparer pseudo"
Posté par: rivoal29 le 14 Septembre 2008, 18:46:51
C'est quoi tes erreurs alors ?

Aucune mais dans le jeux sa ne marche pas


new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(strcmp(PlayerName, "Nikko", true) == 0)
{



;)

++
nikko


J'essaye et j'edite

EDIT : marche pas j'ai essayer dans la commande marche pas non plus !
Pourquoi moi sa marche pas ? (http://)
Titre: Re : "Comparer pseudo"
Posté par: Nikko™ le 14 Septembre 2008, 20:45:21
Quest ce qui marche pas ?

++
nikko
Titre: Re : Re : "Comparer pseudo"
Posté par: rivoal29 le 15 Septembre 2008, 18:00:41
Quest ce qui marche pas ?

++
nikko

Dans le jeux quand je fait la commande elle ne marche pas
Titre: Re : "Comparer pseudo"
Posté par: Nikko™ le 15 Septembre 2008, 21:03:26
Tu peux montrer ta commande ??

++
nikko
Titre: Re : "Comparer pseudo"
Posté par: Bayshore le 19 Septembre 2008, 19:00:57
Bon bah commences à déboguer.

Code: (pawn) [Sélectionner]
printf( "PlayerName : %s // Rivoal29 : %s", PlayerName, "Rivoal29" );
Titre: Re : "Comparer pseudo"
Posté par: Nikko™ le 19 Septembre 2008, 21:22:04
Cest bizar cette histoire, jai retester chez moi, dans une commande quelquonque, et ca marche impec .....

++
nikko
Titre: Re : Re : "Comparer pseudo"
Posté par: rivoal29 le 21 Septembre 2008, 10:52:29
Bon bah commences à déboguer.

Code: (pawn) [Sélectionner]
printf( "PlayerName : %s // Rivoal29 : %s", PlayerName, "Rivoal29" );

je vais essayer sa et j'te dit ce quil y a dans la fenetre

EDIT :

QUE DALLE  !!! Je montre le tout comme sa ...

Code: (cpp) [Sélectionner]
public OnPlayerCommandText(playerid, cmdtext[])
{
/*if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}*/

/*new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(strcmp(PlayerName, "Rivoal29", true) == 0)//Les majuscules doit-être respecter
{//Start Admin Commandes*/


new PlayerName[MAX_PLAYER_NAME];

GetPlayerName(playerid, PlayerName, sizeof(PlayerName));

printf( "PlayerName : %s // Rivoal29 : %s", PlayerName, "Rivoal29" );

if(strcmp(PlayerName, "Rivoal29", true) == 0)//Les majuscules doit-être respecter

{//Start Admin Commandes



printf( "PlayerName : %s // Rivoal29 : %s", PlayerName, "Rivoal29" );
// Mes Commandes Admin

if (strcmp("/oe", cmdtext, true, 3) == 0)
{
if(OE == 0)
{
GameTextForPlayer(playerid,"~n~~n~~n~~n~~y~Object Editor ~g~~h~Activer",2000,3);
SendRconCommand("loadfs OE");
OE=1;
}
else
{
GameTextForPlayer(playerid,"~n~~n~~n~~n~~y~Object Editor ~r~DeActiver",2000,3);
SendRconCommand("unloadfs OE");
OE=0;
}
    return 1;
}
} //Admin Commandes Stop
return 0;
}



EDIT 2 :

Trouver c'est l'un des FS qui bug mais lequel j'vais les essayer ...