Affect_Bond
Умник
Привет решил написать систему таксофонов
Можно на улицах подходить к таксофону и звонить на номер другу и тд. командой /call
ко всем new добовляем
ко всем forward добовляем
в enum pInfo:
перед public OnPlayerDisconnect(playerid, reason)
ставим паблик
Удаляем команду /call
ставим новую команду /call
и
public OnplayerText(playerid, text[])
там ищите первую строку if(Mobile[playerid] != 255) или в поиске найдите
весь текст и удалите и вставьте вот этот текст
в public OnGameModeInit() вставляем
в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
вставляем
и
вот и все!
Автор: Я
от +сека не откажусь
Не орите только.
Можно на улицах подходить к таксофону и звонить на номер другу и тд. командой /call
ко всем new добовляем
PHP:
new Payphone[MAX_PLAYERS];
new Mobile[MAX_PLAYERS];
PHP:
forward IsAtPayphone(playerid);
PHP:
forward HidePhone(playerid);
forward SendTeamMessage(team, color, string[]);
PHP:
pTA,//деньги на телефоне
pHideNumber,//Номер телефона
ставим паблик
PHP:
public IsAtPayphone(playerid)
{
if(IsPlayerConnected(playerid))
{
if(PlayerToPoint(2.0,playerid,1805.8915,-1600.8894,13.5469)) return 1; // телефон автомат у тюрьмы - 1
else if(PlayerToPoint(2.0,playerid, 1806.7111,-1599.9607,13.5469)) return 1; // телефон автомат у тюрьмы - 2
else if(PlayerToPoint(2.0,playerid, 1807.6871,-1599.1393,13.5469)) return 1; // телефон автомат у тюрьмы - 3
else if(PlayerToPoint(2.0,playerid, 1808.6970,-1598.2676,13.5469)) return 1; // телефон автомат у тюрьмы - 4
else if(PlayerToPoint(2.0,playerid, 1809.6656,-1597.4368,13.5469)) return 1; // телефон автомат у тюрьмы - 5
else if(PlayerToPoint(2.0,playerid, 1710.4701,-1604.8776,13.5469)) return 1; // таксофон артриум - 2
else if(PlayerToPoint(2.0,playerid, 1711.3196,-1605.5674,13.5469)) return 1; // таксофон артриум - 1
else if(PlayerToPoint(2.0,playerid, 295.0905,-1573.5332,33.4427)) return 1; // таксофон отель у автошколы 1
else if(PlayerToPoint(2.0,playerid, 296.7084,-1573.7710,33.4631)) return 1; // таксофон отель у автошколы 2
else if(PlayerToPoint(2.0,playerid, 303.1015,-1592.8331,32.8495)) return 1; // таксофон отель у автошколы2 1
else if(PlayerToPoint(2.0,playerid, 302.1358,-1592.7343,32.8115)) return 1; // таксофон отель у автошколы2 2
else if(PlayerToPoint(2.0,playerid, 279.6747,-1630.7975,33.3107)) return 1; // таксофон отель у автошколы2 3
else if(PlayerToPoint(2.0,playerid, 278.0888,-1630.6023,33.3104)) return 1; // таксофон отель у автошколы2 4
else if(PlayerToPoint(2.0,playerid, 2257.7419,-1211.6727,23.9688)) return 1; // таксофон, за джеферсоном 1
else if(PlayerToPoint(2.0,playerid, 2259.2512,-1211.6838,23.9688)) return 1; // таксофон, за джеферсоном 2
else if(PlayerToPoint(2.0,playerid, 1721.2006,-1720.4731,13.5416)) return 1; // таксофон артриум 3
else if(PlayerToPoint(2.0,playerid, 1721.1951,-1721.3274,13.5454)) return 1; // таксофон артриум 4
else if(PlayerToPoint(2.0,playerid, 1723.0820,-1721.2474,13.5468)) return 1; // таксофон артриум 5
else if(PlayerToPoint(2.0,playerid, 1723.0801,-1720.3872,13.5394)) return 1; // таксофон артриум 6
else if(PlayerToPoint(2.0,playerid, 356.8147,-1364.4952,14.4850)) return 1; // таксофон северная улица лс 1
else if(PlayerToPoint(2.0,playerid, 355.3643,-1365.1548,14.4661)) return 1; // таксофон северная улица лс 2
else if(PlayerToPoint(2.0,playerid, 338.8322,-1397.2825,14.2228)) return 1; // таксофон северная улица лс 3
else if(PlayerToPoint(2.0,playerid, 339.9358,-1397.6555,14.3896)) return 1; // таксофон северная улица лс 4
else if(PlayerToPoint(2.0,playerid, 339.5755,-1398.7756,14.3890)) return 1; // таксофон северная улица лс 5
else if(PlayerToPoint(2.0,playerid, 338.3472,-1398.7109,14.3734)) return 1; // таксофон северная улица лс 6
else if(PlayerToPoint(2.0,playerid, 523.1959,-1526.4417,14.8026)) return 1; // таксофоны, неподалеку от автошколы 1
else if(PlayerToPoint(2.0,playerid, 522.3254,-1525.6119,14.7490)) return 1; // таксофоны, неподалеку от автошколы 2
else if(PlayerToPoint(2.0,playerid, 523.1973,-1524.7677,14.6949)) return 1; // таксофоны, неподалеку от автошколы 3
else if(PlayerToPoint(2.0,playerid, 523.9938,-1525.6340,14.7482)) return 1; // таксофоны, неподалеку от автошколы 4
else if(PlayerToPoint(2.0,playerid, 523.1372,-1517.2546,14.6006)) return 1; // таксофоны, неподалеку от автошколы 5
else if(PlayerToPoint(2.0,playerid, 522.3214,-1516.3606,14.5958)) return 1; // таксофоны, неподалеку от автошколы 6
else if(PlayerToPoint(2.0,playerid, 523.1416,-1515.5714,14.5915)) return 1; // таксофоны, неподалеку от автошколы 7
else if(PlayerToPoint(2.0,playerid, 524.0108,-1516.4266,14.5961)) return 1; // таксофоны, неподалеку от автошколы 8
else if(PlayerToPoint(2.0,playerid, 2069.4102,-1767.8351,13.5622)) return 1; // таксофон, гетто, пейандспрей - 1
else if(PlayerToPoint(2.0,playerid, 2069.4695,-1766.6896,13.5627)) return 1; // таксофон, гетто, пейандспрей - 2
else if(PlayerToPoint(2.0,playerid, -1967.3879,162.3943,27.6875)) return 1; // таксофон вокзал сф 1
else if(PlayerToPoint(2.0,playerid, -1966.2800,162.3970,27.6875)) return 1; // таксофон вокзал сф 2
else if(PlayerToPoint(2.0,playerid, -1965.1171,162.3969,27.6875)) return 1; // таксофон вокзал сф 3
else if(PlayerToPoint(2.0,playerid, -1964.1456,162.3980,27.6875)) return 1; // таксофон вокзал сф 4
else if(PlayerToPoint(2.0,playerid, 2166.3914,-1155.7433,24.8626)) return 1; // еще таксофон у джефферсона 1
else if(PlayerToPoint(2.0,playerid, 2166.3933,-1154.9111,24.8758)) return 1; // еще таксофон у джефферсона 2
else if(PlayerToPoint(2.0,playerid, 378.6402,-1717.1147,23.4408)) return 1; // таксофон въезд на пирс 1
else if(PlayerToPoint(2.0,playerid, 378.6397,-1717.9363,23.2052)) return 1; // таксофон въезд на пирс 2
else if(PlayerToPoint(2.0,playerid, 383.2906,170.0077,1008.3828)) return 1; // таксофон в мэрии 1
else if(PlayerToPoint(2.0,playerid, 381.6122,170.0071,1008.3828)) return 1; // таксофон в мэрии 2
else if(PlayerToPoint(2.0,playerid, 379.8120,170.0071,1008.3828)) return 1; // таксофон в мэрии 3
else if(PlayerToPoint(2.0,playerid, 638.0289,-1227.5535,18.1406)) return 1; // таксофон у тенисных кортов 1
else if(PlayerToPoint(2.0,playerid, 638.0356,-1229.1333,18.0745)) return 1; // таксофон у тенисных кортов 2
}
return 0;
}
ставим новую команду /call
PHP:
if(strcmp(cmd, "/call", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Помощь: /call [номер телефона]");
return 1;
}
if(PhoneOnline[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GRAD2, "Ваш мобильный выключен! Прежде чем звонить - включите его! (/togphone)");
return 1;
}
if(PlayerInfo[playerid][pJailed] > 0)
{
SendClientMessage(playerid, COLOR_GRAD2, "У вас отобрали телефон на время заключения.");
return 1;
}
if(PlayerInfo[playerid][pPnumber] == 0)
{
SendClientMessage(playerid, COLOR_GRAD2, "У вас нет мобильного телефона телефона.");
SendClientMessage(playerid, COLOR_GRAD2, "Приобрести телефон можно в сетях магазинов 24/7");
return 1;
}
if(PlayerCuffed[playerid] > 0)
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы не можете позвонить, т.к. у вас заняты руки!");
return 1;
}
if(PlayerInfo[playerid][pTA] <= 0)
{
SendClientMessage(playerid, COLOR_GRAD1, "Ваш номер заблокирован. Вам необходимо пополнить баланс.");
SendClientMessage(playerid, COLOR_GRAD2, "Помощь: Это можно сделать в любом магазине из сети 24\7.");
SendClientMessage(playerid, COLOR_GRAD3, "Помощь: /account [кол-во денег] чтобы пополнить ваш счет.");
return 1;
}
if(Mobile[playerid] != 255)
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы уже звоните!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s нaбupaeт нoмep.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
new phonenumb = strval(tmp);
SetPlayerSpecialAction ( playerid , SPECIAL_ACTION_USECELLPHONE );
if(phonenumb == 911)
{
SendClientMessage(playerid, COLOR_ALLDEPT, "ДИСПЕТЧЕР: Кого вы хотите вызвать? полицию (02) или медика (03) ");
Mobile[playerid] = 911;
return 1;
}
if(phonenumb == PlayerInfo[playerid][pPnumber])
{
SendClientMessage(playerid, COLOR_GRAD2, "** Абонент занят **");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
return 1;
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
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)
{
SendClientMessage(playerid, COLOR_GREY, "** Абонент недоступен **");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
return 1;
}
if(PlayerInfo[giveplayerid][pJailed] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "** Абонент недоступен **");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
return 1;
}
if (Mobile[giveplayerid] == 255)
{
if(IsAtPayphone(playerid)) format(string, sizeof(string), " Ваш телефон зазвонил, введите (/p) Вызывает: Неизвестный входящий"); //modif
else format(string, sizeof(string), " Ваш телефон зазвонил, введите (/Pickup) Вызывает: %d", PlayerInfo[playerid][pPnumber]); //modif
// format(string, sizeof(string), "Baш мoбuльнuk звoнuт. Aбoнeнт: %s", sendername);
SendClientMessage(giveplayerid, COLOR_YELLOW2, string);
GetPlayerName(giveplayerid, sendername, sizeof(sendername));
RingTone[giveplayerid] = 10;
format(string, sizeof(string), "** У %s звонит телефон.", sendername);
ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
CellTime[playerid] = 1;
if(IsAtPayphone(playerid))
{
Payphone[playerid]=1;
TogglePlayerControllable(playerid,0);
}
return 1;
}
}
}
}
}
}
SendClientMessage(playerid, COLOR_GRAD2, "** Абонент занят **");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
}
return 1;
}
PHP:
if(strcmp(cmd, "/пополнить", true) == 0 || strcmp(cmd, "/account", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (!PlayerToPoint(100, playerid,-30.875, -88.9609, 1004.53))
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы не в супермаркете/магазине.");
return 1;
}
ShowPlayerDialog(playerid,5,DIALOG_STYLE_INPUT,"Пополнение счета","Введите сумму которую хотите положить на счёт мобильного","Ок","Отмена");
}
return 1;
}
там ищите первую строку if(Mobile[playerid] != 255) или в поиске найдите
весь текст и удалите и вставьте вот этот текст
PHP:
if(Mobile[playerid] != 255)
{
new idx;
tmp = strtok(text, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s Говорит (сотовый телефон): %s", sendername, text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5,0,0);
//printf("callers line %d called %d caller %d",Mobile[Mobile[playerid]],Mobile[playerid],playerid);
if(Mobile[playerid] == 914)
{
if(!strlen(tmp))
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Служба спасения: Я не понимаю вас");
return 0;
}
new turner[MAX_PLAYER_NAME];
new wanted[128];
GetPlayerName(playerid, turner, sizeof(turner));
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Служба спасения: Мы привели в готовность все единицы в области.");
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Спасибо за сообщение об этом инциденте");
format(wanted, sizeof(wanted), "Служба спасения: Все Единицы IA: Гость: %s",turner);
SendTeamBeepMessage(1, TEAM_CYAN_COLOR, wanted);
format(wanted, sizeof(wanted), "Служба спасения: инцидент: %s",text);
SendTeamMessage(1, TEAM_CYAN_COLOR, wanted);
SendClientMessage(playerid, COLOR_GRAD2, " Они Повесили трубку...");
Mobile[playerid] = 255;
return 0;
}
if(Mobile[playerid] == 913)
{
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_ALLDEPT, "МЧС: Я не понимаю вас");
return 0;
}
if ((strcmp("no", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("no")))
{
new turner[MAX_PLAYER_NAME];
new wanted[128];
GetPlayerName(playerid, turner, sizeof(turner));
SendClientMessage(playerid, COLOR_DBLUE, "Полицейский ШТАБ - КВАРТИРА: Мы привели в готовность все единицы в области.");
SendClientMessage(playerid, COLOR_DBLUE, "Спасибо за сообщение об этом преступлении");
format(wanted, sizeof(wanted), "ШТАБ - КВАРТИРА: Все Единицы APB: Репортер: %s",turner);
SendFamilyMessage(1, COLOR_DBLUE, wanted);
format(wanted, sizeof(wanted), "ШТАБ - КВАРТИРА: Преступление: %s, Подозреваемый: Неизвестный",PlayerCrime[playerid][pAccusing]);
SendFamilyMessage(1, COLOR_DBLUE, wanted);
SendClientMessage(playerid, COLOR_GRAD2, " Они Повесили трубку...");
Mobile[playerid] = 255;
return 0;
}
new badguy;
//badguy = strval(tmp);
badguy = ReturnUser(tmp);
if (IsPlayerConnected(badguy))
{
if(badguy != INVALID_PLAYER_ID)
{
if (gTeam[badguy] == 2 || gTeam[badguy] == 1)
{
SendClientMessage(playerid, COLOR_DBLUE, "Полицейский ШТАБ - КВАРТИРА: Вы должны будете связаться с внутренними делами. Это - чрезвычайная линия");
SendClientMessage(playerid, COLOR_GRAD2, " Они Повесили трубку...");
Mobile[playerid] = 255;
return 0;
}
if (WantedPoints[badguy] > 0)
{
SendClientMessage(playerid, COLOR_DBLUE, "Полицейский ШТАБ - КВАРТИРА: Единицы уже назначены на этот случай");
SendClientMessage(playerid, COLOR_DBLUE, "Спасибо за сообщение об этом преступлении");
SendClientMessage(playerid, COLOR_GRAD2, " Они Повесили трубку...");
Mobile[playerid] = 255;
return 0;
}
if (badguy == playerid)
{
SendClientMessage(playerid, COLOR_DBLUE, "Полицейский ШТАБ - КВАРТИРА: не Дурачьтесь, Это - чрезвычайная линия.");
SendClientMessage(playerid, COLOR_GRAD2, " Они Повесили трубку...");
Mobile[playerid] = 255;
return 0;
}
SendClientMessage(playerid, COLOR_DBLUE, "Полицейский ШТАБ - КВАРТИРА: Мы привели в готовность все единицы в области.");
SendClientMessage(playerid, COLOR_DBLUE, "Спасибо за сообщение об этом преступлении");
SetPlayerCriminal(badguy,playerid, PlayerCrime[playerid][pAccusing]);
if(WantedPoints[badguy] > 0) { } else { WantedPoints[badguy] += 2; }
SendClientMessage(playerid, COLOR_GRAD2, " Они Повесили трубку...");
Mobile[playerid] = 255;
return 0;
}//invalid id
return 0;
}//not connected
else
{
format(string, sizeof(string), "Полицейский ШТАБ - КВАРТИРА: у меня нет никакой информации о подозреваемом укажите данные о нем",tmp);
SendClientMessage(playerid, COLOR_DBLUE, string);
return 0;
}
}
if(Mobile[playerid] != 255)
{
new idx;
tmp = strtok(text, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s гoвopuт (в тeл.): %s", sendername, text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
if(Payphone[playerid]==1)
{
format(string, sizeof(string), "Unknown caller говорит (в трубку): %s", text);
}
//printf("callers line %d called %d caller %d",Mobile[Mobile[playerid]],Mobile[playerid],playerid);
if(Mobile[playerid] == 914)
{
if(!strlen(tmp))
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Диспетчер: 'Извините, вас плохо слышно...'");
return 0;
}
new turner[MAX_PLAYER_NAME];
new wanted[128];
GetPlayerName(playerid, turner, sizeof(turner));
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Диспетчер: 'Мы предупредим все подразделения в вашем районе.'");
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Спасибо за сообщение об инциденте.");
format(wanted, sizeof(wanted), "Bceм nocтaм! Oт: %s",turner);
SendFamilyMessage(4, TEAM_CYAN_COLOR, wanted);
format(wanted, sizeof(wanted), "Инцuдeнт: %s",text);
SendFamilyMessage(4, TEAM_CYAN_COLOR, wanted);
SendClientMessage(playerid, COLOR_GRAD2, "*** Звонок закончен ***");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
Mobile[playerid] = 255;
return 0;
}
if(Mobile[playerid] == 913)
{
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_ALLDEPT, "911: 'Извините, но вас плохо слышно...'");
return 0;
}
if ((strcmp("нет", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("нет")))
{
new turner[MAX_PLAYER_NAME];
new wanted[128];
GetPlayerName(playerid, turner, sizeof(turner));
SendClientMessage(playerid, COLOR_DBLUE, "Диспетчер: 'Все посты были предупреждены.'");
SendClientMessage(playerid, COLOR_DBLUE, "Спасибо что доложили о преступлении.");
format(wanted, sizeof(wanted), "Bceм nocтaм! Oт: %s",turner);
SendFamilyMessage(1, COLOR_DBLUE, wanted);
format(wanted, sizeof(wanted), "* Coвepшeнo npecтynлeнue: %s.",PlayerCrime[playerid][pAccusing]);
SendFamilyMessage(1, COLOR_DBLUE, wanted);
SendClientMessage(playerid, COLOR_GRAD2, "*** Звонок закончен ***");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
Mobile[playerid] = 255;
return 0;
}
new badguy;
//badguy = strval(tmp);
badguy = ReturnUser(tmp);
if (IsPlayerConnected(badguy))
{
if(badguy != INVALID_PLAYER_ID)
{
if (gTeam[badguy] == 2 || gTeam[badguy] == 1)
{
SendClientMessage(playerid, COLOR_DBLUE, "PHQ: Если вы шутите, то зря...Это экстренная линия.");
SendClientMessage(playerid, COLOR_GRAD2, "*** Звонок закончен ***");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
Mobile[playerid] = 255;
return 0;
}
if (WantedPoints[badguy] > 0)
{
SendClientMessage(playerid, COLOR_DBLUE, "Диспетчер: 'Все посты были предупреждены.'");
SendClientMessage(playerid, COLOR_DBLUE, "Спасибо что доложили о преступлении.");
SendClientMessage(playerid, COLOR_GRAD2, "*** Звонок закончен ***");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
Mobile[playerid] = 255;
return 0;
}
if (badguy == playerid)
{
SendClientMessage(playerid, COLOR_DBLUE, "PHQ: Если вы шутите, то зря...Это экстренная линия.");
SendClientMessage(playerid, COLOR_GRAD2, "*** Звонок закончен ***");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
Mobile[playerid] = 255;
return 0;
}
SendClientMessage(playerid, COLOR_DBLUE, "Диспетчер: 'Все посты были предупреждены.'");
SendClientMessage(playerid, COLOR_DBLUE, "Спасибо что доложили о преступлении.");
SetPlayerCriminal(badguy,playerid, PlayerCrime[playerid][pAccusing]);
if(WantedPoints[badguy] > 0) { } else { WantedPoints[badguy] += 2; }
SendClientMessage(playerid, COLOR_GRAD2, "*** Звонок закончен ***");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
Mobile[playerid] = 255;
return 0;
}//invalid id
return 0;
}//not connected
else
{
format(string, sizeof(string), "PHQ: y нac нeт uнфopmaцuu o %s, вы yвepeны в npaвиuльнocтu umeнu?",tmp);
SendClientMessage(playerid, COLOR_DBLUE, string);
return 0;
}
}
if(Mobile[playerid] == 912)
{
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_ALLDEPT, "911: 'Извините, вас плохо слышно...'");
return 0;
}
strmid(PlayerCrime[playerid][pAccusing], text, 0, strlen(text), 255);
SendClientMessage(playerid, COLOR_DBLUE, "PHQ: Если вам известно имя налетчика, то сообщите его, если нет, то просто скажите 'нет'.");
Mobile[playerid] = 913;
return 0;
}
if(Mobile[playerid] == 911)
{
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_ALLDEPT, "911: 'Повторите еще раз, пожалуйста. Полиция (02) или скорая помощь (03)?'");
return 0;
}
else if ((strcmp("02", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("02")))
{
SendClientMessage(playerid, COLOR_ALLDEPT, "911: Соединяю вас с диспетчером полиции. Пожалуйста, подождите...");
Mobile[playerid] = 912;
SendClientMessage(playerid, COLOR_DBLUE, "PHQ: Это Диспетчер SAPD, пожалуйста дайте короткое описание преступления.Сообщите место происшествия.");
return 0;
}
else if ((strcmp("03", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("03")))
{
SendClientMessage(playerid, COLOR_ALLDEPT, "911: Соединяю вас с диспетчером скорой помощи. Пожалуйста, подождите...");
Mobile[playerid] = 914;
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Диспетчер: Здравствуйте, коротко сообщите о случившемся.Сообщите место происшествия.");
return 0;
}
else
{
SendClientMessage(playerid, COLOR_ALLDEPT, "911: Извините, но вас плохо слышно, полиция (02) или скорая помощь (03)?");
return 0;
}
}
if(IsPlayerConnected(Mobile[playerid]))
{
if(Mobile[Mobile[playerid]] == playerid)
{
if(PlayerInfo[playerid][pHideNumber] == 0 && !IsAtPayphone(playerid))
{
if(PlayerInfo[playerid][pMask] == 1)
{
format(string, sizeof(string), "Незнакомец гoвopuт (в тeл.): %s", text);
}
else
{
format(string, sizeof(string), "%s гoвopuт (в тeл.): %s", sendername, text);
}
}
else
{
format(string, sizeof(string), "Незнакомый голос (в тeл.): %s",text);
}
SendClientMessage(Mobile[playerid], COLOR_YELLOW2,string);
}
}
else
{
SendClientMessage(playerid, COLOR_YELLOW,"Кроме вас здесь никого нет!");
}
return 0;
}
}
PHP:
//================================[ Таксофоны ]===========================================//
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1721.1951,-1721.3274,13.5454,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1805.8915,-1600.8894,13.5469,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1806.7111,-1599.9607,13.5469,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1807.6871,-1599.1393,13.5469,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1808.6970,-1598.2676,13.5469,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1809.6656,-1597.4368,13.5469,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1710.4701,-1604.8776,13.5469,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1710.4701,-1604.8776,13.5469,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1711.3196,-1605.5674,13.5469,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,295.0905,-1573.5332,33.4427,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,296.7084,-1573.7710,33.4631,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,296.7084,-1573.7710,33.4631,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,303.1015,-1592.8331,32.8495,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,302.1358,-1592.7343,32.8115,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,279.6747,-1630.7975,33.3107,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,278.0888,-1630.6023,33.3104,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,2257.7419,-1211.6727,23.9688,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,2259.2512,-1211.6838,23.9688,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1721.2006,-1720.4731,13.5416,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1723.0820,-1721.2474,13.5468,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,1723.0801,-1720.3872,13.5394,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,356.8147,-1364.4952,14.4850,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,355.3643,-1365.1548,14.4661,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,338.8322,-1397.2825,14.2228,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,339.9358,-1397.6555,14.3896,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,339.5755,-1398.7756,14.3890,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,338.3472,-1398.7109,14.3734,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,523.1959,-1526.4417,14.8026,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,522.3254,-1525.6119,14.7490,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,523.1973,-1524.7677,14.6949,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,523.9938,-1525.6340,14.7482,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,523.1372,-1517.2546,14.6006,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,522.3214,-1516.3606,14.5958,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,523.1416,-1515.5714,14.5915,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,524.0108,-1516.4266,14.5961,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,2069.4102,-1767.8351,13.5622,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,2069.4695,-1766.6896,13.5627,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,-1967.3879,162.3943,27.6875,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,-1966.2800,162.3970,27.6875,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,-1965.1171,162.3969,27.6875,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,-1964.1456,162.3980,27.6875,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,2166.3914,-1155.7433,24.8626,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,2166.3933,-1154.9111,24.8758,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,378.6402,-1717.1147,23.4408,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,378.6397,-1717.9363,23.2052,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,383.2906,170.0077,1008.3828,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,381.6122,170.0071,1008.3828,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,381.6122,170.0071,1008.3828,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,379.8120,170.0071,1008.3828,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,638.0289,-1227.5535,18.1406,40.0,0,1);
CreateDynamic3DTextLabel("/call [номер].",COLOR_LIME,638.0356,-1229.1333,18.0745,40.0,0,1);
вставляем
PHP:
if(dialogid == 36)//Ввели номер телефона
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,36,DIALOG_STYLE_INPUT,"Куда звонить","Введи номер телефона","Ок","Отменить");
return 1;
}
new phonenumb = strval(inputtext);
if(hMobile[playerid] != 0)
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы уже звоните!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s нaбupaeт нoмep на домашнем телефоне.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerSpecialAction ( playerid , SPECIAL_ACTION_USECELLPHONE );
if(phonenumb == 911)
{
SendClientMessage(playerid, COLOR_ALLDEPT, "ДИСПЕТЧЕР: Кого вы хотите вызвать? полицию (02) или медика (03) ");
Mobile[playerid] = 911;
return 1;
}
if(phonenumb == PlayerInfo[playerid][pPnumber])
{
SendClientMessage(playerid, COLOR_GRAD2, "** Абонент занят **");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
return 1;
}
new giveplayerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
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)
{
SendClientMessage(playerid, COLOR_GREY, "** Абонент недоступен **");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
return 1;
}
if(PlayerInfo[giveplayerid][pJailed] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "** Абонент недоступен **");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
return 1;
}
if (Mobile[giveplayerid] == 255)
{
if(IsAtPayphone(playerid)) format(string, sizeof(string), " Ваш телефон зазвонил, введите (/Pickup) Вызывает: Неизвестный входящий"); //modif
else format(string, sizeof(string), " Ваш телефон зазвонил, введите (/Pickup) Вызывает: %d", PlayerInfo[playerid][pPnumber]); //modif
// format(string, sizeof(string), "Baш мoбuльнuk звoнuт. Aбoнeнт: %s", sendername);
SendClientMessage(giveplayerid, COLOR_YELLOW2, string);
GetPlayerName(giveplayerid, sendername, sizeof(sendername));
RingTone[giveplayerid] = 10;
format(string, sizeof(string), "** У %s звонит телефон.", sendername);
ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
CellTime[playerid] = 1;
if(IsAtPayphone(playerid))
{
Payphone[playerid]=1;
TogglePlayerControllable(playerid,0);
}
return 1;
}
}
}
}
}
}
SendClientMessage(playerid, COLOR_GRAD2, "** Абонент занят **");
SetTimerEx("HidePhone",2000,0,"i",Float:playerid);
}
return 1;
}
PHP:
if(dialogid == 5)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,5,DIALOG_STYLE_INPUT,"Пополнение счета","Введите сумму которую хотите положить на счет мобильного","Ок","Отмена");
}
new mobakk = strval(inputtext);
if(mobakk < 1 || mobakk > 100) { SendClientMessage(playerid, COLOR_GREY, "Сумма платежа должна составлять не менее1$ и не более 100$!"); return 1; }
new lastakk = PlayerInfo[playerid][pTA];
if(lastakk >= 100) { SendClientMessage(playerid, COLOR_GREY, "На вашем лицевом счете уже достаточно денег!"); return 1; }
if(PlayerInfo[playerid][pCash] < mobakk)
{
SendClientMessage(playerid,COLOR_GREY," У тебя нет такой суммы!");
ShowPlayerDialog(playerid,5,DIALOG_STYLE_INPUT,"{ff0000}Пополнение счета","Введите сумму которую хотите положить на счет мобильного","Ок","Отмена");
return 1;
}
ServerGivePlayerMoney(playerid, -mobakk);
PlayerInfo[playerid][pTA] += mobakk;
new newakk = PlayerInfo[playerid][pTA];
SendClientMessage(playerid, COLOR_GREY, "=========[ Чек ]=========");
format(string, sizeof(string), "* Старый баланс %d $", lastakk);
SendClientMessage(playerid, COLOR_GREY, string);
format(string, sizeof(string), "* Вы пополнили на %d $", mobakk);
SendClientMessage(playerid, COLOR_GREY, string);
format(string, sizeof(string), "* Новый баланс%d $", newakk);
SendClientMessage(playerid, COLOR_GREY, string);
SendClientMessage(playerid, COLOR_GREY, "=======================");
}
}
Автор: Я
от +сека не откажусь
Не орите только.
Последнее редактирование:
