Вопросы

Как убрать обработку уже существующих диалогов? При компиляции, много ошибок. Нужна срочно помощь!

Отредактировано пользователем denis_191105

Заметка от _bogdan_ , создано

прикрепите код, или скриншот ошибки.

Поделиться сообщением


Ссылка на сообщение

1 ответ на этот вопрос

  • 0

@_bogdan_ Строчки,которые я внес в мод: 

Этот код отвечает за дм зоны, тобишь телепорт на определенную дм зону и после смерти игрок снова возрождается в дм зоне, кнопка alt(игровое менюв дм зоне не работает и в чате отображается "введите /exit для выхода с дм зоны"

#if !defined WEAPON_FIST
    #define WEAPON_FIST (0)
#endif

#define MAX_DM_ZONES (5)
#define MAX_DM_ZONE_NAME_LEN (17 + 1)

#define GetDmZoneData(%0,%1) g_dm_zone[%0][%1]
#define GetDmZoneName(%0) GetDmZoneData(%0, DZ_NAME)
#define GetDmZoneGun(%0) GetDmZoneData(%0, DZ_GUN)
#define GetDmZoneGunAmmo(%0) GetDmZoneData(%0, DZ_GUN_AMMO)
#define GetDmZonePosX(%0) GetDmZoneData(%0, DZ_POS_X)
#define GetDmZonePosY(%0) GetDmZoneData(%0, DZ_POS_Y)
#define GetDmZonePosZ(%0) GetDmZoneData(%0, DZ_POS_Z)
#define GetDmZoneAngle(%0) GetDmZoneData(%0, DZ_ANGLE)
#define GetDmZoneEnterMsgColor(%0) GetDmZoneData(%0, DZ_ENTER_MSG_COLOR)

#define GivePlayerDmZoneWeapon(%0,%1) \
    GivePlayerWeapon(%0, GetDmZoneGun(%1), GetDmZoneGunAmmo(%1))
#define SetPlayerDmZonePos(%0,%1) \
    SetPlayerPos(%0, GetDmZonePosX(%1), GetDmZonePosY(%1), GetDmZonePosZ(%1))
#define SetPlayerDmZoneAngle(%0,%1) SetPlayerFacingAngle(%0, GetDmZoneAngle(%1))
#define SendExitDmZoneMessage(%0) SendClientMessage(%0, -1"Bведите /exit, чтобы выйти с дм зоны")

#define GetPlayerDmZone(%0) g_player_dm_zone[%0
#define IsPlayerInDmZone(%0) (GetPlayerDmZone(%0) != DM_ZONE_TYPE_NONE)

enum
{
    DIALOG_ENTERTAINMENT = 6,
    DIALOG_DM_ZONES = 632
}

enum E_DM_ZONE_STRUCT
{
    DZ_NAME[MAX_DM_ZONE_NAME_LEN],
    DZ_GUN,
    DZ_GUN_AMMO,
    Float: DZ_POS_X,
    Float: DZ_POS_Y,
    Float: DZ_POS_Z,
    Float: DZ_ANGLE,
    DZ_ENTER_MSG_COLOR
}

new g_dm_zone[MAX_DM_ZONES][E_DM_ZONE_STRUCT] =
{
    {
        "Город",
        00
        2379.10, -1716.12524.26,
        239.0523,
        0xE2A80EAA
    },
    {
        "Крушение самолёта",
        00,
        -423.89498.1114.48,
        343.1032,
        0x367A94AA
    },
    {
        "Берлин 1945",
        WEAPON_RIFLE, 300,
        1362.361672.414.06,
        343.1032,
        0x367A94AA
    },
    {
        "Ghetto",
        WEAPON_RIFLE, 300,
        340.921892.0413.12,
        343.1032,
        0x9C8DF3AA
    },   
    {
        "Вулкан",
        WEAPON_DEAGLE, 300,
        36.382854.61315.46,
        88.9641,
        0xF60000AA
    }
};
        

enum
{
    DM_ZONE_TYPE_NONE = -1,
    DM_ZONE_TYPE_VOLCANO = 4
}

new g_player_dm_zone[MAX_PLAYERS] = {DM_ZONE_TYPE_NONE, ...};

stock ShowPlayerEntertainmentDialog(playerid)
{
    return ShowPlayerDialog
    (
        playerid, DIALOG_ENTERTAINMENT, DIALOG_STYLE_LIST,
        "{1E90FF}Развлечения"
        "{30d5c8}Паркур зоны\n"\
        "{08e8de}Deathmatch зоны\n"\
        "{00ffff}Мини-игры\n"\
        "{afeeee}Различные места"
        "OK""Назад"
    );
}

stock ShowPlayerDmZonesDialog(playerid)
{
    new colors[5][2][9] = 
    {
        {"{9240FF}""{DCC1FF}"},
        {"{A73DFE}""{E6C6FF}"},
        {"{C134FE}""{EFCAFF}"},
        {"{D222FF}""{F2C1FF}"},
        {"{EA30FE}""{F9BBFF}"}
    },
    fmt_str[] = "%sДМ %d || %s'%s'\n",
    result_str[((sizeof fmt_str) + 
                  ((- 4 + (sizeof colors[][] * 2)) + 
                  (- 2 + 1) +
                  (- 2 + MAX_DM_ZONE_NAME_LEN)))],
    dest[((sizeof result_str) * MAX_DM_ZONES)];

    for(new idx; idx < sizeof g_dm_zone; idx ++)
    {
        format
        (
            result_str, sizeof result_str, 
            fmt_str, 
            colors[idx][0],
            idx + 1,
            colors[idx][1],
            GetDmZoneName(idx)
        );
        strcat(dest, result_str);
    }
    
    return ShowPlayerDialog
    (
        playerid, DIALOG_DM_ZONES, DIALOG_STYLE_LIST,
        "{1E90FF}Deathmatch зоны",
        dest,
        "OK""Назад"
    );
}

stock SendEnterDmZoneMessage(playerid, zone_id)
{
    new fmt_str[] = "{1E90FF}[DM] {ffffff}Игрок {1E90FF}%s {FFFFFF}зашел на дм зону"\
                            "{1E90FF}'%s'! {FFFFFF}[/dm]",
           result_str[((sizeof fmt_str) + 
                         ((- 2 + MAX_PLAYER_NAME) + 
                         (- 2 + MAX_DM_ZONE_NAME_LEN)))];

    format(result_str, sizeof result_str, fmt_str, GetPlayerNameEx(playerid), GetDmZoneName(zone_id));
    return SendClientMessage(playerid, GetDmZoneEnterMsgColor(zone_id), result_str);
}

stock SetPlayerMainDmZoneData(playerid, zone_id)
{
    new result = (zone == DM_ZONE_TYPE_VOLCANO ? 1 : 0);

    if(result)
        ResetPlayerWeapons(playerid);

    SetPlayerArmour(playerid, 100.00);
    SetPlayerHealth(playerid, 100.00);

    SetPlayerInterior(playerid, result);

    result = (!result ? result : result + 1);

    SetPlayerVirtualWorld(playerid, result);

    if(GetDmZoneGun(zone_id) != WEAPON_FIST)
        GivePlayerDmZoneWeapon(playerid, zone_id);

    SetPlayerDmZonePos(playerid, zone_id);
    SetPlayerDmZoneAngle(playerid, zone_id);

    SendEnterDmZoneMessage(playerid, zone_id);

    return PlayerPlaySound(playerid, 10520.00.00.0);
}

@__OnPlayerSelectDmZone(playerid, zone_id);
@__OnPlayerSelectDmZone(playerid, zone_id)
    return SetPlayerMainDmZoneData(playerid, zone_id);

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if((newkeys & KEY_WALK) && (IsPlayerInDmZone(playerid)))
        return SendExitDmZoneMessage(playerid);

    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    if(IsPlayerInDmZone(playerid))
        return SetPlayerMainDmZoneData(playerid, GetPlayerDmZone(playerid));

    return 1;

   
public OnDialogResponse(playerid, dialogid, response, listitem, const inputtext[])
{
    switch(dialogid)
    {
        case DIALOG_ENTERTAINMENT:
        {
            switch(listitem)
            {
                case 1:
                    return ShowPlayerDmZonesDialog(playerid);
            }
        }
        case DIALOG_DM_ZONES: 
        {
            if(response)
                return @__OnPlayerSelectDmZone(playerid, listitem);

            else ShowPlayerEntertainmentDialog(playerid);
        }
    }
    return 1;
}

Ошибки: 

 

 

 

Как я вставил код:

Screenshot_6.png

Screenshot_5.png

Screenshot_1.png

Screenshot_2.png

Screenshot_3.png

Screenshot_4.png

Отредактировано пользователем denis_191105

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };