Адрес дома ( Город, Район, номер дома)

Перейти вниз

Адрес дома ( Город, Район, номер дома)

Сообщение  Rush в Пн Дек 14, 2015 7:23 pm

Доброго времени суток господа!
Сейчас будем делать систему, которая показывает в паспорте прописку человека (можете подогнать под себя, например в статистику и т.д.).
В начало мода добавляем:
Код:
forward GetZonaName ( Float: x,  Float: y );
forward GetCityName ( Float: x,  Float: y );
enum SAZONE_MAIN
{
    SAZONE_NAME[128],
        Float:SAZONE_AREA[6]
};
new gSAZonesCity[][SAZONE_MAIN] = {
        {"Los Santos",                  {44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00}},
        {"Whetstone",                    {-2997.40, -2892.90, -242.90, -1213.90, -1115.50, 900.00}}
};
new gSAZones[][SAZONE_MAIN] = {
        //      название                ( Xmin, Ymin, Zmin, Xmax, Ymax, Zmax)
        {"The Big Ear",                  {-410.00, 1403.30, -3.00, -137.90, 1681.20, 200.00}},
        {"Yellow Bell Station",          {1377.40, 2600.40, -21.90, 1492.40, 2687.30, 78.00}}
}; 
Далее добавим паблики:
Код:
// районы
public GetZonaName  ( Float: x,  Float: y )
{
    for ( new i = 0; i != sizeof ( gSAZones ); i++ )
    {
        if ( x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4])
        {
            return i;
        }
    }
    return 1;
}
// города
public GetCityName ( Float: x,  Float: y)
{
    for ( new i = 0; i != sizeof ( gSAZonesCity ); i++ )
    {
        if ( x >= gSAZonesCity[i][SAZONE_AREA][0] && x <= gSAZonesCity[i][SAZONE_AREA][3] && y >= gSAZonesCity[i][SAZONE_AREA][1] && y <= gSAZonesCity[i][SAZONE_AREA][4] )
        {
            return i;
        }
    }
    return 1;
Теперь добавляем в /showpass:
Код:
if ( PlayerInfo[playerid][pPhousekey] != 999)
{
    new Float: x,  Float: y;
    new h = PlayerInfo[playerid][pPhousekey]; // Заменяем на свой HouseInfo при необходимости ( есть ли дом у игрока )
    x = HouseInfo[h][hEntrancex]; // Заменяем на свой HouseInfo при необходимости ( координаты входа в дом по оси X )
    y = HouseInfo[h][hEntrancey]; // Заменяем на свой HouseInfo при необходимости ( координаты входа в дом по оси Y )
    new ids = GetCityName ( x, y );
    new id = GetZonaName ( x, y );
    format ( string,  sizeof ( string),  "Место прописки: г. %s,  р-он %s,  д. %d",  gSAZonesCity[ids][SAZONE_NAME],  gSAZones[id][SAZONE_NAME],  PlayerInfo[playerid][pPhousekey] ); // Добавляем свое вместо PlayerInfo[playerid][pPhousekey]
    SendClientMessage ( giveplayerid,  COLOR_YELLOW2,  string );
}

Автор: lonin

P.S: координаты менять на свои!!!
avatar
Rush

Сообщения : 201
Репутация : 46
Дата регистрации : 2012-12-10
Возраст : 20
Откуда : Россия

http://gs-games.gta-ru.com

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения