GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: [StAfF]MaN le 12 Juillet 2008, 14:39:08

Titre: DeathChat "player connecté"
Posté par: [StAfF]MaN le 12 Juillet 2008, 14:39:08
Bonjour !! Je voudrais savoir comment faire le système du DeathChat, quand un player se connecte ça le marque aussi dans le tableau des deaths ;)

J'ai mis un

SendDeathMessage(playerid, playerid, 200);

le prob c'est que quand un joueur arrive dans le jeu, dans le tableu des deaths il y a

[StAfF]MaN (icon du connect) [StAfF]MaN

De plus je ne peut pas choisir la couleur.

A la place de ça je voudrais

[StAfF]MaN (icon du connect) connecté (en vert)

j'ai essayer le système du format mais j'ai un warning de tag mismatch que je n'arrive pas a corriger alors bon...

Voila je voudrais savoir si on pourrais m'aider ^^  :D bonne journée !!!
Titre: Re : DeathChat "player connecté"
Posté par: Eloctro le 12 Juillet 2008, 15:05:24
Je crois que ses impossible
Titre: Re : DeathChat "player connecté"
Posté par: [StAfF]MaN le 12 Juillet 2008, 15:22:34
Non ce n'es pas impossible puisque j'ai déjà vue ça sur plusieurs serveurs déjà ;) C'est pour ça que je venais demander... Dans mon OnPlayerConnect j'ai mis :


    format(PlayerConnected, sizeof(PlayerConnected), "connecté", playerid);
    SendDeathMessage(playerid, PlayerConnected, 200);     (ligne 105)
   return 1;
}

et j'ai une erreur :

(105) : error 035: argument type mismatch (argument 2)
Titre: Re : DeathChat "player connecté"
Posté par: garderer le 12 Juillet 2008, 15:23:55
Coco76 je sait pas pourquoi tu dit sa biensur que si c'est possible je lé sur mon serveur Stunt si un joueur ce connect tu met l'icon.
Titre: Re : DeathChat "player connecté"
Posté par: [StAfF]MaN le 12 Juillet 2008, 15:25:37
oui mais voila je veut qu'il y est :

le nom  _  Icon  _ "connecté"
Et ça a l'endroit du tableau des deaths ;)

Est ce que tu pourrais m'aider garderer ? STP ^^
Titre: Re : DeathChat "player connecté"
Posté par: Eloctro le 12 Juillet 2008, 17:32:45
Je crois que ses sa :
PlayerConnected
Code: (cpp) [Sélectionner]
public OnPlayerConnect(playerid,PlayerConnected)Si ta encore une erreur je suis pas sure mes eisseille sa toute en haut :
Code: (cpp) [Sélectionner]
forward OnPlayerConnect(playerid,PlayerConnected)
Titre: Re : DeathChat "player connecté"
Posté par: garderer le 12 Juillet 2008, 17:37:06
J'ai pas regardé, regarde ce que coco76 a mis, la je test un truc sur mon Anti-Bot.


Edit:

ce que coco76 a mis est bon je pense.
Titre: Re : DeathChat "player connecté"
Posté par: [StAfF]MaN le 12 Juillet 2008, 17:56:06
j'ai déjà défini PlayerConnected.... avec un new mais ça ne fonctionne pas...

edit :

public OnPlayerConnect(playerid, PlayerConnected)
{

    new ConnectedPlayerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, ConnectedPlayerName, sizeof(ConnectedPlayerName));
    format(PlayerConnected, sizeof(PlayerConnected), "*** %s est arrivé sur le serveur!.", ConnectedPlayerName);
    SendClientMessageToAll(COLOR_LIGHTGREEN, PlayerConnected);
