(Duda) Editar la forma de hablar en un RP.
#1

Buenas, querнa pedirles si por favor me dirнan cуmo cambiar la forma de hablar de un jugador, es decir que en vez de decir las cosas para TODO pъblico, se diga sуlo para los que estйn cerca del jugador que dijo esa palabra/oraciуn. Solo eso, un saludo.
Reply
#2

Hay varнas funciones,
ProxDetecor - La mбs antigua
TalkMessage - Estб hecha por SA:MP
LimitGlobalChatRadius - Tambiйn por SA:MP

Cualquiera de esas 3 te vale.
Reply
#3

Quote:
Originally Posted by adri1
Посмотреть сообщение
Hay varнas funciones,
ProxDetecor - La mбs antigua
TalkMessage - Estб hecha por SA:MP
LimitGlobalChatRadius - Tambiйn por SA:MP

Cualquiera de esas 3 te vale.
їQuй tienen de diferencia? Elegirнa la mбs sencilla de programar y que cumpla la funciуn que nombrй anteriormente. Un saludo.
Reply
#4

Yo usaria el 3ero: https://sampwiki.blast.hk/wiki/LimitGlobalChatRadius
Reply
#5

Quote:
Originally Posted by Kryzis
Посмотреть сообщение
Buenas, querнa pedirles si por favor me dirнan cуmo cambiar la forma de hablar de un jugador, es decir que en vez de decir las cosas para TODO pъblico, se diga sуlo para los que estйn cerca del jugador que dijo esa palabra/oraciуn. Solo eso, un saludo.
Abre tu gamemode y busca public OnPlayerText(playerid, text[])

Y cбmbialo por este.


Код:
public OnPlayerText(playerid, text[])
{
	new Message[130], PlayerName[MAX_PLAYER_NAME], Float: PlayerPosition[3];
	GetPlayerPos(playerid, PlayerPosition[0], PlayerPosition[1], PlayerPosition[2]);//Obtiene la posiciуn del jugador que habla.
	GetPlayerName(playerid, PlayerName, sizeof(PlayerName));// Obtiene el nombre del jugador que habla.
	
	for (new i; i < MAX_PLAYERS; i++)//Obtiene la cantidad de jugadores que hay conectados.
	{
		if (IsPlayerInRangeOfPoint(i, 5, PlayerPosition[0], PlayerPosition[1], PlayerPosition[2]))//Si los jugadores estбn cerca de tu jugador.
		{
			format(Message, sizeof(Message), "%s dice: %s", PlayerName(playerid), text);//Aquн solo le agregue que diga Kryzis dice: ...
			SendClientMessage(i, -1, Message); //Enviar el mensaje
		}
	}
	return 1;
}
Cuando alguien hable solo les saldrб a los que estбn cerca, saldrб de esta forma
Kryzis dice: Hola!

Saldrб en color blanco si quieres cambiarle el color en SendClientMessage(i, -1, Message); donde dice -1 ponle el color que quieras.

Espero que te sirva.
Reply
#6

Quote:
Originally Posted by adri1
Посмотреть сообщение
TalkMessage - Estб hecha por SA:MP
Jamas la escuche, y ****** no me dice nada...

http://www.******.com/search?btnG=1&...om+talkmessage
Reply
#7

Quote:
Originally Posted by Josstaa
Посмотреть сообщение
Jamas la escuche, y ****** no me dice nada...

http://www.******.com/search?btnG=1&...om+talkmessage
esta en la carpeta include ...gl_messages.inc aсadido en la version E.
Reply
#8

Quote:
Originally Posted by J031
Посмотреть сообщение
Abre tu gamemode y busca public OnPlayerText(playerid, text[])

Y cбmbialo por este.


Код:
public OnPlayerText(playerid, text[])
{
	new Message[130], PlayerName[MAX_PLAYER_NAME], Float: PlayerPosition[3];
	GetPlayerPos(playerid, PlayerPosition[0], PlayerPosition[1], PlayerPosition[2]);//Obtiene la posiciуn del jugador que habla.
	GetPlayerName(playerid, PlayerName, sizeof(PlayerName));// Obtiene el nombre del jugador que habla.
	
	for (new i; i < MAX_PLAYERS; i++)//Obtiene la cantidad de jugadores que hay conectados.
	{
		if (IsPlayerInRangeOfPoint(i, 5, PlayerPosition[0], PlayerPosition[1], PlayerPosition[2]))//Si los jugadores estбn cerca de tu jugador.
		{
			format(Message, sizeof(Message), "%s dice: %s", PlayerName(playerid), text);//Aquн solo le agregue que diga Kryzis dice: ...
			SendClientMessage(i, -1, Message); //Enviar el mensaje
		}
	}
	return 1;
}
Cuando alguien hable solo les saldrб a los que estбn cerca, saldrб de esta forma
Kryzis dice: Hola!

Saldrб en color blanco si quieres cambiarle el color en SendClientMessage(i, -1, Message); donde dice -1 ponle el color que quieras.

Espero que te sirva.
Hola, bueno al compilar lo que me dijiste en el pawn, me salen estos errores:
pawn Код:
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : error 012: invalid function call, not a valid address
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : warning 215: expression has no effect
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : error 001: expected token: ";", but found ")"
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : error 029: invalid expression, assumed zero
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
El GameMode que estoy creando, estб hecho desde 0, es decir que no tiene mбs que los public y alguna que otra agregaciуn de autos y objetos.
їQuй podrнa ser?
Reply
#9

Quote:
Originally Posted by Kryzis
Посмотреть сообщение
Hola, bueno al compilar lo que me dijiste en el pawn, me salen estos errores:
pawn Код:
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : error 012: invalid function call, not a valid address
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : warning 215: expression has no effect
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : error 001: expected token: ";", but found ")"
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : error 029: invalid expression, assumed zero
C:\Users\cpu\Desktop\Programas Importantes\Servidor SP RP\gamemodes\SPRP.pwn(369) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
El GameMode que estoy creando, estб hecho desde 0, es decir que no tiene mбs que los public y alguna que otra agregaciуn de autos y objetos.
їQuй podrнa ser?
Yo tambiйn estoy haciendo mi 'GameMode' desde 0, fue un error mio, donde dice

format(Message, sizeof(Message), "%s dice: %s", PlayerName(playerid), text);

Cбmbialo por

format(Message, sizeof(Message), "%s dice: %s", PlayerName, text);
Reply
#10

Quote:
Originally Posted by J031
Посмотреть сообщение
Yo tambiйn estoy haciendo mi 'GameMode' desde 0, fue un error mio, donde dice

format(Message, sizeof(Message), "%s dice: %s", PlayerName(playerid), text);

Cбmbialo por

format(Message, sizeof(Message), "%s dice: %s", PlayerName, text);
Ahн sн funcionу, pero cuando se habla se dicen dos frases a la vez, es decir que dice:
Jaimito dice: Hola!
Jaimito: Hola!
їCуmo modifico eso?. Un saludo!.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)