PDA

Просмотр полной версии : [Вопрос] Перевод команды на диалог



Быдлокодер
14.04.2016, 16:33
Здраствуйте, хотел спросить сложно ли перевести эти команду на диалоги? (именно DIALOG_STYLE_INPUT) Помогите пожалуйста, и ещё одна просьба, если можно конечно, то с комментариями кода, спасибо!


CMD:seekhelp(playerid, params[])
{
if (isnull(params))
return SendSyntaxMessage(playerid, "/seekhelp [текст]");

if (PlayerData[playerid][pHelpTime] >= gettime())
return SendErrorMessage(playerid, "Подожди %d секунд, перед отправкой.", PlayerData[playerid][pHelpTime] - gettime());

PlayerData[playerid][pSeekHelp] = 1;
SendTesterMessage(COLOR_CYAN, "[ПОМОЩЬ]: %s (ID: %d) спросил: \"%s\"", ReturnName(playerid, 0), playerid, params);

PlayerData[playerid][pHelpTime] = gettime() + 15;
SendServerMessage(playerid, "Отправлено.");
return 1;
}



CMD:report(playerid, params[])
{
new reportid = -1;

if (isnull(params))
{
SendSyntaxMessage(playerid, "/report [причина]");
SendClientMessage(playerid, COLOR_LIGHTRED, "[ВНИМАНИЕ]:{FFFFFF} Используйте эту команду не для развлечений.");
return 1;
}
if (Report_GetCount(playerid) > 5)
return SendErrorMessage(playerid, "Ты уже отправил 5 жалоб. Подожди.!");

if (PlayerData[playerid][pReportTime] >= gettime())
return SendErrorMessage(playerid, "Ты должен подождать %d, чтобы опять написать жалобу.", PlayerData[playerid][pReportTime] - gettime());

if ((reportid = Report_Add(playerid, params)) != -1)
{

foreach (new i : Player)
{
if (PlayerData[i][pAdmin] > 0 && PlayerData[i][pAdminDuty]) {
SendClientMessageEx(i, COLOR_LIGHTYELLOW, "[ЖАЛОБА %d]: %s (ID: %d) суть: %s", reportid, ReturnName(playerid, 0), playerid, params);
}
}
PlayerData[playerid][pReportTime] = gettime() + 15;
SendServerMessage(playerid, "Отправлено.");
}
else
{
SendErrorMessage(playerid, "Подожди немного.");
}
return 1;
}

Иван Бубнов
14.04.2016, 16:48
CMD:seekhelp(playerid, params[])
{
if (isnull(params))
return ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, "Помощь", "Введите Ваш вопрос!");
if (PlayerData[playerid][pHelpTime] >= gettime())
return SendErrorMessage(playerid, "Подожди %d секунд, перед отправкой.", PlayerData[playerid][pHelpTime] - gettime());

PlayerData[playerid][pSeekHelp] = 1;
SendTesterMessage(COLOR_CYAN, "[ПОМОЩЬ]: %s (ID: %d) спросил: \"%s\"", ReturnName(playerid, 0), playerid, params);

PlayerData[playerid][pHelpTime] = gettime() + 15;
SendServerMessage(playerid, "Отправлено.");
return 1;
}

OnPlayerDialog:
case dialogid:
{
if(!response)
return 1;

if (PlayerData[playerid][pHelpTime] >= gettime())
return SendErrorMessage(playerid, "Подожди %d секунд, перед отправкой.", PlayerData[playerid][pHelpTime] - gettime());

if(0 == strlen(inputtext))
return ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, "Помощь", "Введите Ваш вопрос!");

PlayerData[playerid][pSeekHelp] = 1;
PlayerData[playerid][pHelpTime] = gettime() + 15;
SendTesterMessage(COLOR_CYAN, "[ПОМОЩЬ]: %s (ID: %d) спросил: \"%s\"", ReturnName(playerid, 0), playerid, params);
return SendServerMessage(playerid, "Отправлено.");
}


И таким образом можно оставить оба варианта

Быдлокодер
14.04.2016, 17:01
а как сделать без params ?
потому что вот:

C:\Documents and Settings\Admin-PC\Ìîè äîêóìåíòû\Downloads\mod\gamemodes\roleplay.pwn(26313) : warning 202: number of arguments does not match definition
C:\Documents and Settings\Admin-PC\Ìîè äîêóìåíòû\Downloads\mod\gamemodes\roleplay.pwn(26313) : warning 202: number of arguments does not match definition
C:\Documents and Settings\Admin-PC\Ìîè äîêóìåíòû\Downloads\mod\gamemodes\roleplay.pwn(26317) : error 017: undefined symbol "params"
C:\Documents and Settings\Admin-PC\Ìîè äîêóìåíòû\Downloads\mod\gamemodes\roleplay.pwn(26320) : error 010: invalid function or declaration
C:\Documents and Settings\Admin-PC\Ìîè äîêóìåíòû\Downloads\mod\gamemodes\roleplay.pwn(34987) : warning 202: number of arguments does not match definition
C:\Documents and Settings\Admin-PC\Ìîè äîêóìåíòû\Downloads\mod\gamemodes\roleplay.pwn(34987) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

TheMallard
15.04.2016, 04:33
Никак.