- Регистрация
- 19 Мар 2013
- Сообщения
- 51
- Лучшие ответы
- 0
- Репутация
- 14
Сегодня сделал такую системку: Прыжки с парашюта!
Начнём:
Ко всем new:
Создаём команду в public OnPlayerCommandText(playerid, cmdtext[]):
Далее создаём функции для диалога в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]):
И в public OnPlayerEnterCheckpoint(playerid):
В принципе всё, опять же: над оптимизацией не работал, главное работает, кому надо тот сделает. Может где-то есть лишняя переменная, но вроде всё на месте
Видео:
Начнём:
Ко всем new:
PHP:
new Text3D:parawut;
new samolet[2];
new parajut;
new Sozdan[MAX_PLAYERS]
new Zapusk[MAX_PLAYERS];
new Delete[MAX_PLAYERS];
PHP:
if(strcmp(cmdtext, "/samolet", true) == 0)
{
new string[256], s[32], z[32], d[32];
if(Sozdan[playerid] == 0) { s = "{FF0000}Не выполнено{ffffff}"; } else { s = "{00CD00}Выполнено{ffffff}"; }
if(Zapusk[playerid] == 0) { z = "{FF0000}Не выполнено{ffffff}"; } else { z = "{00CD00}Выполнено{ffffff}"; }
if(Delete[playerid] == 0) { d = "{FF0000}Не выполнено{ffffff}"; } else { d = "{00CD00}Выполнено{ffffff}"; }
format(string, sizeof(string), "Создать самолёт [%s]\nЗапустить самолёт [%s]\nУдалить самолёт [%s]",s,z,d);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Меню",string,"Выбрать","Отмена");
return 1;
}
PHP:
if(dialogid == 1)
{
if(response)
{
if(listitem == 0)
{
if(Sozdan[playerid] == 0)
{
parawut = Create3DTextLabel( "Парашют! :)", 0x7FFF00FF, 2008.8929,-2532.5046,14.0, 40.0, 0 );
samolet[0] = CreateObject(14553, 1980.20, -2506.91, 25.82, 0.00, 0.00, 220.00);
samolet[1] = CreateObject(14548, 1983.20, -2510.50, 25.50, 0.00, 0.00, 220.00);
for(new i=0;i<MAX_PLAYERS;i++)
{
parajut = 1;
SetPlayerCheckpoint(i, 2008.8929,-2532.5046,13.5469, 1.0);
SendClientMessage(i, 0xff0000ff,"{ff0000}Внимание: {ffffff}Всех желающих попрыгать с парашюта ждём в {ADD8E6}Аэропорту Los Santos");
Sozdan[playerid] = 1;
Delete[playerid] = 0;
}
}
else
{
SendClientMessage(playerid, 0xff0000ff, "Ошибка: {ffffff}Самолёт уже создан!");
}
}
if(listitem == 1)
{
if(Sozdan[playerid] == 0) return SendClientMessage(playerid, 0xff0000ff, "Ошибка: {ffffff}Самолёт не создан!");
if(Zapusk[playerid] == 0)
{
MoveObject(samolet[0], -10.251000404358, -264.27801147461, 2000.32, 40);
MoveObject(samolet[1], -7.251000404358, -267.86801147461, 2000.0, 40);
Zapusk[playerid] = 1;
Delete3DTextLabel(Text3D:parawut);
for(new i=0;i<MAX_PLAYERS;i++)
{
DisablePlayerCheckpoint(i);
}
return 1;
}
else
{
SendClientMessage(playerid, 0xff0000ff, "Ошибка: {ffffff}Самолёт уже в полёте!");
}
}
if(listitem == 2)
{
if(Sozdan[playerid] == 0) return SendClientMessage(playerid, 0xff0000ff, "Ошибка: {ffffff}Самолёт не создан!");
if(Delete[playerid] == 0)
{
Delete3DTextLabel(Text3D:id);
DestroyObject(samolet[0]);
DestroyObject(samolet[1]);
for(new i=0;i<MAX_PLAYERS;i++)
{
DisablePlayerCheckpoint(i);
}
Delete[playerid] = 1;
Zapusk[playerid] = 0;
Sozdan[playerid] = 0;
}
else
{
SendClientMessage(playerid, 0xff0000ff, "Ошибка: {ffffff}Самолёт уже удалён!");
}
}
else
{
}
}
}
PHP:
if(parajut == 1)
{
GivePlayerWeapon(playerid,46,1);
return 1;
}
Видео:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!