Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by fairtrader. 12/05/23 14:22
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
3 registered members (fairtrader, AndrewAMD, 3run), 576 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
c_trace question... #165159
11/02/07 13:16
11/02/07 13:16
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
Hallo allezusammen,

ich Programmiere im moment einen KI für mein Spiel. Der Ki sucht nach einem
Geeigneten Versteck, wo er sich gut Verchanzen kann. Jetzt habe ich aber ein kleines Problemm. Wenn ein Versteck näher als ein anderes ist, dieses aber hinter einer Wand ist, der KI also nicht hinkommt, probiert er es trotzdem. Ich möchte aber das er dieses ignoriert.
Dies ist mein Code:
Code:
c_scan(my.x, my.pan, vector(120,0,my.scan_dist), ignore_me + scan_limit);
if(result != 0 && you != null)
{
if(you.hiding == 1 && c_trace(my.x, you.x, ignore_me + ignore_you) == 0)
{
if(result < 75)
{
my.behind_hide = 1;
}
vec_set(temp, target.x);
vec_sub(temp, my.x);
vec_to_angle(my.pan, temp);
my.tilt = 0;
my.roll = 0;

c_move(me, vector(10*time_step,0,0), nullvector, ignore_passable);
ent_animate(me, "walk", my.skill51, anm_cycle);
my.skill51 += 20 * time_step;
my.skill51 %= 100;
}
}



Ich hab alles gecheckt. Es liegt an der c_Trace anweisung. Aber ich weiß nicht wie ich sie modifizieren soll, damit er funktioniert.

Mfg, Pingulord


3D Gamestudio A7 Extra
Re: c_trace question... [Re: Martek] #165160
11/02/07 13:21
11/02/07 13:21

A
Anonymous
Unregistered
Anonymous
Unregistered
A



probier mal statt
if(result < 75)
das
if(result < 0)

Re: c_trace question... [Re: ] #165161
11/02/07 14:50
11/02/07 14:50
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
Nein das Funktioniert. Ich hatte das nur gesetzt. Damit der KI sich vor die Kiste hockt.
Es geht um die c_trace anweisung. Alles andere Funktioniert.


3D Gamestudio A7 Extra
Re: c_trace question... [Re: Martek] #165162
11/02/07 15:43
11/02/07 15:43
Joined: Jul 2007
Posts: 959
nl
F
flits Offline
User
flits  Offline
User
F

Joined: Jul 2007
Posts: 959
nl
maby this works don be sure didnt test it

Code:

c_scan(my.x, my.pan, vector(120,0,my.scan_dist), ignore_me + scan_limit);
temp = you;
if(result != 0 && you != null)
{
if(you.hiding == 1)
{c_trace(my.x, you.x, ignore_me + ignore_you);
if(temp == you)
{
if(result < 75)
{enz.




"empty"
Re: c_trace question... [Re: flits] #165163
11/03/07 10:35
11/03/07 10:35
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
Ne, das klappt nicht...


3D Gamestudio A7 Extra
Re: c_trace question... [Re: Martek] #165164
11/03/07 11:32
11/03/07 11:32
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck

result = c_trace(my.x,you.x,ignore_me|ignore_passable);
if(you.hiding == 1 && result == 0)

Re: c_trace question... [Re: Xarthor] #165165
11/03/07 12:20
11/03/07 12:20
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
Das funktioniert auch nicht...:(


3D Gamestudio A7 Extra
Re: c_trace question... [Re: Martek] #165166
11/04/07 11:21
11/04/07 11:21
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
Könnte man nicht irgendwie ne array erstellen, wo der KI jedes Oject speichert,
was er bei letzen mal net erreicht hat und diese dann bei dem nächsten trace
übergeht???

Aber leide habe ich keine ahnung wie man sowas machen soll...

Mfg, Pingulord


3D Gamestudio A7 Extra
Re: c_trace question... [Re: Martek] #165167
11/04/07 18:40
11/04/07 18:40
Joined: Jul 2007
Posts: 959
nl
F
flits Offline
User
flits  Offline
User
F

Joined: Jul 2007
Posts: 959
nl
i did test your code but the code did work right

some things that may can be the case you.hiding ore my.scan_dist

for saving objects you would need a hole new system

function enemy_func
{
var ent1;
ent1 = my.skill1;
{while(1)
{
you = ent1;
c_trace(my.x, you.x, ignore_me + ignore_you);
if(trace_hit ==0)
{
if(result < 75)
{
my.behind_hide = 1;
}
vec_set(temp, target.x);
vec_sub(temp, my.x);
vec_to_angle(my.pan, temp);
my.tilt = 0;
my.roll = 0;

c_move(me, vector(10*time_step,0,0), nullvector, ignore_passable);
ent_animate(me, "walk", my.skill51, anm_cycle);
my.skill51 += 20 * time_step;
my.skill51 %= 100;
}
wait(1);
}
}

function spawn
{
var ent1;
var ent2;
var ent3;
ent1 = ent_create(player_mdl,nullvector,player_func);
ent2 = ent_create(enemy_mdl,nullvector,enemy_func);
you.skill1 = ent1;
enz.
}

function main
{
//level_load;
spawn();


"empty"
Re: c_trace question... [Re: flits] #165168
11/05/07 12:44
11/05/07 12:44
Joined: Jul 2007
Posts: 288
Germany, NRW
Martek Offline OP
Member
Martek  Offline OP
Member

Joined: Jul 2007
Posts: 288
Germany, NRW
I know my code works. But I've made a testlevel and test some situations.
In my test level I've some problems. So here you have my testlevel and
can test and mabye fix the bug.

http://rapidshare.com/files/67584567/KI_Hide.rar.html

Hope you can help me, Pingulord


3D Gamestudio A7 Extra
Page 1 of 2 1 2

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

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