_Pawno_, не понятно зачем ты i на PlayerInfo[playerid] заменил? бред. здесь, скорее всего, имелся в виду цикл for( new i = GetMaxPlayers(); i >= 0; i-- )
Что не правильно делаю?Заходишь на чекпоинт,выводит диалог с выбором работы ,после выбора работы,должно выводить описание работы с 2-умя кнопками "Устроиться" и "Отмена",но почему-то не выводит описание. Это чекпоинт для устройства на работу.
Code
else if(getCheckpointType(playerid) == CP_CITYHALL)//для устройства на работу { if(WantedLevel[playerid] > 0) return SendClientMessage(playerid, COLOR_GREY, " Вы должны быть не в розыске, чтобы получить работу !"); ShowPlayerDialog(playerid,100,DIALOG_STYLE_LIST,"Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена"); }
Это сам диалог описания работ:
Code
else if(dialogid == 100) { if(response) { if(listitem == 0) { if(PlayerInfo[playerid][pJob] > 0) { SendClientMessage(playerid, COLOR_GREY, " У Вас уже есть работа. (Используйте: /quitjob, чтобы уйти с работы)!"); ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена"); } else if(PlayerInfo[playerid][pMed] != 1) { SendClientMessage(playerid, COLOR_GREY, " Вы не можете устроиться на работу без мед. осмотра!"); ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена"); } else if(PlayerInfo[playerid][pLevel] < 3) { SendClientMessage(playerid, COLOR_GREY, " Вы должны проживать в штате более 3 лет!"); ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена"); } else { GettingJob[playerid] = 1; SetPlayerSkinEx(playerid, 156); format(string, sizeof(string), "Работа детектива доступна всем желающим,кто проживает в штате более 3-ёх лет. Отсутствует офис.\n", strlen(msgitem), 98); format(string, sizeof(string), "Смысл этой работы - искать людей. Для этого используется команда /find [id игрока].\n", strlen(msgitem), 87); format(string, sizeof(string), "После ввода команды искомый игрок выделяется синим цветом, причем при его движении маркер двигается за игроком.\n", strlen(msgitem), 114); format(string, sizeof(string), "Маркер двигается за игроком в течении 3-11 сек (в зависимости от скилла).\n", strlen(msgitem), 76); format(string, sizeof(string), "После каждого ввода команды поиска игрока нужно ждать 2 минуты до следующего поиска игрока.\n", strlen(msgitem), 94); format(string, sizeof(string), "На 5 уровне работы маркер держится 11 секунд и от одного поиска до другого нет никаких ограничений по времени,\n", strlen(msgitem), 113); format(string, sizeof(string), "кроме длительности самого поиска, т.е. 11сек. Запрещено искать находясь в интерьере или в заключении, т.е. в КПЗ и на зоне 51.\n\n", strlen(msgitem), 129); format(string, sizeof(string), "* Вы собираетесь стать детективом и получить часовой контракт?\n", strlen(msgitem), 67); format(string, sizeof(string), "* Вы должны отработать этот контракт для начала, если Вы захотите покинуть работу позже.\n", strlen(msgitem), 91); format(string, sizeof(string), "* Если Вы уверены, что хотите стать детективом, нажмите Устроиться.\n", strlen(msgitem), 67); ShowPlayerDialog(playerid,22,DIALOG_STYLE_MSGBOX,"Работодатель","Устроиться","Отмена"); } } if(listitem == 1) { if(PlayerInfo[playerid][pJob] > 0) { SendClientMessage(playerid, COLOR_GREY, " У Вас уже есть работа. (Используйте: /quitjob, чтобы уйти с работы)!"); ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена"); } else if(PlayerInfo[playerid][pMed] != 1 && PlayerInfo[playerid][pLevel] > 1) { SendClientMessage(playerid, COLOR_GREY, " Вы не можете устроиться на работу без мед. осмотра!"); ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена"); } else if(PlayerInfo[playerid][pLevel] < 3) { SendClientMessage(playerid, COLOR_GREY, " Вы должны проживать в штате более 3-ёх лет!"); ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена"); } else { GettingJob[playerid] = 2; SetPlayerSkinEx(playerid, 17); format(string, sizeof(string), "Работа адвоката доступна всем желающим,кто проживает в штате более 3-ёх лет. Отсутствует офис.\n", strlen(msgitem), 97); format(string, sizeof(string), "На этой работе вам нужно освобождать заключённых с Зоны 51, которые при аресте согласились на залог. Работа довольно прибыльная.\n", strlen(msgitem), 129); format(string, sizeof(string), "Залоги ставят от 20.000$ до 700.000$, т.е. эти деньги вы будете получать себе от заключённых.\n", strlen(msgitem), 94); format(string, sizeof(string), "Список заключённых Зоны 51 и размер из залога можно увидеть введя команду /jailstats. Чтобы освободить заключённого -\n", strlen(msgitem), 118); format(string, sizeof(string), "Вы должны получить разрешение от ФБР выше 3 ранга. C разрешением можно освободить только одного человека и затем,\n", strlen(msgitem), 119); format(string, sizeof(string), "пройдя к бункеру, освободить указанного заключённого командой /free [id игрока], при этом вам перечислится сумма залога.\n", strlen(msgitem), 121); format(string, sizeof(string), "На пятом скилле вам не требуется разрешение, т.е. если вы оказались рядом с заключённым можете его сразу освободить.\n\n", strlen(msgitem), 126); format(string, sizeof(string), "* Вы собираетесь стать адвокатом и получить часовой контракт?\n", strlen(msgitem), 64); format(string, sizeof(string), "* Вы должны отработать этот контракт для начала, если Вы захотите покинуть работу позже.\n", strlen(msgitem), 89); format(string, sizeof(string), "* Если Вы уверены, что хотите стать адвокатом, нажмите Устроиться.\n", strlen(msgitem), 69); ShowPlayerDialog(playerid,22,DIALOG_STYLE_MSGBOX,"Работодатель","Устроиться","Отмена"); } } ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена"); return 1; } else { return 1; } }
А это диалог устройства на работу:
Code
else if(dialogid == 22) { //ShowPlayerDialog(playerid,22,DIALOG_STYLE_MSGBOX,"Работодатель",msgitem,"Accept","Cancel"); if(response) { if(GettingJob[playerid] > 0) { if(PlayerInfo[playerid][pLocal] != 241) { SendClientMessage(playerid, COLOR_GREY, " Вы Не находитесь в месте трудоустройства !"); return 1; } SendClientMessage(playerid, COLOR_GREEN, "* Теперь, когда Вы подтвердили Ваше желание работать, Вы получили часовой контракт."); SendClientMessage(playerid, COLOR_GREEN, "* Поздравляем Вас с новой работой, наберите /help, чтобы увидеть ваши новые команды."); PlayerInfo[playerid][pJob] = GettingJob[playerid]; PlayerInfo[playerid][pModel] = GetPlayerSkin(playerid); PlayerInfo[playerid][pChar] = 0; GettingJob[playerid] = 0; PlayerInfo[playerid][pMats] = 0;//обнуляем кол-во материалов при смене работы return 1; } else { SendClientMessage(playerid, COLOR_GREY, " Вы Не получили предложения на эту работу !"); return 1; } } else { GettingJob[playerid] = 0; ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Устройство на работу","- Детектив\tгод\n- Адвокат\tгод","Выбрать","Отмена"); } return 1; }
В общем, при вводе любой команды в чат через / пишет : Server:Uknown command
это значит, что в процессе выполнения OnPlayerCommand не встретилось return 1. Ну а почему конкретно не встретилось - зависит от случая. Может, такой команды просто нет, может, где-то в команде ошибка, скрипт на ней прерывается и до ретурна не доходит. Может, просто ретурн забыл поставить...
Ребята я тут писал про то,сделал пикап типо вход в здание все работает хорошо,но когда на него встаешь тебя обратно тп-шит потому что задержки не было,получилось так else if (IsPlayerInRangeOfPoint(playerid,2.0,1766.6915,-1361.6907,15.7578))//âõîä DM { SetPlayerInterior(playerid,18); SetPlayerPos(playerid,1307.8802,-55.2165,1002.4967); SetTimerEx("SetPlayerInterior", 3000, false, "%d, %d", playerid, 0); return 1; } else if (IsPlayerInRangeOfPoint(playerid,2.0,1307.8802,-55.2165,1002.4967))//âûõîä { SetPlayerInterior(playerid,0); SetPlayerPos(playerid,1766.6915,-1361.6907,15.7578); SetTimerEx("SetPlayerInterior", 3000, false, "%d, %d", playerid, 0); return 1; } Но вот не работает чет,ошибок нет,но вот скажите где косяк?
В общем, при вводе любой команды в чат через / пишет : Server:Uknown command, хотя такая команда должна быть в моде. Именно при всех командах! Читал, пишут что про return 1,у меня же везде(вроде бы) он и стоит. Что делать ? Не работает команды вообще.
Посмотри,какую последнюю команду добавлял и разбирай их
Пожалуйста помогите, у меня на ГФ моде при заходе в игру деньги увеличиваются в 2 раза, как это исправить и где? P.S. Функция выдачи денег у меня givemoney
Пожалуйста помогите, у меня на ГФ моде при заходе в игру деньги увеличиваются в 2 раза, как это исправить и где? P.S. Функция выдачи денег у меня givemoney
В OnPlayerLogin ищите функцию выдачи денег и смотрите, где идет увеличение в 2 раза.
и еще,я сделал здание с интом и когда стою на пикапе меня туда тпшит,все вроде бы нормально,но только меня из инта тут же тпшит как замедлить или устранить это тп?Объясните.