1 registered members (TipmyPip),
18,618
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Empty Pointer????
#91346
09/24/06 09:17
09/24/06 09:17
|
Joined: Jul 2006
Posts: 111 Germany near Wuerzburg
Disaster
OP
Member
|
OP
Member
Joined: Jul 2006
Posts: 111
Germany near Wuerzburg
|
Hi Ich hab da ein kleines Problem... Ich möchte in meinem Level Models aufsammeln, und habe in das skript des Models geschrieben, my.z = player.z. Ich habe also den Player und die Objekte auf die gleiche z-höhe gesetzt. Beim Levelstart kommt allerdings immer die nachricht das diese my.z Zeile ein empty Pointer ist und die Objekte verschwinden halb im Boden -> ich kann sie auch nicht einsammeln... Komischerweiße funktioniert das Skript in einem anderen Level problemlos... Kann mir bitte jemand helfen? mfg Disaster
mfg
Disaster
|
|
|
Re: Empty Pointer????
[Re: TWO]
#91348
09/24/06 18:24
09/24/06 18:24
|
Joined: Jul 2006
Posts: 111 Germany near Wuerzburg
Disaster
OP
Member
|
OP
Member
Joined: Jul 2006
Posts: 111
Germany near Wuerzburg
|
Ich habe jetzt ein while eingefügt, es kommt auch kein Error mehr, aber die Models verschwinden nicht wenn der player dagegenläuft. Merkwürdig finde ich allerdings das der Code schon problemlos funktioniert hat... Dann habe ich auf die Commercial geupdated und jetzt geht er nicht mehr... mfg Disaster
mfg
Disaster
|
|
|
Re: Empty Pointer????
[Re: Slin]
#91352
09/25/06 19:38
09/25/06 19:38
|
Joined: Jul 2006
Posts: 111 Germany near Wuerzburg
Disaster
OP
Member
|
OP
Member
Joined: Jul 2006
Posts: 111
Germany near Wuerzburg
|
Der Code vom Model das entfernt werden soll:
var score = 0; var anz = 0; action punkt { while(player == 0) { wait(1); } my.push = -1; my.z = player.z; my.passable = on; my.skill1 = 1; while(my.skill1) { if (vec_dist (my.x, player.x) < 75) { my.skill1 = 0; } wait (1); } score += 5; anz += 1; ent_remove(me); }
Code vom Player:
var move_vec[3] = 0,0,0; var snap_forward_percent = 0; var snap_backward_percent = 0; var snap_up_percent = 0; var snap_down_percent = 0;
action pacmac_move { player=me; my.enable_entity = on; my.enable_push = on; my.enable_impact = on; wait(1); while (player != Null) { move_vec[0] = (key_cur - key_cul)*35 *time; move_vec[1] = (key_cuu - key_cud)*35 *time; ent_move(move_vec,NULLVECTOR); if (key_cul == 1) { snap_forward_percent = (snap_forward_percent + 90 * time)%125; ent_animate (me,"Snap_forwards",snap_forward_percent,ANM_CYCLE); wait(1); } if (key_cur == 1) { snap_backward_percent = (snap_backward_percent + 90 * time)%125; ent_animate (me,"Snap_backwards",snap_backward_percent,ANM_CYCLE); wait(1); } if (key_cuu == 1) { snap_up_percent = (snap_up_percent + 90 * time)%125; ent_animate (me,"Snap_up",snap_up_percent,ANM_CYCLE); wait(1); } if (key_cud == 1) { snap_down_percent = (snap_down_percent + 90 * time)%125; ent_animate (me,"Snap_down",snap_down_percent,ANM_CYCLE); wait(1); } wait(1); } }
PS: Soll ein Pacman-Spiel werden
mfg Disaster
mfg
Disaster
|
|
|
Re: Empty Pointer????
[Re: Disaster]
#91353
09/25/06 20:21
09/25/06 20:21
|
Joined: May 2005
Posts: 2,713 Lübeck
Slin
Expert
|
Expert
Joined: May 2005
Posts: 2,713
Lübeck
|
Das hier kannst du dir sparen wenn du kein Event definiert hast: my.enable_entity = on; my.enable_push = on; my.enable_impact = on; Stattdessen solltest du aber den move_mode setzen, also: move_mode = ignore_passable; Außerdem kannst du bei den while schleifen noch etwas abkürzen: while(!player) ist das selbe wie while(player == 0) genauso kannst du für while(player != NULL) auch while(player) schreiben. Bei den ifs kannst du das == 1 weglassen. Warum hast du da "my.push = -1;" wenn du das gleichzeitig auf passable hast?
Was dein Problem angeht das hatte ich falsch verstanden. Bzw. hab ich unaufmerksam gelesen. Erhöhe einfach mal die 75 auf einen höheren Wert. In verbindung mit dem move_mode sollte es dann gehen.
Slin
Last edited by Slin; 09/25/06 20:21.
|
|
|
Re: Empty Pointer????
[Re: Disaster]
#91355
09/26/06 20:13
09/26/06 20:13
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile

3D Artist
|

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
So hier damit mal deine Münzen was höher stehen gib das in dein Script ein:
my.z = player+400;
und das über die Action:
Entity* Player;
cYa Angel
Münzen: var score = 0; var anz = 0; entity* Player;
action punkt19 { my.push = -1; my.z = player+400; my.passable = on; my.skill1 = 1;
while(player == 0) { wait(1); } while(my.skill1) { if (vec_dist (my.x, player.x) < 100) { my.skill1 = 0; } wait (1); } score += 5; anz += 1; ent_remove(me); }
Player:
var move_vec[3] = 0,0,0; var snap_forward_percent = 0; var snap_backward_percent = 0; var snap_up_percent = 0; var snap_down_percent = 0;
action pacmac_move { player=my; /*my.enable_entity = on; my.enable_push = on; my.enable_impact = on; */ move_mode = ignore_passable; wait(1); while (player) { move_vec[0] = (key_cur - key_cul)*35 *time; move_vec[1] = (key_cuu - key_cud)*35 *time; ent_move(move_vec,NULLVECTOR); if (key_cul == 1) { snap_forward_percent = (snap_forward_percent + 90 * time)%125; ent_animate (me,"Snap_forwards",snap_forward_percent,ANM_CYCLE); wait(1); } if (key_cur == 1) { snap_backward_percent = (snap_backward_percent + 90 * time)%125; ent_animate (me,"Snap_backwards",snap_backward_percent,ANM_CYCLE); wait(1); } if (key_cuu == 1) { snap_up_percent = (snap_up_percent + 90 * time)%125; ent_animate (me,"Snap_up",snap_up_percent,ANM_CYCLE); wait(1); } if (key_cud == 1) { snap_down_percent = (snap_down_percent + 90 * time)%125; ent_animate (me,"Snap_down",snap_down_percent,ANM_CYCLE); wait(1); } wait(1); } }
Last edited by Angel; 09/26/06 20:17.
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|