GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: piki le 28 Février 2008, 19:23:03

Titre: /w
Posté par: piki le 28 Février 2008, 19:23:03
bonjour à tous j'ai pris exemple sur un gm bien connu du /w( whisper), mais le probléme c'est qu'il est utilisé comme un pm. ce que je voudrais faire c'est que lorque je fais /w id message, le champs d'action de cette commande ne dépasse pas 2-3métres. un peu comme si un cercle translucide m'entourai. si vous pouviez m'éclairer sur la "fonction" à utiliser pour cela
merci
Titre: Re : /w
Posté par: [StAfF]MaN le 28 Février 2008, 19:25:50
Bah dans OnPLayerInArea ça devrait le faire... Je pense
Titre: Re : /w
Posté par: UrbanGhetto le 28 Février 2008, 19:41:44
Non, Y'a une fonction très simple.

Code: (cpp) [Sélectionner]
LimitGlobalChatRadius(100);
C'est toi qui choisit la longueur de la zone autour du joueur, Exemple 1 = 1 mettre.
Titre: Re : /w
Posté par: piki le 29 Février 2008, 01:05:06
ok merci il me faut un testeur , je vous tiens au courant
Titre: Re : /w
Posté par: Syg le 29 Février 2008, 11:49:23
Urban, je ne pense pas que le fonction LimitGlobalChatRadius puisse être utilisée dans ce cas.
Cette fonction permet de limiter le chat globalement. Ce qui veut dire, pour tous les joueurs.
Donc lorsque d'un joueur va faire /w, tous les joueurs seront impactés.
De plus, je ne suis pas sur que l'on puisse utiliser cette fonction ailleurs que dans OnGameModeInit.

L'idée de StaffMan est la bonne, lorsqu'un joueur "JOUEUR" fait /w, il faut faire une boucle de cette façon :

Pour chaque joueur "J"
   Si le joueur "J" est dans un rayon de X mètre autour du joueur "JOUEUR"
      Afficher le message du joueur "JOUEUR" au joueur "J" (On pourra certainement utiliser la fonction IsPlayerInArea (http://www.gtaonline.fr/forums/index.php/topic,2105.0.html) de Urban ici)
   FinSi
FinPour

++
Syg
Titre: Re : /w
Posté par: piki le 29 Février 2008, 20:13:12
c'est bon j'ai mis if(GetDistanceBetweenPlayers(playerid,giveplayerid) < distance) et sa fonctionne merci