GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: omar93500 le 30 Octobre 2007, 18:18:56

Titre: Probleme GameTextForAll
Posté par: omar93500 le 30 Octobre 2007, 18:18:56
Bonjopur j'ai un probleme pawno me montre comme erreur:
C:\DOCUME~1\IMPERI~1\Bureau\SERVEU~1\GAMEMO~1\lsstunt.pwn(73) : error 035: argument type mismatch (argument 1)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Voici le code:
public OnPlayerSpawn(playerid)

{
    if(IsPlayerAdmin(playerid))
   {
new name[ 24 ], string[ 256 ];
    GetPlayerName( playerid, name, 24 );
    format( string, sizeof( string ), "Admin %s vien de se connecter", name );
    GameTextForAll( 0xFFFF00AA, string );
   }
Titre: Re : Probleme GameTextForAll
Posté par: R@f le 30 Octobre 2007, 18:26:01
GameTextForAll(string,1000,1);

1000 est le temps, donc 1sec = 1000
1 est le type de texte

++
R@f
Titre: Re : Probleme GameTextForAll
Posté par: Sismix84 le 30 Octobre 2007, 18:26:39
j'avais un code dans le même type mais ce n'est pas du GameTextForAll mais du SendClientMessageToAll, je te met le code

public OnPlayerSpawn(playerid)

{
   
if(IsPlayerAdmin(playerid))
   
{
   
SendClientMessageToAll(playerid, 0xFFFF00AA, "Admin %s vien de se connecter");

}
Titre: Re : Re : Probleme GameTextForAll
Posté par: spykerc8 le 30 Octobre 2007, 18:32:02
j'avais un code dans le même type mais ce n'est pas du GameTextForAll mais du SendClientMessageToAll, je te met le code

public OnPlayerSpawn(playerid)

{
   
if(IsPlayerAdmin(playerid))
   
{
   
SendClientMessageToAll(playerid, 0xFFFF00AA, "Admin %s vien de se connecter");

}

Ton code ne marchera pas pour plusieurs raisons :

Tu n'as pas défini de string (%s) à afficher avant le SendClient...
Tu as mis un playerid alors que le message doit être envoyer à tous
Tu n'as pas mis de string à afficher dans le SendClient...
Il te manque une accolade pour fermer le callback.

Au passage, si tu mets ça dans OnPlayerSpawn, tu auras le message à chaque spawn, ce qui est pas terrible...
Titre: Re : Probleme GameTextForAll
Posté par: Sismix84 le 30 Octobre 2007, 18:37:52
a mince désolé je me suis trompé, mais j'avais une commande dans ce genre la que j'ai supprimé à cause justement du problème que le message apparaissais à chaque spawn.
Titre: Re : Probleme GameTextForAll
Posté par: UrbanGhetto le 30 Octobre 2007, 21:44:26
Sismix je crois qu'il faut mettre un

return0;
}


A la place de la balise } pour que le message ne s'affiche qu'une fois. Enfin si je me trompe pas...
Titre: Re : Probleme GameTextForAll
Posté par: Sismix84 le 30 Octobre 2007, 21:48:13
je vient de me le faire le code et ça donne ça :

public OnPlayerConnect(playerid) {

if (GetPlayerName(playerid,"(nom de l'admin)",16))
   {
new name[ 24 ], string[ 256 ];
    GetPlayerName( playerid, name, 24 );
    format( string, sizeof( string ), "L'admin %s vien de se connecter", name );
    GameTextForAll(string, 3000, 1);
   }

return 1;
}

EDIT : En fait ce code ne marche pas grace à l'intervention de Urban, même si le joueur n'est pas admin son nom apparrais dans le message.
Titre: Re : Probleme GameTextForAll
Posté par: [StAfF]MaN le 30 Octobre 2007, 23:49:59
ça devrait êrte bon ^^
Titre: Re : Re : Probleme GameTextForAll
Posté par: spykerc8 le 31 Octobre 2007, 00:47:38
je vient de me le faire le code et ça donne ça :

public OnPlayerConnect(playerid) {

if (GetPlayerName(playerid,"(nom de l'admin)",16))
   {
new name[ 24 ], string[ 256 ];
    GetPlayerName( playerid, name, 24 );
    format( string, sizeof( string ), "L'admin %s vien de se connecter", name );
    GameTextForAll(string, 3000, 1);
   }

return 1;
}

EDIT : En fait ce code ne marche pas grace à l'intervention de Urban, même si le joueur n'est pas admin son nom apparrais dans le message.

Encore une fois, tu fais du code qui ne sert rigoureusement à rien...
Si tu connais déjà le nom de l'admin je vois pas pourquoi tu le re-récupères apres xD

De plus, si tu le mets dans OnPlayerConnect tu n'as aucun moyen de savoir s'il est bien admin ou si c'est pas quelqu'un qui se fait passer pour lui...

Titre: Re : Probleme GameTextForAll
Posté par: Sismix84 le 31 Octobre 2007, 12:42:05
je sais que mes code ne sont pas parfais mais comme je débuté je ne connais pas encore tout
Titre: Re : Probleme GameTextForAll
Posté par: UrbanGhetto le 31 Octobre 2007, 17:23:21
Correction du code :

public OnPlayerConnect(playerid) {

if (GetPlayerName(playerid,"(nom de l'admin)",16))
   {
new name[ 24 ], string[ 256 ];
    GetPlayerName( playerid, name, 24 );
    format( string, sizeof( string ), "L'admin %s vien de se connecter", name );
    GameTextForAll(string, 3000, 1);
   }

return 1;
}

En cours...

Correction terminée à 100%  :)

