28.02.2015, 07:01
Hola, mi problema es que cuando se establece la comunicacion yo le veo el mensaje doble al user y el user a mi, aca todo el cmd
Gracias.
Код:
CMD:llamar(playerid, params[])
{
new string[128], phonenumb;
if(sscanf(params, "d", phonenumb)) return SendClientMessageEx(playerid, COLOR_WHITE, "USO: /llamar [numero telefуnico]");
if (Info[playerid][pJailTime] > 0) return SendClientMessageEx(playerid,COLOR_GREY,"[ERROR]: No puedes usar este comando mientras estбs en prisiуn.");
if(Info[playerid][pEstado] != 0) return SendClientMessageEx(playerid,COLOR_GREY,"No puedes usar tu telйfono.");
if(Info[playerid][pPnumber] == 0) return SendClientMessageEx(playerid, COLOR_WHITE, "No tienes un telйfono.");
if(PhoneOnline[playerid] > 0) return SendClientMessageEx(playerid, COLOR_GREY, "Tu celular estб apagado.");
if(Mobile[playerid] != -1) return SendClientMessageEx(playerid, COLOR_WHITE, " Ya se encuentra en una llamada...");
if(Info[playerid][pJailed] == 1) return SendClientMessageEx(playerid, COLOR_WHITE, "Este numero no lo puedes usar en jail admin!");
format(string, sizeof(string), "* %s coge su telйfono.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
PlayerPlaySound(playerid, 3600, 0, 0, 0);
if(phonenumb == 911) return SendClientMessageEx(playerid, COLOR_GREY, "* Para llamar al 911 usa /servicios .");
if(phonenumb == 757)
{
if(InLive == 0) return SendClientMessageEx(playerid, COLOR_WHITE, "En este momento la lнnea estб fuera de servicio o ocupada.");
InLive = 0;
Mobile[playerid] = 758;
format(string,128,"Llamada entrante: Nombre: %s - Nъmero: %d.", GetPlayerNameEx(playerid), Info[playerid][pPnumber]);
SendFamilyMessage(5, COLOR_GRAD1, string);
SetPlayerAttachedObject(playerid, 9, 330, 6); // 4 = attachment slot, 330 = cellphone model, 6 = right hand
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
return SendClientMessageEx(playerid, COLOR_WHITE, "SA News: Hola. . . estбs en lнnea, desde este momento puedes hablar.");
}
else if(phonenumb == 3900)
{
SendClientMessageEx(playerid, COLOR_WHITE, "Operador: Bienvenido. ї Tiene algъna noticia, quiere participar ?");
SendClientMessageEx(playerid, COLOR_WHITE, "Operador: Dйjenos un mensaje despuйs de la seсal, Ўhasta la vista!");
SendClientMessageEx(playerid, COLOR_WHITE, "Biiip!");
return Mobile[playerid] = 3901;
}
if(phonenumb == Info[playerid][pPnumber]) return SendClientMessageEx(playerid, COLOR_WHITE, " Estб ocupado...");
foreach(Player, i){
if(Info[i][pPnumber] == phonenumb && phonenumb != 0){
new giveplayerid = i;
Mobile[playerid] = giveplayerid; //caller connecting
if(IsPlayerConnectedEx(giveplayerid)){
if(giveplayerid != INVALID_PLAYER_ID){
if(GetPVarInt(giveplayerid, "IsInArena") == 1) return SendClientMessageEx(playerid, COLOR_GREY, "El jugador estб en el paintball arena no puede recibir llamadas.");
if(PhoneOnline[giveplayerid] > 0){
SendClientMessageEx(playerid, COLOR_GREY, "Tono a apagado.");
Mobile[playerid] = -1;
return 1;
}
if(Mobile[giveplayerid] != -1){
SendClientMessageEx(playerid, COLOR_WHITE, "Tono a ocupado...");
Mobile[playerid] = -1;
return 1;
}
if (Mobile[giveplayerid] == -1){
SetPlayerAttachedObject(playerid, 9, 330, 6); // 4 = attachment slot, 330 = cellphone model, 6 = right hand
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
PlayerPlaySoundEx(20600, 0.0, 0.0, 0.0);
format(string, sizeof(string), "Tu telefono estб sonando - Usa /contestar para atender la llamada. [De: %s]", GetPlayerNameEx(playerid));
SendClientMessageEx(giveplayerid, COLOR_GRAD1, string);
format(string, sizeof(string), "* Telйfono de %s suena.", GetPlayerNameEx(i));
SendClientMessageEx(playerid, COLOR_WHITE, "Tip: Ahora usa T, y habla por el chat por telйfono.");
ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
CellTime[playerid] = 1;
return 1;
}
}
}
}
}
SendClientMessageEx(playerid, COLOR_WHITE, "Su llamada no puede darse por el numero marcado, por favor, compruebe el nъmero e intйntelo nuevamente.");
return 1;
}

