PDA

Просмотр полной версии : [Мануал] Делаем стили боя [+ сохранение]



Kalashnikov822
06.04.2013, 17:48
Доброго времени суток ;)
Странно, но нигде я не увидел мануалов по смене стилей боя с сохранением, ну в общем, я решил написать собственный мануальчик)

Ко всем new/#define:

#define DLG_FIGHT_STYLE 10101 // если этот ID диалога уже используется, поставьте свой
В enum pInfo:

pStyle, // Стиль боя
В public OnPlayerConnect:

PlayerInfo[playerid][pStyle] = FIGHT_STYLE_NORMAL; // При коннекте игроку выдаётся обычный стиль боя
В OnPlayerSave:

ini_setInteger(iniFile,"Style",PlayerInfo[playerid][pStyle]);
В OnPlayerLogin:

ini_getInteger(iniFile,"Style",PlayerInfo[playerid][pStyle]);
Команда:

CMD:style(playerid, params[])
return ShowPlayerDialog(playerid, DLG_FIGHT_STYLE, DIALOG_STYLE_LIST,
"Купить стиль боя",
"ELBOW [500$]\n"\
"GRABKICK [1000$]\n"\
"KNEEHEAD [1500$]\n"\
"KUNGFU [5000$]\n"\
"BOXING [1000$] \nСнять стиль боя [Бесплатно]",
"Купить", "Закрыть");

if(strcmp(cmd, "/style", true) == 0)
{
return ShowPlayerDialog(playerid, DLG_FIGHT_STYLE, DIALOG_STYLE_LIST,
"Купить стиль боя",
"ELBOW [500$]\n"\
"GRABKICK [1000$]\n"\
"KNEEHEAD [1500$]\n"\
"KUNGFU [5000$]\n"\
"BOXING [1000$] \nСнять стиль боя [Бесплатно]",
"Купить", "Закрыть");
}
В public OnPlayerSpawn:

SetPlayerFightingStyle(playerid, PlayerInfo[playerid][pStyle]);
В public OnDialogResponse:

if(dialogid == DLG_FIGHTING_STYLE)
{
switch(listitem)
{
case 0:
PlayerInfo[playerid][pStyle] = FIGHT_STYLE_ELBOW,
GivePlayerMoney(playerid,-500),
SendClientMessage(playerid,-1,"{FFFFFF}Вы сменили стиль боя на 'ELBOW'");
case 1:
PlayerInfo[playerid][pStyle] = FIGHT_STYLE_GRABKICK,
GivePlayerMoney(playerid,-1000),
SendClientMessage(playerid,-1,"{FFFFFF}Вы сменили стиль боя на 'GRABKICK'");
case 2:
PlayerInfo[playerid][pStyle] = FIGHT_STYLE_KNEEHEAD,
GivePlayerMoney(playerid,-1500),
SendClientMessage(playerid,-1,"{FFFFFF}Вы сменили стиль боя на 'KNEEHEAD'");
case 3:
PlayerInfo[playerid][pStyle] = FIGHT_STYLE_KUNGFU,
GivePlayerMoney(playerid,-5000),
SendClientMessage(playerid,-1,"{FFFFFF}Вы сменили стиль боя на 'KUNGFU'");
case 4:
PlayerInfo[playerid][pStyle] = FIGHT_STYLE_BOXING,
GivePlayerMoney(playerid,-100),
SendClientMessage(playerid,-1,"{FFFFFF}Вы сменили стиль боя на 'BOXING'");
default:
PlayerInfo[playerid][pStyle] = FIGHT_STYLE_NORMAL,
SendClientMessage(playerid, -1, "{FFFFFF}Вы удалили стиль боя");
}
}

Автор: Лев

Nike54
06.04.2013, 20:34
Отлично, молодец +:)

Kalashnikov822
07.04.2013, 05:57
Отлично, молодец +:)
Спасибо)

Danil
07.04.2013, 13:48
Все ясно,понятно! Молодец!+

Nice
07.04.2013, 15:45
Не плохо дал +