Проблема с загрузкой Билбордов -
Aizov - 13.06.2014
Посмотрите мой код. В чём я допустил ошибку:
PHP код:
forward LoadBillboard();
public LoadBillboard()
{
print("Загружаем");
new f=ini_openFile("Billboard.ini");
if(!fexist("Billboard.ini"))return print("[Ошибка] Файл Billboard.ini не найден");
new str[8];
new String[1024];
for(new b=1;b<=MAX_BILLBORDS;b++)
{
format(str,sizeof(str),"ID %d",b);
ini_getString(f,str,String);
sscanf(String,"p<|>s[256]s[24]",
Billboard[b][Text],
Billboard[b][Owner]
);
if(!strcmp(Billboard[b][Owner],"None",true))
{
format(String,128,"Здесь могла быть ваша реклама");
Billboard[b][bObject] = CreateDynamicObject(4238,BillboardCord[b][bX],BillboardCord[b][bY],BillboardCord[b][bZ],0.0,0.0,BillboardCord[b][bfZ]);
SetObjectMaterialText(Billboard[b][bObject],String,0, 130, "Small Fonts", 30, 0, -16468988, -16777216, 1);
printf("CreateDynamicObject(4238,%f,%f,%f,%f)",BillboardCord[b][bX],BillboardCord[b][bY],BillboardCord[b][bZ],BillboardCord[b][bfZ]);
}
else
{
format(String,128,"%s (%s)",Billboard[b][Text],Billboard[b][Owner]);
Billboard[b][bObject] = CreateDynamicObject(4238,BillboardCord[b][bX],BillboardCord[b][bY],BillboardCord[b][bZ],0.0,0.0,BillboardCord[b][bfZ]);
SetObjectMaterialText(Billboard[b][bObject],String,0, 130, "Small Fonts", 30, 0, -16468988, -16777216, 1);
printf("CreateDynamicObject(4238,%f,%f,%f,%f)",BillboardCord[b][bX],BillboardCord[b][bY],BillboardCord[b][bZ],BillboardCord[b][bfZ]);
}
}
ini_closeFile(f);
return true;
}
Вот если что :
PHP код:
enum BillboardEnum
{
Float:bX,
Float:bY,
Float:bZ,
Float:bfZ,
Text[256],
Owner[24],
bObject[MAX_BILLBORDS]
}
new BillboardCord[][BillboardEnum]={
{1498.4482, -1582.5799, 25.3406, 30.0}
};
PHP код:
new Billboard[MAX_BILLBORDS][BillboardEnum];
#define MAX_BILLBORDS 2
Re: Проблема с загрузкой Билбордов -
Aizov - 13.06.2014
Дело в том что
PHP код:
printf("CreateDynamicObject(4238,%f,%f,%f,%f)",BillboardCord[b][bX],BillboardCord[b][bY],BillboardCord[b][bZ],BillboardCord[b][bfZ]);
Не отображается. Содержимое файла Billboard.ini
PHP код:
ID 1 = Реклама|None
Re: Проблема с загрузкой Билбордов -
Aizov - 13.06.2014
Ну где же эксперты? Или альтернативу предложите
Re: Проблема с загрузкой Билбордов -
Daea - 13.06.2014
Эм, не совсем понял, что ты имел ввиду, НО:
Код:
sscanf(String,"p<|>s[256]s[24]",
Billboard[b][Text],
Billboard[b][Owner]
);
- У тебя нет загрузки координат
Re: Проблема с загрузкой Билбордов -
Aizov - 13.06.2014
Они берутся с
enum BillboardEnum
{
Float:bX,
Float:bY,
Float:bZ,
Float:bfZ,
Text[256],
Owner[24],
bObject[MAX_BILLBORDS]
}
new BillboardCord[][BillboardEnum]={
{1498.4482, -1582.5799, 25.3406, 30.0}
};
Re: Проблема с загрузкой Билбордов -
Daea - 13.06.2014
Хорошо, но вот еще, заметил:
CreateDynamicObject >>> SetObjectMaterialText - нужно перевести на стример.
Если printf не вызывается,следовательно, ошибка точно содержится в
Код:
SetObjectMaterialText(Billboard[b][bObject],String,0, 130, "Small Fonts", 30, 0, -16468988, -16777216, 1);
Но ничего странного в коде нет, поэтому просто попробуйте перевести на стример. И еще попробуй проверить
//////////////////////НАВЕРХУ БРЕД, ВНИЗУ НОРМАЛЬНО
КРЧ, вот, нашел,
Код:
format(String,128,"%s (%s)",Billboard[b][Text],Billboard[b][Owner]);
- форматирует 128 ячеек, однако Billboard[b][Text] занимает 256, просто увеличьте format(String,128, до 320
Re: Проблема с загрузкой Билбордов -
Eims - 13.06.2014
А sizeof для слабаков? Или лучше потом будем заваливать форум вопросами "Пачиму мой сервик падает, кагда я устанавливаю иго на хостинг? На кампьютери всё харашо!". Linux очень прихотлив к памяти
Re: Проблема с загрузкой Билбордов -
Daea - 13.06.2014
Началось..
Re: Проблема с загрузкой Билбордов -
Aizov - 13.06.2014
Загружается но фигово.

Во первых я поменял:
PHP код:
enum BillboardCordEnum
{
Float:bX,
Float:bY,
Float:bZ,
Float:bfZ
}
new BillboardCord[][BillboardCordEnum]={
{1498.4482, -1582.5799, 25.3406, 30.0},
{1498.4482, -1582.5799, 30.3406, 30.0},
{1498.4482, -1582.5799, 35.3406, 30.0}
};
Чтобы отдельно загружалось
PHP код:
public LoadBillboard()
{
print("Загружаем");
new f=ini_openFile("Billboard.ini");
if(!fexist("Billboard.ini"))return print("[Ошибка] Файл Billboard.ini не найден");
new str[3];
new String[256];
for(new b=0;b<MAX_BILLBORDS;b++)
{
format(str,sizeof(str),"ID %d",b);
ini_getString(f,str,String);
sscanf(String,"p<|>s[256]s[24]",
Billboard[b][Text],
Billboard[b][Owner]
);
printf("Владелец:%s",Billboard[b][Owner]);
if(!strcmp(Billboard[b][Owner],"None",true))
{
format(String,sizeof(String),"Здесь могла быть ваша реклама");
Billboard[b][bObject] = CreateDynamicObject(4238,BillboardCord[b][bX],BillboardCord[b][bY],BillboardCord[b][bZ],0.0,0.0,BillboardCord[b][bfZ]);
SetDynamicObjectMaterialText(Billboard[b][bObject], 0,String, OBJECT_MATERIAL_SIZE_256x128,"Arial",24, 1,0xFFFFFFFF,0,1);
printf("CreateDynamicObject(4238,%f,%f,%f,%f)",BillboardCord[b][bX],BillboardCord[b][bY],BillboardCord[b][bZ],BillboardCord[b][bfZ]);
}
else
{
format(String,sizeof(String),"%s (%s)",Billboard[b][Text],Billboard[b][Owner]);
Billboard[b][bObject] = CreateDynamicObject(4238,BillboardCord[b][bX],BillboardCord[b][bY],BillboardCord[b][bZ],0.0,0.0,BillboardCord[b][bfZ]);
SetDynamicObjectMaterialText(Billboard[b][bObject], 0,String, OBJECT_MATERIAL_SIZE_256x128,"Arial",24, 1,0xFFFFFFFF,0,1);
printf("CreateDynamicObject(4238,%f,%f,%f,%f)",BillboardCord[b][bX],BillboardCord[b][bY],BillboardCord[b][bZ],BillboardCord[b][bfZ]);
}
}
ini_closeFile(f);
return true;
}
Содержимое файла
PHP код:
ID 0 = Nigga|John_Aizov
ID 1 = Nigga|John_Aizov
ID 2 = Nigga2|John_Aizov
Re: Проблема с загрузкой Билбордов -
Aizov - 14.06.2014
Мда. Ну что мне делать? Я не пойму из-за чего оно