public OnPlayerConnect(playerid) {

new name[256];
GetPlayerName(playerid, name, sizeof(name));

if(strcmp(name,"/*Nom*/", true)==0){
    new namee[ 24 ], string[ 256 ];
    GetPlayerName( playerid, namee, 24 );
    format(string,sizeof(string), "L'admin %s vien de se connecter",namee);
    GameTextForAll(string,3000,1);
}

return 1;
}
Titre: Re : Re : Probleme GameTextForAll
Posté par: spykerc8 le 31 Octobre 2007, 17:50:03

public OnPlayerConnect(playerid) {

new name[256];
GetPlayerName(playerid, name, sizeof(name));

if(strcmp(name,"/*Nom*/", true)==0){
    new namee[ 24 ], string[ 256 ];
    GetPlayerName( playerid, namee, 24 );
    format(string,sizeof(string), "L'admin %s vien de se connecter",namee);
    GameTextForAll(string,3000,1);
}

return 1;
}

L'utilité de récup deux fois le nom dans deux variables différentes?...


Code: (C) [Sélectionner]
public OnPlayerConnect(playerid) {

new name[256];
GetPlayerName(playerid, name, sizeof(name));

if(strcmp(name,"/*Nom*/", true)==0){
    new string[ 256 ];
    format(string,sizeof(string), "L'admin %s vient de se connecter",name);
    GameTextForAll(string,3000,1);
}

return 1;
}
Titre: Re : Probleme GameTextForAll
Posté par: UrbanGhetto le 31 Octobre 2007, 17:57:27
Oups j'y ai pas penser lol


Edit : pancer != penser  :D
Titre: Re : Re : Probleme GameTextForAll
Posté par: Syg le 31 Octobre 2007, 22:19:23
Edit : pancer != penser  :D

Normal car "pancer" n'est pas un verbe de la langue française.
Il existe bien "panser" dont voici un exemple d'utilisation :
"Tu devrais panser les blessures que t'a infligé Spyker".  :)

++
Syg
Titre: Re : Probleme GameTextForAll
Posté par: [StAfF]MaN le 01 Novembre 2007, 02:35:51
 :laugh
HS/ Bon ba voila maintenant on sais que panser sa veu dire soigner ^^  appliquer un pansement \HS
Titre: Re : Probleme GameTextForAll
Posté par: UrbanGhetto le 01 Novembre 2007, 09:19:39
Oh voyons ! Ca m'arrive de faire des fautes de temps à autre  :)

Vous n'allez pas me dire que vous non ?
Titre: Re : Probleme GameTextForAll
Posté par: GTK_dadou le 01 Novembre 2007, 12:41:10
Salut

Moi je suis le roi des fautes  :P temps que ji suis le signe != sa veut dire quoi déja ?
Merci à bientot ++ Dadou

 :jesors
Titre: Re : Probleme GameTextForAll
Posté par: [StAfF]MaN le 01 Novembre 2007, 14:11:41
le point d'exclamation ?? "!" ??
Titre: Re : Probleme GameTextForAll
Posté par: Syg le 01 Novembre 2007, 15:58:10
On s'amuse Urbanghetto, ce n'est pas méchant  :)

Sinon Dadou, le signe != veut dire "différent" et est utilisé dans les test.
Exemple :
if (MaVariable != 12)
{
   /* Je fais des trucs */
}


++
Syg
Titre: Re : Probleme GameTextForAll
Posté par: GTK_dadou le 01 Novembre 2007, 18:15:43
Et bien merci syg pour cette information.

++ Dadou