GameTextForPlayer(playerid, "~r~Counter Strike Mode~n~~r~[StAfF]Team", 2000, 1);
    new Text:text = TextDrawCreate(290.0, 400.0,textEssai);
    TextDrawUseBox(text, 0);
    TextDrawFont(text, 3);
    TextDrawSetShadow(text,0);
    TextDrawSetOutline(text,1);
    TextDrawBackgroundColor(text,0x000000FF);
    TextDrawColor(text,0xFFFFFFFF);
    TextDrawShowForPlayer(playerid, text);
GivePlayerMoney(playerid, 10000);
    PlayerPlaySound(playerid, 1097, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_YELLOW, "SERVEUR EN CONSTRUCTION");
    SendClientMessage(playerid, COLOR_BLEUTROUBLE, "L'état de l'avancement du script est visible sur /aide");
    format(PlayerConnected, sizeof(PlayerConnected), "connecté", playerid);
    SendDeathMessage(playerid, PlayerConnected, 200);
return 1;
}

et 7 erreurs en prime :

C:\Documents and Settings\...\Bureau\JEUX\sa-mp 2.2 r2\gamemodes\Newcounter.pwn(19) : error 025: function heading differs from prototype
C:\Documents and Settings\...\Bureau\JEUX\sa-mp 2.2 r2\gamemodes\Newcounter.pwn(84) : error 025: function heading differs from prototype
C:\Documents and Settings\...\Bureau\JEUX\sa-mp 2.2 r2\gamemodes\Newcounter.pwn(89) : error 035: argument type mismatch (argument 1)
C:\Documents and Settings\...\Bureau\JEUX\sa-mp 2.2 r2\gamemodes\Newcounter.pwn(89) : error 035: argument type mismatch (argument 1)
C:\Documents and Settings\...\Bureau\JEUX\sa-mp 2.2 r2\gamemodes\Newcounter.pwn(90) : error 035: argument type mismatch (argument 2)
C:\Documents and Settings\...\Bureau\JEUX\sa-mp 2.2 r2\gamemodes\Newcounter.pwn(104) : error 035: argument type mismatch (argument 1)
C:\Documents and Settings\...\Bureau\JEUX\sa-mp 2.2 r2\gamemodes\Newcounter.pwn(104) : error 035: argument type mismatch (argument 1)
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


7 Errors.
Titre: Re : DeathChat "player connecté"
Posté par: Eloctro le 12 Juillet 2008, 18:11:24
Tu peut mettre savec sa // les lignes exemple :
Ligne();//19
Titre: Re : DeathChat "player connecté"
Posté par: [StAfF]MaN le 12 Juillet 2008, 18:22:36
//forward OnPlayerConnect(playerid,PlayerConnected); ligne 19


//public OnPlayerConnect(playerid,PlayerConnected) ligne 84
{
    new ConnectedPlayerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, ConnectedPlayerName, sizeof(ConnectedPlayerName));
    format(PlayerConnected, sizeof(PlayerConnected), "*** %s est arrivé sur le serveur!.", ConnectedPlayerName);
    //SendClientMessageToAll(COLOR_LIGHTGREEN, PlayerConnected);                       ligne 89
   //GameTextForPlayer(playerid, "~r~Counter Strike Mode~n~~r~[StAfF]Team", 2000, 1);             ligne 90
    new Text:text = TextDrawCreate(290.0, 400.0,Text_Minimap);
    TextDrawUseBox(text, 0);
    TextDrawFont(text, 3);
    TextDrawSetShadow(text,0);
    TextDrawSetOutline(text,1);
    TextDrawBackgroundColor(text,0x000000FF);
    TextDrawColor(text,0xFFFFFFFF);
    TextDrawShowForPlayer(playerid, text);
   GivePlayerMoney(playerid, 10000);
    PlayerPlaySound(playerid, 1097, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_YELLOW, "SERVEUR EN CONSTRUCTION");
    SendClientMessage(playerid, COLOR_BLEUTROUBLE, "L'état de l'avancement du script est visible sur /aide");
    format(PlayerConnected, sizeof(PlayerConnected), "connecté", playerid);
    //SendDeathMessage(PlayerConnected, playerid, 200);                    ligne 104
   return 1;
}
Titre: Re : DeathChat "player connecté"
Posté par: garderer le 12 Juillet 2008, 18:41:03
Dit moi :

//SendDeathMessage(playerid, 200);   //La ligne 104 on sait que il ce connect vu que le joueur et dans le fonctionOnPlayerConnect(playerid
Titre: Re : DeathChat "player connecté"
Posté par: [StAfF]MaN le 12 Juillet 2008, 19:10:26
Merci ^^ Mais ça me met un warning argument doesn't match définition...
Titre: Re : DeathChat "player connecté"
Posté par: garderer le 12 Juillet 2008, 21:03:30
Pour voir inverse
SA
//SendDeathMessage(PlayerConnected, playerid, 200);
En SA
//SendDeathMessage(playerid,PlayerConnected, 200);
Titre: Re : DeathChat "player connecté"
Posté par: [StAfF]MaN le 12 Juillet 2008, 22:43:21
non, erreur...

que se soit :
    SendDeathMessage(PlayerConnected, playerid, 200);

ou

    SendDeathMessage(playerid, PlayerConnected, 200);


c'est la même erreur :


error 035: argument type mismatch (argument 1)

Sinon j'ai essayer

SendDeathMessage(PlayerConnected, 200);

mais erreur.... la même
Titre: Re : DeathChat "player connecté"
Posté par: Bayshore le 13 Juillet 2008, 00:56:58
Oulah cest quoi vos solutions là ? :blink



Pour qu'il y ai une case pas afficher il faut mettre une ID de joueur pas connecté, donc met INVALID_PLAYER_ID, qui vaut 255.
Titre: Re : DeathChat "player connecté"
Posté par: [StAfF]MaN le 13 Juillet 2008, 01:05:04
bah non justement, pour récupéré le nom du player il faut l'id de ce player, comme c'est dans onPlayerConnect, il y a l'ID, puis je vois pas comment utiliser INVALID_PLAYER_ID dans ce cas.... Encore dans StateChange mais la...
Titre: Re : DeathChat "player connecté"
Posté par: garderer le 13 Juillet 2008, 11:54:34
Je vient d'avoir une idée.
Mais comme je le fait pas sur mon serveur je te l'esplique.

-Il faut crée un variable qui est égale à 1 quand le joueur ce connect dans "onplayerconnect".
-Ensuite dons "onplayerdeath" tu crée un "if(variable== 1)" et la tu envoie le death message.
Voila mon idée mais je suis sur que il y'a dix fois plus simple.
Titre: Re : DeathChat "player connecté"
Posté par: Eloctro le 13 Juillet 2008, 12:10:30
Ta essayer sans le forward
Titre: Re : DeathChat "player connecté"
Posté par: Bayshore le 13 Juillet 2008, 12:53:38
Mais qu'est-ce que vous racontez ? :blink

Il faut mettre INVALID_PLAYER_ID dans SendDeathMessage pour qu'il soit vide...

En plus Urban avait donné le code dans le topic fonctions utiles.

http://streetplaya.hopto.org/SAMP_Wiki/wiki.sa-mp.com/wiki/SendDeathMessage.html
Titre: Re : DeathChat "player connecté"
Posté par: [StAfF]MaN le 13 Juillet 2008, 13:44:27
mais le prob c'est que avec le INVALID ce qui sera marqué sur l'écran sa sera :

               Icon(200)   [StAfF]MaN

Moi je veut pas que se soit ça, je voudrais que se soit écrit comme ça :


 [StAfF]MaN    Icon(200)   Connecté (en vert)
Titre: Re : DeathChat "player connecté"
Posté par: Bayshore le 13 Juillet 2008, 19:01:16
Ah ok, tu peut pas.

Ou alors tu SetPlayerName un player au hasard et lui met le nom connecté, ensuite tu SendDeathMessage son IP. :D