16.07.2014, 23:12
Galera, estou precisando de uma ajuda com esse sistema de telefone...
Eu testei o sistema, com 2 jogadores, um com id 0 e outro com id 1
o comando /sms, pelo oque eu testei, sу quem ta conseguindo mandar a sms, й o jogador com o ID 1, o ID 0 Quando manda aparece: a mensagem nгo foi entregue com exito... fala que nгo enviou.. sendo que o numero do telefone esta certo..
e o comando /chamar ta igual tambem... so quem conseguiu ligar foi o jogador com ID 1
E quando o jogador com ID 1 ligava para o ID 0, aparece que entraram na chamada os dois, mas quando falavam nгo aparecia de um para o outro, e nem que tava em telefone...
Meu OnPlayerText
Me expliquem aonde eu errei? e me ajudem a consertar? Obrigado.
Eu testei o sistema, com 2 jogadores, um com id 0 e outro com id 1
o comando /sms, pelo oque eu testei, sу quem ta conseguindo mandar a sms, й o jogador com o ID 1, o ID 0 Quando manda aparece: a mensagem nгo foi entregue com exito... fala que nгo enviou.. sendo que o numero do telefone esta certo..
e o comando /chamar ta igual tambem... so quem conseguiu ligar foi o jogador com ID 1
pawn Код:
COMMAND:sms(playerid, params[])
{
new string[126], smstext[126], tnum;
if(PlayerStat[playerid][TelNumber] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Vocк nгo tem um telefone!");
if(sscanf(params, "is[126]", tnum, smstext)) SendClientMessage(playerid, COLOR_GREY, "DIGITE: /sms [nъmero] [texto]");
else
{
format(string, sizeof(string), "* %s pega seu telefone e envia uma mensagem de texto.", NameInIC(playerid));
SendNearByMessage(playerid, COLOR_ACTION, string, 30.0);
new sender = PlayerStat[playerid][TelNumber];
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
if(PlayerStat[i][TelNumber] == tnum)
{
if(onoff[i] == 0) return SendClientMessage(playerid, COLOR_WHITE, "O nъmero discado pode nгo existir ou o telefone estб desligado.");
format(string, sizeof(string), "[SMS] %s, De: [%d]", smstext, sender);
SendClientMessage(i, COLOR_ORANGE, string);
SendClientMessage(playerid, COLOR_WHITE, "A mensagem de texto foi entregue com кxito.");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "A mensagem de texto nгo foi entregue com кxito.");
return 1;
}
}
return 1;
}
pawn Код:
COMMAND:chamar(playerid, params[])
{
new tnum, string[126], sender = PlayerStat[playerid][TelNumber];
if(PlayerStat[playerid][TelNumber] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Vocк nгo tem um telefone!");
if(sscanf(params, "d", tnum)) SendClientMessage(playerid, COLOR_GREY, "DIGITE: /chamar [nъmero]");
else SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerStat[i][TelNumber] == tnum)
{
if(onoff[i] == 0)
{
SendClientMessage(playerid, COLOR_WHITE, "O nъmero discado pode nгo existir ou o telefone estб desligado.");
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
ClearAnimations(playerid);
return 1;
}
if(oncall[i] == 1) return SendClientMessage(playerid, COLOR_WHITE, "O nъmero que vocк discou jб estб em uma chamada.");
if(iscalled[i] == 1) return SendClientMessage(playerid, COLOR_WHITE, "O nъmero que vocк discou jб estб sendo chamado.");
Mobile[playerid] = i;
format(string, sizeof(string), "^ O seu telefone estб tocando... (/atender). Chamada recebida de %d.", sender);
SendClientMessage(i, COLOR_ORANGE, string);
format(string, sizeof(string), "* %s pega seu telefone e disca um nъmero e liga em seguida para o mesmo.", NameInIC(playerid));
SendNearByMessage(playerid, COLOR_ACTION, string, 30.0);
iscalled[i] = 1;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "O nъmero discado estб ocupado.");
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
ClearAnimations(playerid);
return 1;
}
}
return 1;
}
Meu OnPlayerText
pawn Код:
public OnPlayerText(playerid, text[])
{
new
realchat = 1,
str[ 128 ]
;
if(IsPlayerConnected(playerid))
{
if(realchat)
{
if(PlayerStat[playerid][Accent] == 0)
{
format(str, sizeof(str), "%s diz: %s", NameInIC(playerid), text);
SendNearByMessage(playerid, COLOR_WHITE, str, 20.0);
}
else
{
new
accent[20]
;
switch(PlayerStat[playerid][Accent])
{
case 1: accent = "Russo";
case 2: accent = "Italiano";
case 3: accent = "Alemгo";
case 4: accent = "Japonкs";
case 5: accent = "Franзкs";
case 6: accent = "Espanhol";
case 7: accent = "Chinкs";
case 8: accent = "Britвnico";
}
format(str, sizeof(str), "%s [Sotaque %s] diz: %s", NameInIC(playerid), accent, text);
SendNearByMessage(playerid, COLOR_WHITE, str, 20.0);
}
return 0;
}
if(oncall[playerid] == 1)
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) == 1)
{
if(Mobile[i] == playerid)
{
new string[126];
format(string, sizeof(string), "%s [Telefone] diz: %s", NameInIC(playerid), text);
SendNearByMessage(playerid, COLOR_GREY, string, 20.0);
format(string, sizeof(string), "%s [Telefone] diz: %s", NameInIC(playerid), text);
SendClientMessage(i, COLOR_YELLOW, string);
}
}
}
}
return 0;
}
return 1;
}