Problema con TeamChat -
Ghostmen - 22.12.2011
Bueno. esto lo busque en una seccion de portugues XD, asi que masomenos entendi
Esto es un pedazo de lo que tengo
pawn Код:
public OnPlayerText(playerid, text[])
{
if(text[0] == ';')
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && gTeam[i] == TEAM_PILOT)
{
new str[128];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
format(str, sizeof(str), "%d> [Team:Pilot] %s: %s", playerid, playername, text[1]);
SendClientMessage(i, 0xFFFF30FF, str);
}
else if(IsPlayerConnected(i) && gTeam[i] == TEAM_RICH)
{
new str[128];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
format(str, sizeof(str), "%d> [Team:Rich] %s: %s", playerid, playername, text[1]);
SendClientMessage(i, 0xFFFF30FF, str);
}
return 0;
}
new pName[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, pName,sizeof(pName));
format(string,sizeof(string),"%d> %s: %s", playerid, pName, text);
printf(string);
SendClientMessageToAll(GetPlayerColor(playerid),string);
return 0;
}
Bueno, la cosa es que si sos "Pilot" al escribir " ;hola "sale " [TeamPilot]Hola " Pero el problema es que si uno esta en "Rich" y usa su teamchat, a el le aparece [TeamRich]mensaje, Pero al TeamPilot le aparece en su team chat lo que escribio el rich nomas que dice [TeamPilot]mensaje sin estar en teampilot.. no se si se entiende..
Mejor explicado: un rich habla con su teamchat y el ve esto: [TeamRich]Mensaje
un pilot puede ver que el rich hablo en teamchat (No deveria), y en vez de decir: [TeamRich]Mensaje le sale esto: [TeamPilot]mensaje
Y asi pasa con los demas TeamChat de los otors equipos.. Todos pueden ver el teamchat de todos los equipos, nomas que el [Team****] Empieza con el equipo que uno esta en ese momento. La idea es que caa equipo solo pueda ver su TemaChat
Respuesta: Problema con TeamChat -
TheChaoz - 22.12.2011
intenta asi:
pawn Код:
public OnPlayerText(playerid, text[])
{
new name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
if(text[0] == ';'){
for(new i, j=GetMaxPlayers(); i<j; i++){
if(IsPlayerConnected(i)){
if(gTeam[i] == TEAM_PILOT){
format(str, 128, "%d> [Team:Pilot] %s: %s", playerid, name, text[1]);
SendClientMessage(i, 0xFFFF30FF, str);
}
else if(gTeam[i] == TEAM_RICH)
{
format(str, 128, "%d> [Team:Rich] %s: %s", playerid, name, text[1]);
SendClientMessage(i, 0xFFFF30FF, str);
}
}
}
return 0;
}
format(str, 128, "%d> %s: %s", playerid, name, text);
printf(str);
SendClientMessageToAll(GetPlayerColor(playerid), str);
return 0;
}
Respuesta: Problema con TeamChat -
Ghostmen - 22.12.2011
Pero igual este no jodia.
pawn Код:
new pName[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, pName,sizeof(pName));
format(string,sizeof(string),"%d> %s: %s", playerid, pName, text);
printf(string);
SendClientMessageToAll(GetPlayerColor(playerid),string);
return 0;
o tiene que quedar asi?
pawn Код:
format(str, 128, "%d> %s: %s", playerid, name, text);
printf(str);
SendClientMessageToAll(GetPlayerColor(playerid), str);
return 0;
Eso lo unico que hacia era poner la ID de uno al hablar, no por teamchat
O es lo mismo poniendolo asi?
Respuesta: Problema con TeamChat -
TheChaoz - 22.12.2011
lo que hice fue re-ordenar tu codigo y optimizar un poquito en reducir lineas ya que las variables las ibas a crear si o si. Te pregunte si te funcionaba xq lo re-ordene un toque.
Respuesta: Problema con TeamChat -
Ghostmen - 22.12.2011
Ok gracias.. Lo compilу sin errores, pero aun no se si funciona porque necesito probarlo con un amigo los 2 al mismo tiempo, porque yo solo no lo puedo probarlo.
Gracias Chaoz
Respuesta: Problema con TeamChat -
TheChaoz - 22.12.2011
Si no te funciona avisame y buscamos otra forma de hacer que funcione.
Respuesta: Problema con TeamChat -
Ghostmen - 24.12.2011
lo probe y sigue pasando lo mismo que antes..
Respuesta: Problema con TeamChat -
Jovanny - 24.12.2011
Bueno, el problema no nada mas puede se ahн, estas seguro de que a la variable g_Team[i] se le asigna un valor o tambien si tienes definido con diferente numero TEAM_RICH y TEAM_PILOT
Respuesta: Problema con TeamChat -
Ghostmen - 24.12.2011
No te entendi mucho.. Aca tengo un pedazo de equipo
pawn Код:
else if(gTeam[playerid] == TEAM_PILOT)
{
GivePlayerWeapon(playerid, 46, 1);
GivePlayerWeapon(playerid, 18, 5);
SetPlayerColor(playerid,COLOR_DARKGREY);
}
Puede ser que en todo el GM yo uso solo gTeam y ahi en el TeamChat esta puesto como gTeam[i] y esto " [i] " Esta de mas??
Entonces lo unico que tegno que ahcer es en todo el TeamChat es eliminar la [i] ?
Respuesta: Problema con TeamChat -
Jovanny - 24.12.2011
Quote:
Originally Posted by Ghostmen
No te entendi mucho.. Aca tengo un pedazo de equipo
pawn Код:
else if(gTeam[playerid] == TEAM_PILOT) { GivePlayerWeapon(playerid, 46, 1); GivePlayerWeapon(playerid, 18, 5); SetPlayerColor(playerid,COLOR_DARKGREY); }
Puede ser que en todo el GM yo uso solo gTeam y ahi en el TeamChat esta puesto como gTeam[i] y esto " [i] " Esta de mas??
Entonces lo unico que tegno que ahcer es en todo el TeamChat es eliminar la [i] ?
|
no no, pasa los defines de TEAM_RICH y TEAM_PILOT