Slawon
Компетентный
Ларьки [GM:GF]
Урок по созданию мини-бизнесов, теперь каждый игрок не сервере, с разрешения мэрии сможет создать 1 из 4 видов ларьков.
1.Ко всем new
Ко всем enum в начало мода
В конец мода
В public OnGameModeInit()
туда же
Вот и все Ларьки мы сделали
Автор урока Tobias
Выложил я всем спасибо за внимание
Урок по созданию мини-бизнесов, теперь каждый игрок не сервере, с разрешения мэрии сможет создать 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;
}
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
Выложил я всем спасибо за внимание
Последнее редактирование:
