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
-
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 !!!
-
Je crois que ses impossible
-
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)
-
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.
-
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 ^^
-
Je crois que ses sa :
PlayerConnected
public OnPlayerConnect(playerid,PlayerConnected)Si ta encore une erreur je suis pas sure mes eisseille sa toute en haut :
forward OnPlayerConnect(playerid,PlayerConnected)
-
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.
-
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.
-
Tu peut mettre savec sa // les lignes exemple :
Ligne();//19
-
//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;
}
-
Dit moi :
//SendDeathMessage(playerid, 200); //La ligne 104 on sait que il ce connect vu que le joueur et dans le fonctionOnPlayerConnect(playerid
-
Merci ^^ Mais ça me met un warning argument doesn't match définition...
-
Pour voir inverse
SA
//SendDeathMessage(PlayerConnected, playerid, 200);
En SA
//SendDeathMessage(playerid,PlayerConnected, 200);
-
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
-
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.
-
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...
-
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.
-
Ta essayer sans le forward
-
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
-
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)
-
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