Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Смена стиля боя с сохранение в диалоге

Статус
В этой теме нельзя размещать новые ответы.

LenD

Специалист
Вот вам хорошая сестема стилев боя и тренажорок

Описание:

В каждой тренажерке (в каждом городе) находится пикап, если на него "наступить" откроется меню с выбором стиля боя!
Купленный стиль боя сохранится и будет с вами до тех пор, пока вы не изучите другой стиль )

в include

PHP:
#include <a_samp>
#include <mxINI>
в define

PHP:
#define Money 5000//стоимость изучения стиля боя
#define FightDialog 163//ID диалога
#define GREEN_COLOR "{00d200}"
#define RED_COLOR "{d20000}"
#define LIGHT_GREY_COLOR "{d2d2d2}"
в forward

PHP:
forward StartFightStyle(playerid);
В new

PHP:
new TrenerMenu[3];
в public OnGameModeInit()

PHP:
TrenerMenu[0] = CreatePickup(1239,2,772.7536,5.4348,1000.7802,-1);
    TrenerMenu[1] = CreatePickup(1239,2,763.1567,-48.2660,1000.5859,-1);
    TrenerMenu[2] = CreatePickup(1239,2,774.8008,-71.0272,1000.6484,-1);

PHP:
public OnPlayerConnect(playerid)
{
    new str[30];
    format(str, 30, "%s.fight", fName(playerid));
    if(fexist(str))
    {
        new styleid, file = ini_openFile(str);
        ini_getInteger(file, "FightStyle", styleid);
        SetPVarInt(playerid, "FightStyle", styleid);
        StartFightStyle(playerid);
    }
    return 1;
}
PHP:
public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == TrenerMenu[0] || pickupid == TrenerMenu[1] || pickupid == TrenerMenu[2])
    {
        TogglePlayerControllable(playerid, 0);//заморозка, можно убрать
        ShowPlayerDialog(playerid,FightDialog,DIALOG_STYLE_LIST, ""GREEN_COLOR"ТреНер", ""RED_COLOR"1. "LIGHT_GREY_COLOR"Normal \n"RED_COLOR"2. "LIGHT_GREY_COLOR"Boxing \n"RED_COLOR"3. "LIGHT_GREY_COLOR"Kungfu \n"RED_COLOR"4. "LIGHT_GREY_COLOR"Knee Head \n"RED_COLOR"5. "LIGHT_GREY_COLOR"Grab Kick \n"RED_COLOR"6. "LIGHT_GREY_COLOR"ELBOW ", "Обучиться", "");
    }
    return 1;
}
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == FightDialog)
    {
        if(response)
        {
            if(GetPlayerMoney(playerid) >= Money)
            {
                switch(listitem)
                {
                    case 0: SendClientMessage(playerid,-1,""RED_COLOR"ТреНер: "LIGHT_GREY_COLOR"Ты обучился нормальному стилю боя");
                    case 1: SendClientMessage(playerid,-1,""RED_COLOR"ТреНер: "LIGHT_GREY_COLOR"Ты обучился стилю боя: Boxing");
                    case 2: SendClientMessage(playerid,-1,""RED_COLOR"ТреНер: "LIGHT_GREY_COLOR"Ты обучился стилю боя: Kungfu");
                    case 3: SendClientMessage(playerid,-1,""RED_COLOR"ТреНер: "LIGHT_GREY_COLOR"Ты обучился стилю боя: Knee Head");
                    case 4: SendClientMessage(playerid,-1,""RED_COLOR"ТреНер: "LIGHT_GREY_COLOR"Ты обучился стилю боя: Grab Kick");
                    case 5: SendClientMessage(playerid,-1,""RED_COLOR"ТреНер: "LIGHT_GREY_COLOR"Ты обучился стилю боя: ELBOW");
                }
                SetPVarInt(playerid, "FightStyle", listitem);
                new str[30], file;
                format(str, 30, "%s.fight", fName(playerid));
                if(fexist(str)) file = ini_openFile(str);
                else file = ini_createFile(str);
                ini_setInteger(file, "FightStyle", listitem);
                StartFightStyle(playerid);
            } else return SendClientMessage(playerid,-1,""RED_COLOR"ТреНер: "LIGHT_GREY_COLOR"Xалявы не будет, плати 5000$ или уберайся от сюда");
        }
        TogglePlayerControllable(playerid, 1);
    }
    return 0;
}
в конец мода

PHP:
public StartFightStyle(playerid)
{
    switch(GetPVarInt(playerid, "FightStyle"))
    {
        case 0: SetPlayerFightingStyle(playerid, FIGHT_STYLE_NORMAL);
        case 1: SetPlayerFightingStyle(playerid, FIGHT_STYLE_BOXING);
        case 2: SetPlayerFightingStyle(playerid, FIGHT_STYLE_KUNGFU);
        case 3: SetPlayerFightingStyle(playerid, FIGHT_STYLE_KNEEHEAD);
        case 4: SetPlayerFightingStyle(playerid, FIGHT_STYLE_GRABKICK);
        case 5: SetPlayerFightingStyle(playerid, FIGHT_STYLE_ELBOW);
    }
    return 1;
}
PHP:
stock fName(playerid)
{
    new frog[MAX_PLAYER_NAME];
    GetPlayerName(playerid, frog, sizeof(frog));
    return frog;
}

ну вот и все от +ка не откажусь
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу