Kovshevoy
11.11.2019, 12:36
DialogCreate:DIALOG_JOB_AIR_CONTRACT(playerid){
Dialog_Open
(
playerid, #DIALOG_JOB_AIR_CONTRACT, DIALOG_STYLE_MSGBOX,
"{FF9900}Договор",
"Компания предлагает Вам устроится на работу!\n\n"\
"По началу будет предложена низкооплачиваемая работа, но со временем вы сможете повышать уровень квалификации:\n\n\t\t\t"\
"Вариант 1[0 EXP]\n \t\t\t"\
"Вариант 2[400 EXP]\n \t\t\t"\
"Вариант 3[3600 EXP]\n \t\t\t"\
"Вариант 4[7500 EXP]\n \t\t\t"\
"Вариант 5[13000 EXP]\n\n"\
"С момента подписания договора будет фиксироваться Ваш стаж и опыт.\n"\
"Именно благодаря этому Вы и сможете приступать к новым видам работ в будущем.\n\n "\
"Вы согласны с условиями и готовы подписать договор?",
"Подпись", "Нет"
);
}
DialogResponse:DIALOG_JOB_AIR_CONTRACT(playerid, dialogid, response, listitem, inputtext[])
{
if(!response)
return false;
return Dialog_Show(playerid, #DIALOG_JOB_AIR);
}
DialogCreate:DIALOG_JOB_AIR(playerid)
{
new string[512];
format
(
string, sizeof string,
"Вариант 1[%d EXP]\n \t\t\t"\
"Вариант 2[%d EXP]\n \t\t\t"\
"Вариант 3[%d EXP]\n \t\t\t"\
"Вариант 4[%d EXP]\n \t\t\t"\
"Вариант 5[%d EXP]\n\n"\
EXP_1_JOB, EXP_2_JOB, EXP_3_JOB, EXP_4_JOB, EXP_5_JOB
);
Dialog_Open
(
playerid, #DIALOG_JOB_AIR, DIALOG_STYLE_LIST,
"{FF9900}Вакансии",
string,
"Выбрать",
""
);
}
DialogResponse:DIALOG_JOB_AIR(playerid, dialogid, response, listitem, inputtext[])
{
printf("dialogid: %d | response: %d | listitem: %d", dialogid, response, listitem);
if(!response) Dialog_Show(playerid, #DIALOG_JOB_AIR_CARD);
printf("тест 1");
new bool:error_job = false;
printf("тест 2");
if(GetPlayerLevel(playerid) < 2 )
{
SendClientMessage(playerid, -1, "Компания не может принять Вас в связи с минимальным временем проживания Вами в городе.");
SendClientMessage(playerid, -1, "Для устройства в аэропорт необходимо иметь не ниже 2-ого уровня.");
}
printf("тест 3");
if(listitem == 1 && GetPlayerAirEXP(playerid) < EXP_1_JOB ) error_job = true;
if(listitem == 2 && GetPlayerAirEXP(playerid) < EXP_2_JOB ) error_job = true;
if(listitem == 3 && GetPlayerAirEXP(playerid) < EXP_3_JOB ) error_job = true;
if(listitem == 4 && GetPlayerAirEXP(playerid) < EXP_4_JOB ) error_job = true;
printf("тест 4");
if(error_job == true)
{
Dialog_Show(playerid, #DIALOG_JOB_AIR);
SendClientMessage(playerid, -1, "Вынуждены отказать, поскольку Ваш стаж и опыт слишком мал, чтобы доверить Вам данный вид деятельности.");
}
printf("тест 5");
if(GetPlayerJob(playerid) == listitem + 1 )
{
SendClientMessage(playerid, -1, "Вы уже занимаетесь данным видом деятельности.");
Dialog_Show(playerid, #DIALOG_JOB_AIR_CARD);
}
printf("тест 6");
if(GetPlayerJob(playerid) > 5 || GetPlayerJob(playerid) < 1)
{
SendClientMessage(playerid, -1, "Поздравляем! Вы успешно приняты нашей компанией. Можете приступать к работе.");
}
printf("тест 7");
GetPlayerJob(playerid) = listitem + 1;
MySQL_SaveInt(playerid, "job", GetPlayerJob(playerid));
printf("тест 8");
static job_str[22 +1], string[MAX_CHATBUBBLE_LENGTH +1];
job_str[0] = EOS; string[0] = EOS;
printf("тест 9");
switch(GetPlayerJob(playerid))
{
case 1: job_str = "вариант 1";
case 2: job_str = "вариант 2";
case 3: job_str = "вариант 3";
case 4: job_str = "вариант 4";
case 5: job_str = "вариант 5";
default: job_str = "вариант 1";
}
printf("тест 10");
format(string, sizeof string, "Компания допускает Вас к данному виду деятельности. Можете приступать к работе {FFFF00}%s", job_str);
SendClientMessage(playerid, -1, string);
printf("тест 11");
Dialog_Show(playerid, #DIALOG_JOB_AIR_CARD);
}
DialogCreate:DIALOG_JOB_AIR_CARD(playerid)
{
new job_info[22], string[256 +1];
switch(GetPlayerJob(playerid))
{
case 1: job_info = "вариант 1";
case 2: job_info = "вариант 2";
case 3: job_info = "вариант 3";
case 4: job_info = "вариант 4";
case 5: job_info = "вариант 5";
default: job_info = "вариант 1";
}
format
(
string, sizeof string,
"{FFFFFF}Опыт и стаж работы: {FFFF00}%d EXP\n"\
"Вид деятельности: {FF9900}%s\n"\
"{FFFFFF}- {74C2FF}Взять транспорт\n "\
"{FFFFFF}- {CB2D2D}Изменить вид деятельности\n "\
"{FFFFFF}- {74C2FF}Помощь",
GetPlayerAirEXP(playerid), job_info
);
Dialog_Open(playerid, #DIALOG_JOB_AIR_CARD, DIALOG_STYLE_LIST, "{FF9900}Трудовая карточка", string, "Выбрать", "Закрыть");
}
DialogResponse:DIALOG_JOB_AIR_CARD(playerid, dialogid, response, listitem, inputtext[])
{
if(!response)
return 1;
if( listitem == 0 || listitem == 1 )
return Dialog_Show(playerid, #DIALOG_JOB_AIR_CARD);
switch(listitem)
{
case 2:
{
if(GetPlayerJob(playerid) == 1)
{
if(airport_wash == 20)
{
Dialog_Show(playerid, #DIALOG_JOB_AIR_CARD);
SendClientMessage(playerid, -1, "К сожалению весь служебный транспорт на данный момент занят. Ожидайте, пока освободится.");
}
airport_wash++;
printf("тест 20");
}
if(GetPlayerJob(playerid) == 2)
{
if(airport_baggage == 10)
{
Dialog_Show(playerid, #DIALOG_JOB_AIR_CARD);
SendClientMessage(playerid, -1, "К сожалению весь служебный транспорт на данный момент занят. Ожидайте, пока освободится.");
}
airport_baggage++;
}
if( GetPlayerJob(playerid) == 5 )
{
new
bool:result = false;
for(new i; i != sizeof( airport_plane ); i++)
{
if( airport_plane_s[ i ] == 1 )
{
continue;
}
else
{
SetPVarInt( playerid, "airport_status", 5 );
result = true;
airport_plane_s[ i ] = 1;
SetPVarInt( playerid, "airport_plane", airport_plane[ i ] );
break;
}
}
if( result == false )
{
Dialog_Show(playerid, #DIALOG_JOB_AIR_CARD);
SendClientMessage(playerid, -1, "К сожалению весь служебный транспорт на данный момент занят. Ожидайте, пока освободится.");
}
PutPlayerInVehicle( playerid, GetPVarInt( playerid, "airport_plane" ), 0 );
new
engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx( GetPVarInt( playerid, "airport_plane" ), engine,lights,alarm,doors,bonnet,boot,objective );
SetVehicleParamsEx( GetPVarInt( playerid, "airport_plane" ), VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective ), g_vehicle_params[GetPVarInt( playerid, "airport_plane" )][V_ENGINE] = VEHICLE_PARAMS_ON;
SetPlayerRaceCheckpoint(playerid, 2, AIRPORT_LS_NAVZLET_1, AIRPORT_LS_NAVZLET_2, 25.0 );
SetPVarInt( playerid, "farm_point", 1 );
AirportTextDraw( playerid, true );
}
SetPlayerCheckpoint( playerid, AIRPORT_TRANSPORT_POS, 1.7 );
SetPlayerSkin( playerid, 16 );
printf("тест 21");
SetPVarInt( playerid, "farm_point", 1 );
SetPVarInt( playerid, "airport_status", GetPlayerJob(playerid) );
SendClientMessage(playerid, -1, "Мы приготовили для Вас рабочий транспорт. Можете его использовать." );
}
case 3: Dialog_Show(playerid, #DIALOG_JOB_AIR);
case 4:
{
switch(GetPlayerJob(playerid))
{
case 1: Dialog_Open(playerid, #DIALOG_JOB_AIR_INFO, DIALOG_STYLE_MSGBOX, "{FF9900}Информация", HELP_1, "Назад", "" );
case 2: Dialog_Open(playerid, #DIALOG_JOB_AIR_INFO, DIALOG_STYLE_MSGBOX, "{FF9900}Информация", HELP_2, "Назад", "" );
case 3: Dialog_Open(playerid, #DIALOG_JOB_AIR_INFO, DIALOG_STYLE_MSGBOX, "{FF9900}Информация", HELP_3, "Назад", "" );
case 4: Dialog_Open(playerid, #DIALOG_JOB_AIR_INFO, DIALOG_STYLE_MSGBOX, "{FF9900}Информация", HELP_4, "Назад", "" );
case 5: Dialog_Open(playerid, #DIALOG_JOB_AIR_INFO, DIALOG_STYLE_MSGBOX, "{FF9900}Информация", HELP_5, "Назад", "" );
default: Dialog_Open(playerid, #DIALOG_JOB_AIR_INFO, DIALOG_STYLE_MSGBOX, "{FF9900}Информация", HELP_1, "Назад", "" );
}
}
}
return 1;
}
Kovshevoy
11.11.2019, 19:10
Лол, конструкция DialogResponse неверная :D
Необходимо (playerid, response, listitem, inputtext[])
А я видимо по глупости скопировал с OnDialogResponse аргументы, ибо dialogid не должен там быть. Сейчас протестирую, в очередной раз убеждаюсь, что нужно больше спать и есть чернику, которая нормальному зрению способствует.
Благодарочка f0Re3t за подсказку.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot