Вопросы

У меня свой сервер, и один из админов нечайно создал на спавне метку дома. Чтоб убрать есть команда /dellmap [название объекта] но я не могу узнать название объекта.

вот код команды /addhouse, т.е. добавления дома

CMD:addhouse(playerid, params[])
{
    if(PI[playerid][pFullDostup] < 2) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);
    if(PI[playerid][pAdmin] < 9) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);
    if(PI[playerid][pAccessCMD][cmd_addhouse] == 0) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);
    if(sscanf(params, "ii", params[0], params[1])) return SCM(playerid, -1, !"Используйте: /addhouse [цена] [класс]");
    if(!(1 <= params[1] <= 6)) return SCM(playerid, -1, !"ID класса от 1 до 6");
    if(TotalHouses >= MAX_HOUSES) return SCM(playerid, -1, !"Превышен лимит домов");
    GetPlayerPos(playerid, HouseInfo[TotalHouses][hEnter_X], HouseInfo[TotalHouses][hEnter_Y], HouseInfo[TotalHouses][hEnter_Z]);
    HouseInfo[TotalHouses][hID] = TotalHouses;
    HouseInfo[TotalHouses][hKlass] = params[1];
    HouseInfo[TotalHouses][hCost] = params[0];
    SetString(HouseInfo[TotalHouses][hOwner], "The State");
    HouseInfo[TotalHouses][hExit_X] = 267.1;
    HouseInfo[TotalHouses][hExit_Y] = 305;
    HouseInfo[TotalHouses][hExit_Z] = 999.148;
    HouseInfo[TotalHouses][hInt] = 2;
    HouseInfo[TotalHouses][hLevel] = 1;
    str_2[0] = EOS, f(str_2, 400, "INSERT INTO `Houses`(`Enter_X`, `Enter_Y`, `Enter_Z`, `Exit_X`, `Exit_Y`, `Exit_Z`, `Owner`, `Cost` , `Klass`, `Interior`, `Level`) VALUES ('%.2f', '%.2f', '%.2f', '%.2f', '%.2f', '%.2f', 'The State', '%i', '%i', '%i', '%i')", HouseInfo[TotalHouses][hEnter_X], HouseInfo[TotalHouses][hEnter_Y], HouseInfo[TotalHouses][hEnter_Z], HouseInfo[TotalHouses][hExit_X], HouseInfo[TotalHouses][hExit_Y], HouseInfo[TotalHouses][hExit_Z], HouseInfo[TotalHouses][hCost], HouseInfo[TotalHouses][hKlass], HouseInfo[TotalHouses][hInt], HouseInfo[TotalHouses][hLevel]);
    mysql_query(mysql, str_2);
    HouseIcon[TotalHouses] = CreateDynamicMapIcon(HouseInfo[TotalHouses][hEnter_X], HouseInfo[TotalHouses][hEnter_Y], HouseInfo[TotalHouses][hEnter_Z], 31, 0,500);
    HouseCP[TotalHouses] = CreateDynamicCP(HouseInfo[TotalHouses][hEnter_X], HouseInfo[TotalHouses][hEnter_Y], HouseInfo[TotalHouses][hEnter_Z], 2.5, -1, -1, -1, 25.0);
    House3DText[TotalHouses] = CreateDynamic3DTextLabel(!" Дом ",0xE1AE3CFF,HouseInfo[TotalHouses][hEnter_X], HouseInfo[TotalHouses][hEnter_Y],HouseInfo[TotalHouses][hEnter_Z],25.0);
    UpdateHouseGarage(TotalHouses);
    UpdateHouse(TotalHouses, 0);
    SCM(playerid, -1, !"Дом успешно создан");
    return TotalHouses ++;
}

Вот код команды /dellmap

CMD:dellmap(playerid, params[])
{
    if(PI[playerid][pFullDostup] < 2) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);
    if(PI[playerid][pAdmin] < 9) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);
    if(!ADuty{playerid}) return SCM(playerid, COLOR_GREY, NO_DUTY_TEXT);
    new name[30];
    if(sscanf(params, "s[30]", name)) return SCM(playerid, COLOR_RED, !"Èñïîëüçóéòå: /dellmap [íàçâàíèå îáúåêòà]");
    if(strlen(name) < 1 || strlen(name) > 30) return SCM(playerid, COLOR_RED, !"Èñïîëüçóéòå: /dellmap [íàçâàíèå îáúåêòà] (1 - 30)");
    if(GetString(name, "None"))
        return 0;
    new
        obj_id = -1;
    for(new i; i < TOTALOBJECTS; i++)
    {
        if(GetString(ObjInfo[i][objName], name))
        {
            obj_id = i;
            break;
        }
    }
    if(obj_id == -1) return SCM(playerid, COLOR_RED, !"[Îøèáêà] {FFFFFF}Îáúåêò ïîä äàííûì èìåíåì íå íàéäåí!");
    SCMf(playerid, COLOR_LIGHTRED, "[Èíôîðìàöèÿ] {FFFFFF}Âû óñïåøíî óäàëèëè îáúåêò ïîä èìåíåì %s", name);
    f(str_1, 100, "DELETE FROM `create_objects` WHERE `Name` = '%s'", name);
    mysql_query(mysql, str_1, false);
    DestroyDynamicObject(ObjInfo[obj_id][objID]);
    SetString(ObjInfo[obj_id][objName], "None");
    return 1;
}

И вот код obj_info

enum obj_INFO
{
    objID,
    objName[30],
    objModel,
    Float:objPosX,
    Float:objPosY,
    Float:objPosZ,
    Float:objRotX,
    Float:objRotY,
    Float:objRotZ
}

 

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


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

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

  • 0

@UltraGTA6228, в базе данных для начала найдите записи, похожие на созданную этим человеком (например, по стоимости жилья или по интерьеру), а потом из всех выбранных по координатам вручную ищите конкретно эту метку... 

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


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

@Cawfee Спасибо, помогло. Как я не додумался)

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


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

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

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

    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }