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

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

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

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

Ларьки для GF

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

Slawon

Компетентный
Ларьки [GM:GF]

Урок по созданию мини-бизнесов, теперь каждый игрок не сервере, с разрешения мэрии сможет создать 1 из 4 видов ларьков.

1.Ко всем new

PHP:
new tet[MAX_PLAYERS];  
new prod[MAX_PLAYERS];  
new Text3D:idlar[50];  
new idob[50];

Ко всем enum в начало мода

PHP:
enum zaInfo  
{  
    ZakStatus,  
    ZakName[20],  
    ZakProd,  
    ZakMoney,  
    ZakVzlom,  
    ZakId,  
    Float:ZakEntranceX,  
    Float:ZakEntranceY,  
    Float:ZakEntranceZ,  
    Float:ZakExitX,  
    ZakNameBiz[20],  
    ZakR,  
};  
new ZakInfo[50][zaInfo];
В конец мода

PHP:
forward LoadZak();  
public LoadZak()  
{  
    new arrCoords[12][64];  
    new strFromFile2[256];  
    new File: file = fopen("zak.cfg", io_read);  
    if (file)  
    {  
        new idx;  
        while (idx < sizeof(ZakInfo))  
        {  
            fread(file, strFromFile2);  
            split(strFromFile2, arrCoords, '|');  
            ZakInfo[idx][ZakStatus] = strval(arrCoords[0]);  
            strmid(ZakInfo[idx][ZakName], arrCoords[1], 0, strlen(arrCoords[1]), 255);  
            ZakInfo[idx][ZakProd] = strval(arrCoords[2]);  
            ZakInfo[idx][ZakMoney] = strval(arrCoords[3]);  
            ZakInfo[idx][ZakVzlom] = strval(arrCoords[4]);  
            ZakInfo[idx][ZakId] = strval(arrCoords[5]);  
            ZakInfo[idx][ZakEntranceX] = floatstr(arrCoords[6]);  
            ZakInfo[idx][ZakEntranceY] = floatstr(arrCoords[7]);  
            ZakInfo[idx][ZakEntranceZ] = floatstr(arrCoords[8]);  
            ZakInfo[idx][ZakExitX] = floatstr(arrCoords[9]);  
            strmid(ZakInfo[idx][ZakNameBiz], arrCoords[10], 0, strlen(arrCoords[1]), 255);  
            ZakInfo[idx][ZakR] = strval(arrCoords[11]);  
            printf("Status:%d Name:%s Prod:%d Money:%d Vzlom:%d Id:%d ZakEntranceX:%f ZakEntranceY:%f  ZakEntranceZ:%f ZakExitX:%f NameBiz:%s ZakR:%d\n",//SpawnX:%f SpawnY:%f SpawnZ:%f Spawn1X:%f Spawn1Y:%f Spawn1Z:%f  
            idx,  
            ZakInfo[idx][ZakStatus],  
            ZakInfo[idx][ZakName],  
            ZakInfo[idx][ZakProd],  
            ZakInfo[idx][ZakMoney],  
            ZakInfo[idx][ZakVzlom],  
            ZakInfo[idx][ZakId],  
            ZakInfo[idx][ZakEntranceX],  
                    ZakInfo[idx][ZakEntranceY],  
                    ZakInfo[idx][ZakEntranceZ],  
            ZakInfo[idx][ZakExitX],  
            ZakInfo[idx][ZakNameBiz],  
            ZakInfo[idx][ZakR]);  
            idx++;  
        }  
        fclose(file);  
    }  
    return 1;  
}

forward SaveZak();  
public SaveZak()  
{  
    new idx;  
    new File: file2;  
    while (idx < sizeof(ZakInfo))  
    {  
        new coordsstring[256];  
        format(coordsstring, sizeof(coordsstring), "%d|%s|%d|%d|%d|%d|%f|%f|%f|%f|%s|%d\n",//  
        ZakInfo[idx][ZakStatus],  
        ZakInfo[idx][ZakName],  
        ZakInfo[idx][ZakProd],  
        ZakInfo[idx][ZakMoney],  
        ZakInfo[idx][ZakVzlom],  
        ZakInfo[idx][ZakVzlom],  
        ZakInfo[idx][ZakId],  
        ZakInfo[idx][ZakEntranceX],  
        ZakInfo[idx][ZakEntranceY],  
        ZakInfo[idx][ZakEntranceZ],  
                       ZakInfo[idx][ZakExitX],  
                       ZakInfo[idx][ZakNameBiz],  
                       ZakInfo[idx][ZakR]);  
        if(idx == 0)  
        {  
            file2 = fopen("zak.cfg", io_write);  
        }  
        else  
        {  
            file2 = fopen("zak.cfg", io_append);  
        }  
        fwrite(file2, coordsstring);  
        idx++;  
        fclose(file2);  
    }  
    return 1;  
}
В public OnGameModeInit()

PHP:
LoadZak();
туда же
PHP:
Create3DTextLabel("Продукты для ларьков /larekprod",0x33AA33AA,2152.2688,-2270.2268,13.3086,20.0,0,1);//
PHP:
for(new h = 0; h < sizeof(ZakInfo); h++)  
    {  
    new strstr[256];  
    format(strstr, 128, "[%s]\nНомер договора: %d\nХозяин: %s\nПродукты: %d\nТип строения: %d",ZakInfo[h][ZakNameBiz],ZakInfo[h][ZakStatus],ZakInfo[h][ZakName],ZakInfo[h][ZakProd],ZakInfo[h][ZakVzlom]);  
    idlar[h] = Create3DTextLabel(strstr,COLOR_GREEN2,ZakInfo[h][ZakEntranceX],ZakInfo[h][ZakEntranceY],ZakInfo[h][ZakEntranceZ], 10.0, 0);  
    idob[h] = CreateDynamicObject(ZakInfo[h][ZakId],ZakInfo[h][ZakEntranceX],ZakInfo[h][ZakEntranceY],ZakInfo[h][ZakEntranceZ],0.00000000,0.00000000,ZakInfo[h][ZakExitX],-1,-1,-1,200.0); //object(elecfence_bar) (1)  
    }

Вот и все Ларьки мы сделали

Автор урока Tobias

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