PDA

Просмотр полной версии : [Вопрос] с командой /call



Jacob1997
24.07.2014, 00:46
Вообщем проблема такая когда звонишь какому нибудь человеку и он берёт трубку то пишешь что нибудь а он этого сообщения не видет.
Например [Телефон] : Привет, а другой не видет данного сообщения.

else if(strcmp(cmd, "/call", true) == 0)
{

if(PlayerInfo[playerid][pBank] <= 0)
{
format(stringer, sizeof(stringer), "[0] Сумма на вашем счету не достаточна для совершения звонка");
if(PlayerInfo[playerid][pPayDayHad] < 4) return SCM(playerid, COLOR_STANDART, "{BBBBBB}[Ошибка] Что-бы Позвонить вам нужно отыграть 4 часов как минимум!");
SCM(playerid, COLOR_GREY, stringer);
format(stringer, sizeof(stringer), "%s набирает телефонный номер", PlayerInfo[playerid][pNames]);
ProxDetector(5.0, playerid, stringer, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return true;
}
if(gag[playerid] == 1) return SCM(playerid, COLOR_LIGHTRED, "У Вас кляп, вы не можете говорить!");
if(takephone[playerid] == 1) return SCM(playerid, COLOR_LIGHTRED, "У Вас нет телефона");
tmp = strcharsplit(cmdtext, idx);
if(PlayerInfo[playerid][pMuted] == 1) return SCM(playerid, 0xff6600AA, "Доступ в чат заблокирован.");
if(!strlen(tmp)) return SCM(playerid, COLOR_WHITE, " Введите: /call [номер]");
format(stringer, sizeof(stringer), "%s достаёт телефон", PlayerInfo[playerid][pNames]);
ProxDetector(30.0, playerid, stringer, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
new phonenumb = strval(tmp);
if(phonenumb == PlayerInfo[playerid][pPnumber])
{
SCM(playerid, COLOR_GRAD2, "Линия занята");
SetPlayerSpecialAction(playerid,13);
return true;
}
foreach(Player,i)
{
if(phonenumb == 11888)
{
if(smsls == 0) return SCM(playerid, COLOR_GREY, "Прямой эфир отключен...");
format(stringer, sizeof(stringer), "[Звонок] В студию звонит %s: Введите /yes [%d], чтобы ответить",PlayerInfo[playerid][pNames], playerid);
SendFamilyMessage(16, COLOR_YELLOW2, stringer);
SCM(playerid, COLOR_WHITE, "Чтобы повесить трубку введите /h");
SetPlayerSpecialAction(playerid,11);
zvonok[playerid] = 1;
PlayerInfo[playerid][pBank] -= smspricels;
FracBank[0][fLsnews] += smspricels;
return true;
}
if(Mobile[playerid] != INVALID_PLAYER_ID) return SCM(playerid, COLOR_GRAD2, "Вы уже разговариваете по телефону ");
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pPnumber] == phonenumb && phonenumb != 0)
{
giveplayerid = i;
Mobile[playerid] = giveplayerid; //caller connecting
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PhoneOnline[giveplayerid] > 0) return SCM(playerid, COLOR_GREY, "Телефон абонента выключен...");
if (Mobile[giveplayerid] == INVALID_PLAYER_ID)
{
format(stringer, sizeof(stringer), "Входящий звонок от: %s", PlayerInfo[playerid][pNames]);
SCM(giveplayerid, COLOR_YELLOW2, stringer);
SCM(giveplayerid, COLOR_WHITE, " Введите /p, чтобы ответить ");
format(stringer, sizeof(stringer), "У %s звонит мобильник", PlayerInfo[giveplayerid][pNames]);
SCM(playerid, COLOR_WHITE, " Чтобы завершить звонок введите /h ");
ProxDetector(30.0, i, stringer, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerSpecialAction(playerid,11);
CellTime[playerid] = 1;
return true;
}
}
}
}
}
}
SCM(playerid, COLOR_GRAD2, "Ошиблись номером");
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
return true;
}

underwoker
24.07.2014, 13:38
Паблик

public OnPlayerText
Сюда, либо если сможете, то вырежьте только кусок кода отвечающий за разговор по телефону.

L0ndl3m
24.07.2014, 13:41
Скорее всего массив слишком большой для обработки текста, 144 максимальный размер для чата.

Jacob1997
24.07.2014, 19:08
if(Tel[playerid] == 1)
{
format(stringer, sizeof(stringer), "[Телефон] %s: %s", PlayerInfo[playerid][pNames], text);
ProxDetector(20.0, playerid, stringer,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
return false;
}
if(Mobile[playerid] != INVALID_PLAYER_ID)
{
format(stringer, sizeof(stringer), "[Телефон] %s: %s", PlayerInfo[playerid][pNames], text);
ProxDetector(20.0, playerid, stringer,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
return false;
}
if(IsPlayerConnected(Mobile[playerid]))
{
if(Mobile[Mobile[playerid]] == playerid)
{
SCM(Mobile[playerid], COLOR_YELLOW,stringer);
}
else { SCM(playerid, COLOR_GRAD1,"На второй линии ни кого нет"); }
return false;
}

L0ndl3m
24.07.2014, 19:36
Попробуйте заменить все sizeof(stringer) на 144.

Jacob1997
24.07.2014, 19:48
if(Tel[playerid] == 1)
{
format(stringer, 144, "[Телефон] %s: %s", PlayerInfo[playerid][pNames], text);
ProxDetector(20.0, playerid, stringer,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
return false;
}
if(Mobile[playerid] != INVALID_PLAYER_ID)
{
format(stringer, 144, "[Телефон] %s: %s", PlayerInfo[playerid][pNames], text);
ProxDetector(20.0, playerid, stringer,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
return false;
}
if(IsPlayerConnected(Mobile[playerid]))
{
if(Mobile[Mobile[playerid]] == playerid)
{
SCM(Mobile[playerid], COLOR_YELLOW,stringer);
}
else { SCM(playerid, COLOR_GRAD1,"На второй линии ни кого нет"); }
return false;
}

так?

L0ndl3m
24.07.2014, 19:53
Да.