Перейти к содержанию
Авторизация  
Na'Vi

Паспорт на диалоге

Рекомендуемые сообщения

Na'Vi

Вообщем никогда не было проблем с диалогами но тут что то пошло не так гляньте свежм глазом может я что то упустил, хочу сделать паспорт на диалоге но лезут ошибки разные одну исправлю другие появляются!

 

Вот код

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;
	
}
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Начнем: Send - где функция?

Action - где функция?

player_name - далеко не у всех, обычно Player или PlayerInfo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, Не обессудь, можешь скинуть готовый код как должно быть просто по двум причинам я не могу этого сделать: болею, 3 часа ночи, завтра в универ 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Так себе оправдание. Ну ничего, мы можем и до завтра подождать. Обычно если через сутки тема не оформлена как следует, ее удаляют. Если нет знаний  и не знаешь о чем речь - то так и скажи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

,  Да уж, в 2017 человек не может заболеть, и у него не может быть 3 часа ночи, ах да в Универ у нас люди не ходят по субботам! не хочешь помогать не помогай :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Maks CR MP

Впринципе можно самому дальше доделать,а так спасибо автору за урок.Достоин плюса)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

, Ясно


Прошу удалить тему сейчас школо будут мой код слизывать!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

@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 - тут уж можно самому под себя настроить.

 

Спасибо что держишь нас за дураков.

Изменено пользователем Веб
  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.