Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, ozgur), 1,415 guests, and 7 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19055 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 3 of 3 1 2 3
Re: Neues Level laden [Re: benija] #313750
03/03/10 12:14
03/03/10 12:14
Joined: Nov 2006
Posts: 116
benija Offline OP
Member
benija  Offline OP
Member

Joined: Nov 2006
Posts: 116
Nun habe ich anstatt des hässlichen weißen blocks, welches eine kiste symbolisieren sollte, eine Model Entity von der 3dGS CD genommen. Die kiste.mdl. Das Problem ist, dass wenn ich dieser Entity die Action zuweise, mit der vorhin alles geklappt hat, kann ich jetzt nur noch durch die Kiste durchlaufen.

Re: Neues Level laden [Re: benija] #313756
03/03/10 12:59
03/03/10 12:59
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Pappenheimer Offline
Senior Expert
Pappenheimer  Offline
Senior Expert

Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Was passiert, wenn Du ihr keine Aktion zuweist, kannst Du dann auch durch sie hindurchlaufen?

Re: Neues Level laden [Re: Pappenheimer] #313757
03/03/10 13:08
03/03/10 13:08
Joined: Nov 2006
Posts: 116
benija Offline OP
Member
benija  Offline OP
Member

Joined: Nov 2006
Posts: 116
ja dann kann ich durch sie hindurch laufen!

Re: Neues Level laden [Re: benija] #313758
03/03/10 13:21
03/03/10 13:21
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Pappenheimer Offline
Senior Expert
Pappenheimer  Offline
Senior Expert

Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Wenn Du 2mal F11 drückst, zeigt er dann die Kollisionsbox der Kiste an?

Was passiert, wenn Du die Aktion "aim" der Kiste zuweist und dort an den Anfang "reset(me, PASSABLE);" setzt? (vielleicht geht auch set(me, SOLID); - keine Ahnung.)

Re: Neues Level laden [Re: Pappenheimer] #313761
03/03/10 13:25
03/03/10 13:25
Joined: Nov 2006
Posts: 116
benija Offline OP
Member
benija  Offline OP
Member

Joined: Nov 2006
Posts: 116
wenn ich 2mal F11 drücke, wird die kollisionsbox angezeigt, kann jedoch hindurchlaufen.

auch wenn ich reset(me, PASSABLE); oder das andere verwende, passiert nichts anderes!

hab die box mal auf polygon gesetzt, jetzt lässt sie sich schieben. Wenn ich sie jedoch ins Ziel schiebe, kommt n Error!

Crash in Aim_Event Error E1513

Last edited by benija; 03/03/10 13:34.
Re: Neues Level laden [Re: benija] #313762
03/03/10 13:36
03/03/10 13:36
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Pappenheimer Offline
Senior Expert
Pappenheimer  Offline
Senior Expert

Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Das geht ja gar nicht. HM, da ist irgendwie anders der Wurm drin.

Ich habe es grad mal bei mir mit einem x-beliebigen kleinen Model probiert, dass ich am Anfang der Funktion über ent_morph für die (alte) Kiste eingesetzt habe.
Funktioniert! Alles bestens!


Das ist der Code von Dir, wie ich ihn modifiziert hatte und womit es einwandfrei läuft:
Code:
///////////////////////////////
#include <acknex.h>
#include <default.c>

///////////////////////////////

ENTITY* eBox;
ENTITY* ePlayer;
ENTITY* eAim;

var l_level = 1;
STRING* str1 = "Level";
STRING* str2 = ".WMB";
STRING* str3 = "";
STRING* str4 = "";






PANEL* panLevComp =
{
	pos_x = 10;
	pos_y = 10;
	bmap = "level_comp.bmp";
	flags = overlay;
}

function main()
{
	level_load("Level1.WMB");
	wait(2);

}

