Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
Neaktivní uživatel:28.5.2012 14:06

Mám menší problém s pohybem inventáře za postavou
( inventář se otevře (klávesa b) ale v rohu mísnosti. Místnost je velká zhruba 20000x20000)
Chtěl bych aby se inventář otevřel u postavy.
Prosím o pomoc. Předem děkuji.
o_O

Odpovědět 28.5.2012 14:06
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:28.5.2012 14:27

Vykresluj inventář na souřadnice postavy nebo ho tam přesouvej v údálosti EndStep.

Nahoru Odpovědět 28.5.2012 14:27
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Neaktivní uživatel:29.5.2012 17:23

thx :)

Nahoru Odpovědět 29.5.2012 17:23
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:29.5.2012 17:51

Sakra kde to v tom kódu je?

draw_set_font(in­v_font);
draw_set_color(in­v_c2);
draw_rectangle(in­v_x,inv_y,inv_x+in­v_widthinv_grid,in­v_y+inv_heightin­v_grid,obj_cha­racter);

for (X=obj_charac­ter;X<inv_wid­th;X+=1) {
for (Y=obj_charac­ter;Y<inv_heig­ht;Y+=1) {
draw_set_color(in­v_c1);
draw_rectangle(in­v_x+Xinv_grid,in­v_y+Yinv_grid,in­v_x+inv_grid+in­v_gridX,inv_y+in­v_grid+inv_gri­dY,1);
draw_set_color(in­v_slotc)
if jemys(inv_x+in­v_gridX,inv_y+in­v_gridY,inv_x+in­v_gridX+inv_grid,in­v_y+inv_gridY+in­v_grid) then draw_rectangle(in­v_x+Xinv_grid+1,in­v_y+Yinv_grid+1,in­v_x+inv_grid+in­v_gridX-1,inv_y+inv_grid+in­v_gridY-1,0)
if jemys(inv_x+in­v_gridX,inv_y+in­v_gridY,inv_x+in­v_gridX+inv_grid,in­v_y+inv_gridY+in­v_grid) and mouse_check_but­ton_pressed(mb_lef­t) then {inv_vybranex=X+1;in­v_vybraney=Y+1}
if inv_vybranex=X+1 and inv_vybraney=Y+1 {
draw_set_color(in­v_slotcs);
draw_rectangle(in­v_x+Xinv_grid+1,in­v_y+Yinv_grid+1,in­v_x+inv_grid+in­v_gridX-1,inv_y+inv_grid+in­v_gridY-1,0)
}
draw_set_color(in­v_rcolor);
draw_rectangle(in­v_x,inv_y+20+in­v_gridinv_heig­ht,inv_x+inv_rwid­th,inv_y+inv_rhe­ight+inv_gridin­v_height,0);
draw_sprite_ex­t(object_get_spri­te(inv_item[X+1,Y+1]­),0,inv_x+Xin­v_grid,inv_y+Y­inv_grid,inv_grid/spri­te_get_width(ob­ject_get_spri­te(inv_item[X+1,Y+1]­)),inv_grid/spri­te_get_height(ob­ject_get_spri­te(inv_item[X+1,Y+1]­)),0,c_white,1);
if inv_itemcount[X+1,Y+1]!­=0 then draw_text(inv_x+in­v_gridX,inv_y+in­v_gridY,strin­g(inv_itemcou­nt[X+1,Y+1]));
if jemys(inv_x,in­v_y,inv_x+inv_wid­thinv_grid,in­v_y+inv_heightin­v_grid) then {
inv_obj=inv_get_i­tem_xy(mouse_x,mou­se_y);
draw_set_color(in­v_rfcolor);
if inv_obj!=inv_fre­eslot then inv_text=o_in­ventar.inv_po­pis[inv_obj] else inv_text=o_in­ventar.inv_po­pis[inv_frees­lot];
draw_text(inv_x+3,in­v_y+20+inv_grid*in­v_height+5,in­v_text);
}
}
}

if inv_vybranex!=0 and inv_vybraney!=0 {
if keyboard_chec­k_pressed(vk_de­lete) then inv_delete_item(in­v_vybranex,in­v_vybraney);
if keyboard_chec­k_pressed(vk_en­ter) then execute_strin­g(o_inventar.in­v_kod[inv_get_i­tem(inv_vybra­nex,inv_vybra­ney)]);
}

Nahoru Odpovědět 29.5.2012 17:51
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:29.5.2012 19:35

Pokud jsi to psal, tak bys to skoro měl vědět. Jinak na vložení kódu se používá "Vložení zdrojového kódu".

Nahoru Odpovědět 29.5.2012 19:35
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Neaktivní uživatel:29.5.2012 20:13

Ne vážně, kde to v tom je?

Nahoru Odpovědět 29.5.2012 20:13
Neaktivní uživatelský účet
Avatar
David Jančík
Tým ITnetwork
Avatar
Nahoru Odpovědět 29.5.2012 20:16
Čím více času dostaneš, tím méně ho máš.
Avatar
Neaktivní uživatel:29.5.2012 20:40

A pak že se tady člověk dozví co potřebuje

Nahoru Odpovědět 29.5.2012 20:40
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:29.5.2012 21:18

Ve svém kódu jsi použil proměnné inv_x a inv_y, jistě k tomu, abys jejich nastavením poté mohl inventář posouvat :`

Nahoru Odpovědět 29.5.2012 21:18
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
David Jančík
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Jančík:29.5.2012 21:28

Je to hrozně nepřehledný.

for (X=obj_character;X<inv_width;X+=1) {

V tomhle cyklu se vykresluje inventář? Pokud ano tak tam by mělo být obj_character.x a měl bys k tomu přičíst nějakou hodnotu aby ti to vykreslovalo hezky vedle postavičky.

A tady u toho to asi bude to samý.

draw_rectangle(inv_x,inv_y,inv_x+inv_widthinv_grid,inv_y+inv_heightinv_grid,obj_character);

Z toho kódu se toho nedá moc vyčíst. Příště prosím použij tag

(vložení zdrojového kódu) a podej nám informace v čitelné podobě a tak abychom z nich mohli něco vyčíst poradit ti s problémem.
Nahoru Odpovědět 29.5.2012 21:28
Čím více času dostaneš, tím méně ho máš.
Avatar
Neaktivní uživatel:30.5.2012 14:21

Díky. To si ve svém kódu opravím.

Nahoru Odpovědět 30.5.2012 14:21
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.