Na'Vi 57 Опубликовано 27 января, 2017 Вообщем никогда не было проблем с диалогами но тут что то пошло не так гляньте свежм глазом может я что то упустил, хочу сделать паспорт на диалоге но лезут ошибки разные одну исправлю другие появляются! Вот код CMD:pass(playerid, params[]) { extract params -> new to_player; else return Send(playerid, COLOR_GREEN, "Используйте: /pass [ID-игрока]"); if(!IsPlayerConnected(to_player)) return Send(playerid, COLOR_RED, "Данного игрока нет на сервере"); if(!IsPlayerInRangeOfPlayer(playerid, to_player, 6.0)) return Send(playerid, COLOR_RED, "Игрок находится слишком далеко от вас"); Action(playerid, "Раскрыл паспорт и показал человеку напротив", false); new text[635], fmt_str[50], format(fmt_str, sizeof fmt_str, "Имя:\t\t\t\t%s\n\n", player_name[playerid]); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Уровень:\t\t\t\t%d\n", player[playerid][level]); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Пол:\t\t\t\t%s\n\n", player[playerid][sex] ? ("Мужской") : ("Женский")); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Проживание:\t\t\t\t%s\n\n", GetPlayerHouseName(playerid)); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Работа:\t\t\t\t%s\n\n", GetPlayerJobAndRankName(playerid)); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Организация и подразделение:\t\t\t\t%s / %s\n\n", GetPlayerTeamName(playerid), GetPlayerSubdivisionName(playerid)); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Телефон:\t\t\t\t%d\n\n", player[playerid][phone]); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Уровень розыска:\t\t\t\t%d\n\n", player[playerid][wanted]); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Законопослушность:\t\t\t\t%d\n\n", player[playerid][law_abiding]); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Возраст:\t\t\t\t%d\n\n", player[playerid][age]); strcat(text, fmt_str); format(fmt_str, sizeof fmt_str, "Проживание в области:\t\t\t\t%d год и %d месяц\n\n", player[playerid][residence], player[playerid][residence_days]); strcat(text, fmt_str); Dialog(to_playerid, DIALOG_PLAYER_PASS, DIALOG_STYLE_MSGBOX, "{FFCC00}Паспорт", text, "Назад", "Закрыть"); return 1; } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 27 января, 2017 Начнем: Send - где функция? Action - где функция? player_name - далеко не у всех, обычно Player или PlayerInfo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Na'Vi 57 Опубликовано 27 января, 2017 , Не обессудь, можешь скинуть готовый код как должно быть просто по двум причинам я не могу этого сделать: болею, 3 часа ночи, завтра в универ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 27 января, 2017 Так себе оправдание. Ну ничего, мы можем и до завтра подождать. Обычно если через сутки тема не оформлена как следует, ее удаляют. Если нет знаний и не знаешь о чем речь - то так и скажи. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Na'Vi 57 Опубликовано 27 января, 2017 , Да уж, в 2017 человек не может заболеть, и у него не может быть 3 часа ночи, ах да в Универ у нас люди не ходят по субботам! не хочешь помогать не помогай :) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Maks CR MP 28 Опубликовано 27 января, 2017 Впринципе можно самому дальше доделать,а так спасибо автору за урок.Достоин плюса) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Na'Vi 57 Опубликовано 27 января, 2017 , Ясно Прошу удалить тему сейчас школо будут мой код слизывать! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 27 января, 2017 (изменено) @Na'Vi, Все это так смешно звучит. У меня на написание этого поста, не более чем три минуты уйдет вместе с добавлением и поиском необходимого. http://imgdepo.com/id/i10216553 Тут мы видим что код был нагло выдран с слитого мода ORP и причем не полностью. Добавить к дефайнам: #define Send SendClientMessage А вот функция Action: public: Action(playerid, text[], bubble) { new fmt_text[145]; format(fmt_text, sizeof fmt_text, "%s %s", player_name[playerid], text); SendInLocalChat(playerid, 0xDD99FFFF, fmt_text); if(bubble) SetPlayerChatBubble(playerid, text, 0xDD99FFAA, 20.0, 7000); return 1; } SetPlayerChatBubble - тоже функция, но уж думаю у многих есть и не имеет смысла ее добавлять сюда. Еще функция: stock SendInLocalChat(playerid, color, text[], Float: radius = 20.0) { new interior, virtual_world; interior = GetPlayerInterior(playerid); virtual_world = GetPlayerVirtualWorld(playerid); for(new i; i < MAX_PLAYERS; i ++) { if(!IsPlayerConnected(i)) continue; else if(!player_logged{i}) continue; else if(GetPlayerInterior(i) != interior) continue; else if(GetPlayerVirtualWorld(i) != virtual_world) continue; else if(!IsPlayerInRangeOfPlayer(i, playerid, radius)) continue; Send(i, color, text); } return 1; } player_name - далеко не у всех, обычно Player или PlayerInfo - тут уж можно самому под себя настроить. Спасибо что держишь нас за дураков. Изменено 27 января, 2017 пользователем Веб 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты