[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Enforcer, BFG16k, coolant, nurupo  
pff.clan.su - Форум » Игра NFK » Зона разработок » Трабла в бот длл... (Нужна помощь...)
Трабла в бот длл...
EnforcerДата: Чт, 2010-10-14, 16:56 | Сообщение # 1
Инжинер
Группа: Модераторы
Сообщений: 1161
Награды: 9
Статус: Offline
Возникла проблема с бак командой sp_brick
на некоторых картах при использовании этой комманды появляется жесткий глюк и я не могу понять в чем дело
проблема в Брик-Бак-спрайт , НООО ВРОДЕ всё правильно =(( хз чё такое, мб ктонить знает где тут трабла...

// Замена бриков на фронт-брики...
procedure ChangeFrontImages(oldimage, newimage: int);
var
w, h, x, y: int;
begin
w:=strtoint(GetSystemVariable('bricks_x'))+1;
h:=strtoint(GetSystemVariable('bricks_y'))+1;
for x:=0 to w-1 do
for y:=0 to h-1 do
if GetBrickStruct(x, y).image=oldimage then
begin
setlength(xobject, 2);
XOBJX:=951;
xobject[XOBJX] := frontSprites.AddSprite;
xobject[XOBJX]^.ImageNumber := 48;
xobject[XOBJX]^.X := x*32+16;
xobject[XOBJX]^.Y := y*16+8;
xobject[XOBJX]^.SpriteType := 1;
xobject[XOBJX]^.frame := newimage-54;
ChangeBrickImage(x, y, 0, 2);
end;
end;

// Брик-Бак-спрайт (хитрый костыль)...
procedure addbricksprite(idd,bimage,xa,ya: int);
var
w, h, x, y: int;
begin
w:=strtoint(GetSystemVariable('bricks_x'))+1;
h:=strtoint(GetSystemVariable('bricks_y'))+1;
for x:=0 to w-1 do
for y:=0 to h-1 do
if (GetBrickStruct(x, y).image=bimage) and (idd > 499) and (idd < 950) then
begin
setlength(xobject, 2);
XOBJX:=idd;
xobject[XOBJX] := backSprites.AddSprite;
xobject[XOBJX]^.ImageNumber := idd;
xobject[XOBJX]^.X := (x*32-128)+(32*xa);
xobject[XOBJX]^.Y := (y*16-128)+(16*ya);
xobject[XOBJX]^.SpriteType := 1;
xobject[XOBJX]^.frame := 0;
end;
end;


 
coolantДата: Чт, 2010-10-14, 17:30 | Сообщение # 2
Админ
Группа: Администраторы
Сообщений: 1109
Награды: 11
Статус: Offline
Хм, надо видеть полную картину, по куску кода сложно что-то сказать...
 
EnforcerДата: Сб, 2010-10-16, 23:02 | Сообщение # 3
Инжинер
Группа: Модераторы
Сообщений: 1161
Награды: 9
Статус: Offline
всё норм уже всё пофиксил трабла была в setlength(xobject, 2); иной раз приходится разширять до setlength(xobject, 3);
воть...

Тема закрыта...

Добавлено (2010-10-16, 23:02)
---------------------------------------------
СТАЛО ВОТ ТАК - ОШИБКА ВРОДЕ ИСЧЕЗЛА но я ТАК И НЕ ПОНЯЛ ПОЧЕМУ....

// Брик-Бак-спрайт (хитрый костыль)...
procedure addbricksprite(idd,bimage,xa,ya: int);
var
w, h, x, y: int;
begin
w:=strtoint(GetSystemVariable('bricks_x'))+1;
h:=strtoint(GetSystemVariable('bricks_y'))+1;
for x:=0 to w-1 do
for y:=0 to h-1 do
if GetBrickStruct(x, y).image=bimage then
begin
if (idd>99) then setlength(xobject, 3) else setlength(xobject, 2);
//setlength(xobject, 2);
XOBJX:=idd;
xobject[XOBJX] := backSprites.AddSprite;
xobject[XOBJX]^.ImageNumber := idd;
xobject[XOBJX]^.X := (x*32-128)+(32*xa);
xobject[XOBJX]^.Y := (y*16-128)+(16*ya);
xobject[XOBJX]^.SpriteType := 1;
xobject[XOBJX]^.frame := 0;
end;
end;


 
pff.clan.su - Форум » Игра NFK » Зона разработок » Трабла в бот длл... (Нужна помощь...)
  • Страница 1 из 1
  • 1
Поиск: