GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: zok8100 le 27 Juin 2014, 13:26:29
-
Bonjour,
J'ai un problème avec mon chat roleplay, quand j'ecrit un message cela en écrit 2
Voici le code :
stock GetName(playerid)
{
new
name[24];
GetPlayerName(playerid, name, sizeof(name));
strreplace(name, '_', ' ');
return name;
}
public OnPlayerText(playerid, text[])
{
new message[128];
format(message, sizeof(message), "%s dit: %s", GetName(playerid), text);
ProxDetector(30.0, playerid, message, -1);
return 0; // Normalement pour cacher le message par défaut
}
Voila, et j'ai toutes les includes :
#include <a_samp>
#include <SII>
#include <sscanf2>
#include <strlib>
#include <proxdetector>
#include <YSI\y_ini>
#include <a_npc>
#include <zcmd>
Voila, merci d'avoir lus ma question et merci d'avance des vos réponse !
-
Montres-nous ta fonction ProxDetector(). :wink:
-
Proxdetector je l'ai trouver et je l'ai mis en include, le lien (pastebin) est ci-dessous :
http://pastebin.com/P5gDnYKq (http://pastebin.com/P5gDnYKq)
Merci de ta réponse rapide.
-
La fonction est incroyablement compliquée pour ce qu'elle doit faire. De plus, des fonctions existent pour détecter si un joueur est dans un certain périmètre ou non (lien (http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint)). La fonction est native et donc plus rapide en exécution que l'implémentation en Pawn.
Si tu veux mon avis, refais cette fonction avec celle que je t'ai donné plus haut. Elle sera plus simple et permettra plus de personnalisation (le périmètre peut être défini en clair, contrairement à ta fonction actuelle). Concernant ton problème avec la fonction actuelle, je présume que c'est une erreur d'algorithme mais ça ne me saute pas aux yeux.