Всем привет, решил чисто для себя делать сборочку сервера, вдруг что-то годное выйдет, но не суть... Так вот, хотел я сделать себе такую вещь как сдача с повинной, расскажу суть:
1) Игрок с розыском приходит в отделение полиции
2) Встает на пикап
3) Ему показывается диалог с подтверждением
4) Он автоматически попадает в тюрьму
Эта моя первая работа которую я прям сам сделал, то есть по форумам никаким не лазил, а все делал сам. Прошу судить не строго, так как в этой теме недавно.
Не откажусь на указания ошибок и недочетов.
Сразу скажу, что возможно эта система подойдет не всем, но на сборку Grand Fiero RP точно пойдет.
[data_WANTED] , [data_NAME], [data_JAIL], [data_JAILTIME],PLAYER_DATA Меняете на свое!
Может пригодится кому...
И так приступим к созданию:
Ко всем define:
Kо всем new:
Ко всем названиям диалогов:
В public ongamemodeinit:
В public OnPlayerPickUpDynamicPickup:
В public OnDialogResponse:
Автор: 1iJack (Я)
1) Игрок с розыском приходит в отделение полиции
2) Встает на пикап
3) Ему показывается диалог с подтверждением
4) Он автоматически попадает в тюрьму
Эта моя первая работа которую я прям сам сделал, то есть по форумам никаким не лазил, а все делал сам. Прошу судить не строго, так как в этой теме недавно.
Не откажусь на указания ошибок и недочетов.
Сразу скажу, что возможно эта система подойдет не всем, но на сборку Grand Fiero RP точно пойдет.
[data_WANTED] , [data_NAME], [data_JAIL], [data_JAILTIME],PLAYER_DATA Меняете на свое!
Может пригодится кому...
И так приступим к созданию:
Ко всем define:
Код:
#define COLOR_WARNING 0xFF6600FF
#define COLOR_BLUE 0x33AAFFFF
Код:
new pickup_sdacha;
Код:
dialog_sdacha
Код:
pickup_sdacha = CreateDynamicPickup(1247, 23, 641.2232,1787.0801,-8.9141, 1); //координаты и виртуальный мир меняете на свой
Create3DTextLabel("{FF6633}Сдача с повинной", -1, 641.2232,1787.0801,-8.9141, 10.0, 1); //координаты и виртуальный мир меняете на свой
Код:
if(pickupid == pickup_sdacha)
{
if(PLAYER_DATA[playerid][data_WANTED] == 0) return SendClientMessage(playerid,COLOR_WARNING,"Вы не в розыске!");
ShowPlayerDialogFix(playerid, dialog_sdacha, DIALOG_STYLE_MSGBOX, "{FFCC00}Сдача с повинной", "{FFFFFF}Вы действительно хотите сдаться полиции?", "Далее", "Отмена");
return true;
}
Код:
case dialog_sdacha:
{
if(!response)
{
SendClientMessage(playerid,COLOR_BLUE,"Вы отказались сдаться!");
return true;
}
if(response)
{
if(PLAYER_DATA[playerid][data_WANTED] >= 1)
{
PLAYER_DATA[playerid][data_JAIL] = 1;
PLAYER_DATA[playerid][data_JAILTIME] = 600*PLAYER_DATA[playerid][data_WANTED];
PLAYER_DATA[playerid][data_WANTED] = 0;
UnfreezePlayer(playerid);
SetPlayerWantedLevel(playerid,PLAYER_DATA[playerid][data_WANTED]);
SetPlayerSpawn(playerid);
SetPlayerSpecialAction(playerid, 0);
new text[145];
format(text,sizeof(text),"%s сдался полиции!",PLAYER_DATA[playerid][data_NAME]);
SendClientMessageToAll(COLOR_AC,text);
}
}
}
Последнее редактирование модератором: