Question

У меня свой сервер, и один из админов нечайно создал на спавне метку дома. Чтоб убрать есть команда /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
}

 

Share this post


Link to post

2 answers to this question

  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • MetaLife Online
      By MetaLife Online
      Привествую! писал код. проверил работу, в БД отправилось информация криво 
      потом добавил к P_NICK[MAX_PLAYER_NAME] для того чтобы все было окей. Но после этого данные вообще не отпровляються и не показываеться %s. пару раз удалял и не помогло не чего 
      enum PLAYER_INFO {     P_ID,     P_NICK[MAX_PLAYER_NAME],     P_PASS,     P_GENDER,     P_SKIN,     P_LVL, };