action player_walk()
{
	ePlayer = me;
	var anim_percW = 0;
	var anim_percD = 0;
	var anim_percS = 0;
	var anim_perc = 0;
	while(1)
	{
		ent_animate(my,"stand", anim_perc, ANM_CYCLE);
		anim_perc+=0.5;
		
		if(key_w)
		{
			my.pan =0;
			c_move(my,nullvector, vector(5,0,0),GLIDE);
			ent_animate(my,"run", anim_percW, ANM_CYCLE);
			anim_percW+=0.5;		
		}
		if(key_a)
		{
			my.pan = 90;
			c_move(my,nullvector, vector(0,5,0),GLIDE);
			ent_animate(my,"run", anim_percW, ANM_CYCLE);
			anim_percW+=0.5;		
		}
		if(key_d)
		{
			my.pan = -90;
			c_move(my,nullvector, vector(0,-5,0),GLIDE);
			ent_animate(my,"run", anim_percD, ANM_CYCLE);
			anim_percD+=0.5;		
		}
		if(key_s)
		{
			my.pan = 180;
			c_move(my,nullvector, vector(-5,0,0),GLIDE);
			ent_animate(my,"run", anim_percS, ANM_CYCLE);
			anim_percS+=0.5;		
		}
		
		wait(1);
	}
}

function Box_Event()
{
	
	if(event_type == EVENT_IMPACT)
	{
		if(key_w)
		{
			my.skill1 = 1;
			
			//eBox.x+=1;
		}
		if(key_s)
		{
			my.skill2 = 1;
			//eBox.x-=1;
		}
		if(key_a)
		{
			my.skill3 = 1;
			//eBox.y+=1;
		}
		if(key_d)
		{
			my.skill4 = 1;
			//eBox.y-=1;
		}

	}
}

action box_move()
{
	eBox = me;
	my.emask |=(ENABLE_IMPACT);
	my.event = Box_Event;
	
	while(1)
	{
	
		if(my.skill1)
		{
			c_move(me, nullvector, vector(0.5,0,0), GLIDE);
			my.skill1 = 0;
		}
		if(my.skill2)
		{
			c_move(me, nullvector, vector(-0.5,0,0), GLIDE);
			my.skill2 = 0;
		}
		if(my.skill3)
		{
			c_move(me, nullvector, vector(0,0.5,0), GLIDE);
			my.skill3 = 0;
		}
		if(my.skill4)
		{
			c_move(me, nullvector, vector(0,-0.5,0), GLIDE);
			my.skill4 = 0;
		}
		wait(1);
}

		
}

function aim_event()
{
	
	if(event_type == EVENT_IMPACT)
	{
	my.event = 0;
//		if(eBox.x == eAim.x || eBox.y == eAim.y)
//		{
			l_level++;
			str_for_num(str4,l_level);
			str_cat(str1,str4);
			str_cat(str1, str2);
			str_cpy(str3, str1);
		

			ptr_remove(eBox);
			set(panLevComp, SHOW);
		
			wait(-3);
		
			level_load(str3);
			reset(panLevComp, SHOW);

			str_trunc(str1,5);
			str_trunc(str4,1);
//		}
		
	}

}
action aim()
{
//	set(me, POLYGON);
	ent_morph(me, "apple.mdl");
	my.z +=100;
	eAim = me;
	my.emask |= (ENABLE_IMPACT);
	my.event = aim_event;
}



Re: Neues Level laden [Re: Pappenheimer] #313764
03/03/10 13:42
03/03/10 13:42
Joined: Nov 2006
Posts: 116
benija Offline OP
Member
benija  Offline OP
Member

Joined: Nov 2006
Posts: 116
Danke, habe meinen Fehler...

ich hatte ent_remove(eBox); weil ich dachte es handelt sich ja um eine Entity

naja Vielen Dank und wenn du noch lust und zeit hast, kannst du mir ja kurz erklären, wann man ent_remove und wann ptr_remove benutzt.

Re: Neues Level laden [Re: benija] #313765
03/03/10 13:56
03/03/10 13:56
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Pappenheimer Offline
Senior Expert
Pappenheimer  Offline
Senior Expert

Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Ich kannte bis eben ptr_remove() nicht - war mir nicht einmal in Deinem Code aufgefallen! shocked
Wenn du da nur das eine durch das andere ausgetauscht hast, wirst du meiner Meinung nach noch nicht die Ursache gefunden haben.
Letztlich würde ich aber diese Sachen nicht innerhalb einer event-Funktion machen, sondern wie bei der Box-Aktion schon über einen Skill in die Hauptfunktion verlagern.

Page 3 of 3 1 2 3

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1