GMC Bulgaria

Здравейте ( Вход | Регистрация )

Помощ за Room_set_persistent(), Не работи...
psycho666
коментар 23:05:07, 28-January-2012, Saturday
Коментар #1


Новодошъл
*

Група: Потребител
Коментари: 22
Регистриран: 29.12.11
Град: Враца
Потребител № 1702



Привет на всички...
В момента всички стаи в играта ми са persistent. Проблема ми е, че след добавяне на още 5 пъти повече стаи лага ще стане умопомрачителен, за това реших да пооправя малко нещата, като persistent да е само стаята, в която се намира героя... И така.

Ако героя влезе в room1 ползвам кода:
room_set_persistent(room1,1)
instance_create(16,400,obj_hero)
global.location=1

Когато излезе от room1 и влезе в room2 използвам кода:
room1:
if(obj_hero.x<16){
room_set_persistent(room1,0)
//destroy hero
}

room2:
instance_create(784,400,obj_hero)
room_set_persistent(room2,1)
global.location=2

Ползвам location за други цели, които не са важни в момента. Проблема е:
instance_create() се изпълнява. Все пак героя ми е в стаята.
global.location се променя, защото това, за което го ползвам си работи.
room_set_persistent() не се изпълнява... Не знам защо. Ползвам имената на стаите, които копирам от програмата, пробвах с 1/0 и true/false...

Не знам вече какво да правя, но стаите не са persistent.
Къде греша?


--------------------
Monstrocity (beta) Поиграйте, коментирайте, 80% от функционалността е готова. Останалото ще се появи на по-късне етап. Съобщавайте за бъгове за да ги отстранявам. :)
Go to the top of the page
 
+Quote Post
 
Start new topic
Отговори
TALANTO
коментар 23:37:57, 28-January-2012, Saturday
Коментар #2


BEST ENTRY award - зад.1/2008
Икона на група

Група: VIP
Коментари: 597
Регистриран: 19.04.07
Град: Kюстендил
Потребител № 539



Май някои неща не са ти ясно, но не знам до каква степен ще ти ги обясня. Room persistent се изплозва, когато искаш всички променливи по дадена стая да се запазят след НАПУСКАНЕТО й. Демек ако в room0 си сложил обект player с координати 10, 10 и го преместиш на друго място (например 25,30), след това отидеш в room1 и се върнеш обратно в room0, то този обект (и всички други) няма да се е върнал на 10,10, а ще си стои на 25, 30. На кратко както си го оставил си остава така.

Колкото до "лага", за който говориш - според мен няма да го има понеже тук говорим само за заделяне по-голямо количество оперативна памет, а не работа на процесора.

По твоя въпрос много ясно, че room0 няма да ти е pesistent, защото ти сам я правиш да е false при напускане на стаята.
По друг начин казано:
Отиваш в room1 - persistent = true;
При напускане на room1 правиш persistent = false;
Е току що ти сам го направи false. Говоря за този код:
Цитат
Когато излезе от room1 и влезе в room2 използвам кода:
room1:
if(obj_hero.x<16){
room_set_persistent(room1,0)
//destroy hero
}


Обяснението се получи доста велико и разбираемо. Дано си разбрал.


--------------------
"Последно: 18:05:07, 21.09.12" След две години мълчание пак проговори...
ИГРИ И ПРИМЕРИ НА САЙТА МИ!.
Go to the top of the page
 
+Quote Post

Пишете в тази тема


Reply to this topicStart new topic
1 потребител(и) четат тази тема (1 гости и 0 скрити)
0 Потребител(и):

 



Олекотена версия Час: 13:49:23, 03.07.25