|
Error E1513
#162603
10/21/07 15:12
10/21/07 15:12
|
Joined: Apr 2006
Posts: 273 Germany, NRW
Meerkat
OP
Member
|
OP
Member
Joined: Apr 2006
Posts: 273
Germany, NRW
|
Nabend zusammen, ich habe folgendes vor und auch folgendes Problem. Ich möchte einen FPS Shooter bauen und arbeite zur Zeit sehr gut mit dem FPS-Tutorial von Grimber (http://au.conitec.net) zusammen. Leider bin ich aber an einem Punkt gekommen wo entweder ich die ganze Zeit nen Fehler im Script mache oder aber der Tutorialschreiber was verschrieben hat. Ich musste leider feststellen das das Tutorial sehr veraltet ist, und somit auch einige Syntaxe. :-/ Die hab ich glücklicherweise aber selbst alle beheben kommen. Nur komme ich jetzt halt nicht mehr weiter wo ich ein Projektil verschiesse, an der Wand ein Sprite generiert und ausgerichtet wird und dann das Projektil wieder gelöscht wird. Das löschen des Projektils ist mein momentaniges Problem! Hier ist der Code, vielleicht findet ihr ja den Fehler. Code:
function Bulletholeausrichtung { my.push = 1; my.scale_x = 0.2; my.scale_y = 0.2; vec_add(my.x, normal); vec_to_angle(my.pan, normal); my.transparent = on; my.alpha = 60; while(my.alpha > 1) { wait(-60); my.invisible = on; my.alpha = 0; wait(1); } }
/*var temp2[3];
function spawn_sprite() { temp.x = 635; temp.y = 478; temp.z = 0; vec_for_screen(temp, camera); temp2.x = 635; temp2.y = 478; temp2.z = 20000; vec_for_screen(temp2, camera); c_trace(temp, temp2, ignore_me | ignore_passable | use_box); ent_create("bullethole.png", target, Bulletholeausrichtung); }*/
function bullet_event { if(event_type == event_block) { ent_create("bullethole.png", my.x, Bulletholeausrichtung); ent_remove(me); } /*if(event_type == event_entity) { }*/ }
action Bullet { my.enable_block = on; //my.enable_entity = on; my.event = bullet_event; my.scale_x = 0.1; my.scale_y = 0.1; my.scale_z = 0.1; my.pan = camera.pan; my.tilt = camera.tilt; while(1) { c_move(my, vector(30*time_step, 0, 0), nullvector, ignore_you | glide); my.roll += 60*time_step; wait(1); } }
var bullettemp[3]; function spawn_bullet() { vec_set(bullettemp.x, player.x); ent_create("bullet.mdl", bullettemp, bullet); }
Um Hilfe bin ich wie immer sehr dankbar! MfG: Meerkat
http://www.gpi-studios.comOS: Windows 7 Home Premium (64 Bit Version) AMD Athlon 64 X2 Dual Core Processor 5200+ 6gb DDR 2 - RAM NVIDIA GeForce GTX 460 GameStudio Version A8 Commercial
|
|
|
Re: Error E1513
[Re: jermy]
#162605
10/21/07 16:02
10/21/07 16:02
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile
3D Artist
|
3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
Mach einfachm maln Wait(2): rein: Code:
function bullet_event { if(event_type == event_block) { ent_create("bullethole.png", my.x, Bulletholeausrichtung); wait(2); ent_remove(me); } /*if(event_type == event_entity) { }*/ }
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: Error E1513
[Re: jermy]
#162606
10/21/07 16:08
10/21/07 16:08
|
Joined: Aug 2007
Posts: 165 Germany
jermy
Member
|
Member
Joined: Aug 2007
Posts: 165
Germany
|
also: Du hast irgendwo die function run_weapons? hier sollte unter anderem if(mouse_left) stehen, dann wird bei mir der Schuss ausgelöst und unter anderem auch meine eigens geschriebene function sprite_machen. Du kannst ja einfach die funktion so übernehmen und deinen schuss so lassen wie er ist, denn der funktioniert doch? Code:
function run_weapons() {[...] if (mouse_left && (my.ammo > 0)) { snd_play(pistol_s, 50,100); sprite_machen(); my.ammo -=1; [...animation] }
function sprite_machen() { vec_set(temp.x,camera.x); vec_set(temp2,vector(20000,0,0)); vec_rotate(temp2,camera.pan); vec_add(temp2,camera.x); Trace_mode = ignore_me + ignore_passable+ignore_passents; trace(temp,temp2); ent_create("bulhole.tga",target,bullet_hole); }
action bullet_hole { vec_to_angle(my.pan, NORMAL); my.scale_x = .3; //grösse my.scale_y = .3; my.scale_z = .3; my.passable = on; my.oriented = on; my.flare = on; my.overlay = on; my.alpha = 80; my.transparent = on; sleep(10); // nach 10 sekunden löschen while (my.alpha > 0) { my.alpha -= 1*TIME; wait(1); } ent_remove(me); } ich habe nicht sonderlich viel kommentiert aber wenn du willst kann ich dir erklären wie er funktioniert
|
|
|
Re: Error E1513
[Re: rvL_eXile]
#162607
10/21/07 16:29
10/21/07 16:29
|
Joined: Apr 2006
Posts: 273 Germany, NRW
Meerkat
OP
Member
|
OP
Member
Joined: Apr 2006
Posts: 273
Germany, NRW
|
Hey cool, vielen lieben Dank rvL_eXile. Das war die Lösung. Und auch danke für die anderen Lösungsvorschläge. ^^
http://www.gpi-studios.comOS: Windows 7 Home Premium (64 Bit Version) AMD Athlon 64 X2 Dual Core Processor 5200+ 6gb DDR 2 - RAM NVIDIA GeForce GTX 460 GameStudio Version A8 Commercial
|
|
|
Re: Error E1513
[Re: Meerkat]
#162608
10/21/07 17:18
10/21/07 17:18
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
Auch wenn das problem gelöst ist, es is schlechter stil aus einer event function heraus etwas zu entferne, da es, wie beobachtet, zu problem führen kann. Daher empfehle ich folgende lösung: Code:
function bullet_event { if(event_type == event_block) { my.event = null; ent_create("bullethole.png", my.x, Bulletholeausrichtung); my.skill1 = 0; } /*if(event_type == event_entity) { }*/ }
action Bullet { my.enable_block = on; //my.enable_entity = on; my.event = bullet_event; my.scale_x = 0.1; my.scale_y = 0.1; my.scale_z = 0.1; my.pan = camera.pan; my.tilt = camera.tilt; my.skill1 = 1; while(my.skill1) { c_move(my, vector(30*time_step, 0, 0), nullvector, ignore_you | glide); my.roll += 60*time_step; wait(1); } wait(1); ent_remove(me); }
|
|
|
Re: Error E1513
[Re: Xarthor]
#162609
10/21/07 18:14
10/21/07 18:14
|
Joined: Apr 2006
Posts: 273 Germany, NRW
Meerkat
OP
Member
|
OP
Member
Joined: Apr 2006
Posts: 273
Germany, NRW
|
Hey danke, ich werde das morgen mal ausprobieren.
http://www.gpi-studios.comOS: Windows 7 Home Premium (64 Bit Version) AMD Athlon 64 X2 Dual Core Processor 5200+ 6gb DDR 2 - RAM NVIDIA GeForce GTX 460 GameStudio Version A8 Commercial
|
|
|
|