lock5126, Паблик, отвечающий за спаун, это OnPlayerSpawn, не? SetPlayerSpawn больше похоже на функцию enkey954, Ты уверен в этой функции...? SetTimerEx("FreezeZona", i*1200, 0, "dd", playerid, count);
По сути вещей должно быть так, если я правильно понимаю: SetTimerEx("FreezeZona", 1200, 0, "dd", i, count);
А чтобы распространялось только на тех, кто в зоне, делаешь так:
Code
for(new i = 0; i < MAX_PLAYERS; i++) { if(проверка нахождения игрока в ДМ зоне)// Догадаешься заменить на свою? =) { SetTimerEx("FreezeZona", 1200, 0, "dd", i, count); count--; } }
enkey954, братиш, в нутри цикла все playerid замени на i Ибо для того и цикл, чтобы пробегаться ПО ВСЕМ (i) игрокам, а не только по тому (playerid), к кому вызвалась данная функция
if(dialogid == 234) { if(response) { if(listitem == 0) { ShowPlayerDialog(playerid, 245, DIALOG_STYLE_INPUT, "Выдача паспорта","Введите ID человека которому хотите выдать паспорт:", "Выдать", "Назад"); return 0; } if(listitem == 1) { ShowPlayerDialog(playerid, 246, DIALOG_STYLE_INPUT, "Выдача VISA","Введите ID человека которому хотите выдать VISA:", "Выдать", "Отмена"); return 0; } if(listitem == 2) { ShowPlayerDialog(playerid, 247, DIALOG_STYLE_INPUT, "Выдача разрешения на мигалку","Введите ID человека которому хотите выдать разрешение на мигалку:", "Выдать", "Отмена"); return 0; } if(listitem == 3) { ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на дом","Введите ID человека которому хотите выдать документы на дом:", "Выдать", "Отмена"); return 0; } if(listitem == 4) { ShowPlayerDialog(playerid, 250, DIALOG_STYLE_INPUT, "Выдача документов на бизнес","Введите ID человека которому хотите выдать документы на бизнес:", "Выдать", "Отмена"); return 0; } if(listitem == 5) { ShowPlayerDialog(playerid, 251, DIALOG_STYLE_INPUT, "Выдача пропуска","Введите ID человека которому хотите выдать пропуск:", "Выдать", "Назад"); return 0; } } } [cut noguest=Вот всё что выдаётся] if(dialogid == 245)// ID нашего диалога { new listitems[] = "Паспорт\nVISA\nРазрешение на мигалку\nДокументы на дом\nДокументы на бизнес\nПропуск"; if(response) { new id = ReturnUser(inputtext); if(!strlen(inputtext)) { ShowPlayerDialog(playerid, 245, DIALOG_STYLE_INPUT, "Выдача паспорта","Введите ID человека которому хотите выдать паспорт:", "Выдать", "Назад"); return 1; } if(id == INVALID_PLAYER_ID) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Игрок не найден."); ShowPlayerDialog(playerid, 245, DIALOG_STYLE_INPUT, "Выдача паспорта","Введите ID человека которому хотите выдать паспорт:", "Выдать", "Назад"); return 1; } if (ProxDetectorS(5, id, playerid)) { } else { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Вы слишком далеко от этого игрока"); return 1; } if(id == playerid) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Нельзя выдать паспорт самому себе."); ShowPlayerDialog(playerid, 245, DIALOG_STYLE_INPUT, "Выдача паспорта","Введите ID человека которому хотите выдать паспорт:", "Выдать", "Назад"); return 1; } if(PlayerInfo[id][pPasport] == 1) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] У этого человека уже есть паспорт."); ShowPlayerDialog(playerid, 245, DIALOG_STYLE_INPUT, "Выдача паспорта","Введите ID человека которому хотите выдать паспорт:", "Выдать", "Назад"); return 1; } if(GetMoney(id) < 150) { SendClientMessage(playerid,COLOR_GREY," [Ошибка] У этого человека не хватает денег на паспорт."); ShowPlayerDialog(playerid, 245, DIALOG_STYLE_INPUT, "Выдача паспорта","Введите ID человека которому хотите выдать паспорт:", "Выдать", "Назад"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню format(string, sizeof(string), "Сотрудник мэрии %s хочет выдать вам паспорт.", sendername); ShowPlayerDialog(id, 90, DIALOG_STYLE_MSGBOX, "Выдача паспорта", string, "Получить", "Назад"); SendClientMessage(playerid, COLOR_RED, "Вы выдали паспорт."); } else { ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню } }
} } } //=============================================.::[второй ЛИСТИТЕМ (виза)]::.========================================================================================================================================= ========================================================== if(dialogid == 246)// ID нашего диалога { new listitems[] = "Паспорт\nVISA\nРазрешение на мигалку\nДокументы на дом\nДокументы на бизнес\nПропуск"; if(response) { new id = ReturnUser(inputtext); if(!strlen(inputtext)) { ShowPlayerDialog(playerid, 246, DIALOG_STYLE_INPUT, "Выдача VISA","Введите ID человека которому хотите выдать VISA:", "Выдать", "Отмена"); return 1; } if(id == INVALID_PLAYER_ID) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Игрок не найден."); ShowPlayerDialog(playerid, 246, DIALOG_STYLE_INPUT, "Выдача VISA","Введите ID человека которому хотите выдать VISA:", "Выдать", "Отмена"); return 1; } if (ProxDetectorS(5, id, playerid)) { } else { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Вы слишком далеко от этого игрока"); return 1; } if(PlayerInfo[id][pViza] == 1) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] У этого человека уже есть VIZA."); ShowPlayerDialog(playerid, 246, DIALOG_STYLE_INPUT, "Выдача VISA","Введите ID человека которому хотите выдать VISA:", "Выдать", "Отмена"); return 1; } if(GetMoney(id) < 50000) { SendClientMessage(playerid,COLOR_GREY," [Ошибка] У этого человека не хватает денег на VIZA."); ShowPlayerDialog(playerid, 246, DIALOG_STYLE_INPUT, "Выдача VISA","Введите ID человека которому хотите выдать VISA:", "Выдать", "Отмена"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню format(string, sizeof(string), "Сотрудник мэрии %s хочет выдать вам VIZA.", sendername); ShowPlayerDialog(id, 91, DIALOG_STYLE_MSGBOX, "Выдача VIZA", string, "Получить", "Назад"); SendClientMessage(playerid, COLOR_RED, "Вы выдали VIZA."); } else { ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню } }
if(dialogid == 247)// ID нашего диалога { new listitems[] = "Паспорт\nVISA\nРазрешение на мигалку\nДокументы на дом\nДокументы на бизнес\nПропуск"; if(response) { new id = ReturnUser(inputtext); if(!strlen(inputtext)) { ShowPlayerDialog(playerid, 247, DIALOG_STYLE_INPUT, "Выдача разрешения на мигалку","Введите ID человека которому хотите выдать разрешение на мигалку:", "Выдать", "Назад"); return 1; } if(id == INVALID_PLAYER_ID) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Игрок не найден."); ShowPlayerDialog(playerid, 247, DIALOG_STYLE_INPUT, "Выдача разрешения на мигалку","Введите ID человека которому хотите выдать разрешение на мигалку:", "Выдать", "Назад"); return 1; } if (ProxDetectorS(5, id, playerid)) { } else { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Вы слишком далеко от этого игрока"); return 1; } if(PlayerInfo[id][pMember] == 1 || PlayerInfo[id][pLeader] == 1) { } else { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Выдать разрешение на мигалку можно только сотруднику LAPD."); ShowPlayerDialog(playerid, 247, DIALOG_STYLE_INPUT, "Выдача разрешения на мигалку","Введите ID человека которому хотите выдать разрешение на мигалку:", "Выдать", "Назад"); return 1; } if(GetMoney(id) < 5) { SendClientMessage(playerid,COLOR_GREY," [Ошибка] У этого человека не хватает денег на разрешение."); ShowPlayerDialog(playerid, 247, DIALOG_STYLE_INPUT, "Выдача разрешения на мигалку","Введите ID человека которому хотите выдать разрешение на мигалку:", "Выдать", "Назад"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню format(string, sizeof(string), "Сотрудник мэрии %s хочет выдать вам разрешение на мигалку.", sendername); ShowPlayerDialog(id, 253, DIALOG_STYLE_MSGBOX, "Выдача пропуска", string, "Получить", "Назад"); SendClientMessage(playerid, COLOR_RED, "Вы выдали разрешение на мигалку."); } else { ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню } }
if(dialogid == 253)// Диалог получения разрешения на мигалку { if(response)// Если нажата левая кнопка { ServerGivePlayerMoney(playerid, -5); GameTextForPlayer(playerid, "~g~-5$", 5000, 1); new babki = SefMoney + 5; SefMoney = babki; SaveMer(); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); PlayerInfo[playerid][pMigarasrehenie] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "Сотрудник мэрии %s выдает Вам разрешение на мигалку.", sendername); SendClientMessage(playerid, COLOR_RED, string); return 1; } else {
} } //================================мигалку предлагает============================ if(dialogid == 1720)// ID нашего диалога { if(response) { new id = ReturnUser(inputtext); if(!strlen(inputtext)) { ShowPlayerDialog(playerid, 1720, DIALOG_STYLE_INPUT, "Выдача мигалки","Введите ID человека которому хотите выдать мигалку:", "Выдать", "Назад"); return 1; } if(id == INVALID_PLAYER_ID) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Игрок не найден."); ShowPlayerDialog(playerid, 1720, DIALOG_STYLE_INPUT, "Выдача мигалки","Введите ID человека которому хотите выдать мигалку:", "Выдать", "Назад"); return 1; } if (ProxDetectorS(5, id, playerid)) { } else { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Вы слишком далеко от этого игрока"); return 1; } if(PlayerInfo[id][pMigarasrehenie] < 1) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] У этого человека нет разрешения на мигалку."); ShowPlayerDialog(playerid, 1720, DIALOG_STYLE_INPUT, "Выдача мигалки","Введите ID человека которому хотите выдать мигалку:", "Выдать", "Назад"); return 1; } if(PlayerInfo[id][pMiga] == 1) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] У этого человека уже есть мигалка."); ShowPlayerDialog(playerid, 1720, DIALOG_STYLE_INPUT, "Выдача мигалки","Введите ID человека которому хотите выдать мигалку:", "Выдать", "Назад"); return 1; } if(GetMoney(id) < 10001) { SendClientMessage(playerid,COLOR_GREY," [Ошибка] У этого человека не хватает денег на мигалку."); ShowPlayerDialog(playerid, 1720, DIALOG_STYLE_INPUT, "Выдача мигалки","Введите ID человека которому хотите выдать мигалку:", "Выдать", "Назад"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "Лидер LAPD %s хочет выдать вам мигалку.", sendername); ShowPlayerDialog(id, 1721, DIALOG_STYLE_MSGBOX, "Выдача мигалки", string, "Получить", "Назад"); SendClientMessage(playerid, COLOR_RED, "Вы выдали мигалку."); } else { } } //===========================Мигалку получает=================================== if(dialogid == 1721)// Диалог получения разрешения на мигалку { if(response)// Если нажата левая кнопка { ServerGivePlayerMoney(playerid, -10); GameTextForPlayer(playerid, "~g~-10$", 5000, 1); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); PlayerInfo[playerid][pMiga] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "Лидер LAPD %s выдает Вам мигалку.", sendername); SendClientMessage(playerid, COLOR_RED, string); return 1; } else {
} }
if(dialogid == 1722)// ID нашего диалога { if(response) { new id = ReturnUser(inputtext); if(!strlen(inputtext)) { ShowPlayerDialog(playerid, 1720, DIALOG_STYLE_INPUT, "Отбор мигалки","Введите ID человека у которого хотите отобрать мигалку:", "Выдать", "Назад"); return 1; } if(id == INVALID_PLAYER_ID) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Игрок не найден."); ShowPlayerDialog(playerid, 1720, DIALOG_STYLE_INPUT, "Отбор мигалки","Введите ID человека у которого хотите отобрать мигалку:", "Выдать", "Назад"); return 1; } if (ProxDetectorS(5, id, playerid)) { } else { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Вы слишком далеко от этого игрока"); return 1; } if(PlayerInfo[id][pMiga] < 1) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] У этого человека нет мигалки."); ShowPlayerDialog(playerid, 1720, DIALOG_STYLE_INPUT, "Отбор мигалки","Введите ID человека у которого хотите отобрать мигалку:", "Выдать", "Назад"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "Лидер LAPD %s отбирает у Вас мигалку.", sendername); SendClientMessage(id, COLOR_RED, string); PlayerInfo[id][pMiga] = 0; SendClientMessage(playerid, COLOR_RED, "Вы забрали мигалку."); } else { } }
if(dialogid == 249)// ID нашего диалога { new listitems[] = "Паспорт\nVISA\nРазрешение на мигалку\nДокументы на дом\nДокументы на бизнес\nПропуск"; if(response) { new id = ReturnUser(inputtext); if(!strlen(inputtext)) { ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на дом","Введите ID человека которому хотите выдать документы на дом:", "Выдать", "Назад"); return 1; } if(id == INVALID_PLAYER_ID) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Игрок не найден."); ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на дом","Введите ID человека которому хотите выдать документы на дом:", "Выдать", "Назад"); return 1; } if (ProxDetectorS(5, id, playerid)) { } else { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Вы слишком далеко от этого игрока"); return 1; } if(id == playerid) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Нельзя выдать документы на дом самому себе."); ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на дом","Введите ID человека которому хотите выдать документы на дом:", "Выдать", "Назад"); return 1; } if(PlayerInfo[id][pDomrasrehenie] == 1) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] У этого человека уже есть документы на дом."); ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на дом","Введите ID человека которому хотите выдать документы на дом:", "Выдать", "Назад"); return 1; } if(GetMoney(id) < 100) { SendClientMessage(playerid,COLOR_GREY," [Ошибка] У этого человека не хватает денег на документы на дом."); ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на дом","Введите ID человека которому хотите выдать документы на дом:", "Выдать", "Назад"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню format(string, sizeof(string), "Сотрудник мэрии %s хочет выдать вам документы на дом.", sendername); ShowPlayerDialog(id, 260, DIALOG_STYLE_MSGBOX, "Выдача документов на дом", string, "Получить", "Назад"); SendClientMessage(playerid, COLOR_RED, "Вы выдали документы на дом."); } else { ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню } }
if(dialogid == 250)// ID нашего диалога { new listitems[] = "Паспорт\nVISA\nРазрешение на мигалку\nДокументы на дом\nДокументы на бизнес\nПропуск"; if(response) { new id = ReturnUser(inputtext); if(!strlen(inputtext)) { ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на бизнес","Введите ID человека которому хотите выдать документы на бизнес:", "Выдать", "Назад"); return 1; } if(id == INVALID_PLAYER_ID) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Игрок не найден."); ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на бизнес","Введите ID человека которому хотите выдать документы на бизнес:", "Выдать", "Назад"); return 1; } if (ProxDetectorS(5, id, playerid)) { } else { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Вы слишком далеко от этого игрока"); return 1; } if(id == playerid) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] Нельзя выдать документы на бизнес самому себе."); ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на бизнес","Введите ID человека которому хотите выдать документы на бизнес:", "Выдать", "Назад"); return 1; } if(PlayerInfo[id][pBizrasrehenie] == 1) { SendClientMessage(playerid, COLOR_GREY, " [Ошибка] У этого человека уже есть документы на бизнес."); ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на бизнес","Введите ID человека которому хотите выдать документы на бизнес:", "Выдать", "Назад"); return 1; } if(GetMoney(id) < 500) { SendClientMessage(playerid,COLOR_GREY," [Ошибка] У этого человека не хватает денег на документы на бизнес."); ShowPlayerDialog(playerid, 249, DIALOG_STYLE_INPUT, "Выдача документов на бизнес","Введите ID человека которому хотите выдать документы на бизнес:", "Выдать", "Назад"); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню format(string, sizeof(string), "Сотрудник мэрии %s хочет выдать вам документы на бизнес.", sendername); ShowPlayerDialog(id, 261, DIALOG_STYLE_MSGBOX, "Выдача документов на бизнес", string, "Получить", "Назад"); SendClientMessage(playerid, COLOR_RED, "Вы выдали документы на бизнес."); } else { ShowPlayerDialog(playerid,234,DIALOG_STYLE_LIST,"Выдать", listitems,"Выбрать","Выйти"); //Если да вылазеет меню } } //=============================================.::[документы на бизнес]::.========================================================================================================================================= =============================================================== if(dialogid == 261)// Диалог получения паспорта { if(response)// Если нажата левая кнопка { ServerGivePlayerMoney(playerid, -500); GameTextForPlayer(playerid, "~g~-500$", 5000, 1); new babki = SefMoney + 500; SefMoney = babki; SaveMer(); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); PlayerInfo[playerid][pBizrasrehenie] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "Сотрудник мэрии %s выдает Вам документы на бизнес.", sendername); SendClientMessage(playerid, COLOR_RED, string); return 1; } else {
} }[/cut]
// Еще раз увижу подобное растягивание - пиняй на себя.
Сообщение отредактировал velix - Вторник, 24.01.2012, 21:02
Burbon, На будущее: чтоб русский язык на символы не меняло, нужно перед копированием русскую раскладку поставить Код вроде нормальный. Нужно ошибку найти. Попробуй в коде, где вероятнее всего ошибка, через строку проставить SendClientMessage(0, 0xFFFFFFFF, "текст"); с разным текстом. И перед тем сообщение, которое должно было прийти, но не пришло, и есть ошибка. Потом код сюда, если сам не сможешь разобраться, и укажи строку с ошибкой.
_Pawno_, Зима, холодно, жигули с разгону заводятся. Откажись от автопрома, попробуй на иномарке