Доброго времени суток ;)
Странно, но нигде я не увидел мануалов по смене стилей боя с сохранением, ну в общем, я решил написать собственный мануальчик)
Ко всем new/#define:
PHP код:
#define DLG_FIGHT_STYLE 10101 // если этот ID диалога уже используется, поставьте свой
В enum pInfo:
PHP код:
pStyle, // Стиль боя
В public OnPlayerConnect:
PHP код:
PlayerInfo[playerid][pStyle] = FIGHT_STYLE_NORMAL; // При коннекте игроку выдаётся обычный стиль боя
В OnPlayerSave:
PHP код:
ini_setInteger(iniFile,"Style",PlayerInfo[playerid][pStyle]);
В OnPlayerLogin:
PHP код:
ini_getInteger(iniFile,"Style",PlayerInfo[playerid][pStyle]);
Команда:
ZCMD
PHP код:
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Снять стиль боя [Бесплатно]",
"Купить", "Закрыть");
OnPlayerCommandText ( not zcmd )
PHP код:
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:
PHP код:
SetPlayerFightingStyle(playerid, PlayerInfo[playerid][pStyle]);
В public OnDialogResponse:
PHP код:
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}Вы удалили стиль боя");
}
}
Автор: Лев