ان تقنية Bounding box تقوم بتحديد مواقع الضعف في الجسم كالتالي
وقد قمت بعنل ذلك برمجيا كالتالي
var head_pos;
var body_pos;
var player_death=0;
string head_dummy=<head_dummy.mdl>;
string body_dummy=<body_dummy.mdl>;
define health,skill10;
entity* head_ent;
entity* head_ent;
function kil_player()
{
if (you.skill1==1)///للتاكد بانها رصاصة /skill1=1/في كود الرصاصة ضع القيمة
{
if(me==head_ent)
{
player.health-=50;
if(player.health<=0)
{
player_death=1;
my.passable=on;
body_ent.passable=on;
}
}
if(me==body_ent)
{
player.health-=25;
if(player.health<=0)
{
player_death=2;
my.passable=on;
head_ent.passable=on;
}
}
}
function head_pos()
{
head_ent=me;
my.invisible=on;
my.enable_impact=on;
my.event=kill_player;
while(1)
{
vec_set(my.x,head_pos);
wait(1);
}
}
function body_pos()
{
body_ent=me;
my.invisible=on;
my.enable_impact=on;
my.event=kill_player;
while(1)
{
vec_set(my.x,body_pos);
wait(1);
}
}
action my_player
{
player=me;
my.health=200;
ent_create(head_dummy,my.x,head_action);
ent_create(body_dummy,my.x,body_action);
while(1)
{
vec_for_vertex(head_pos,me,1);///استبدل (1) برقم النقطة التي في منتصف الراس
vec_for_vertex(body_pos,me,2);///استبدل (2) برقم النقطة التي في منتصف الجسم
////////
كود الاعب الخاص بك
////////
if(player_death==1)
{
while(my.skill4<100)
{
ent_cycle("head_death",my.skill4);
my.skill4+=4*time;
}
return;
}
if(player_death==2)
{
while(my.skill5<100)
{
ent_cycle("body_death",my.skill5);
my.skill5+=4*time;
}
return;
}
wait(1);
}
}
طبعا مع مراعاة الحجوم للنموذجين المستخدمين للراس و البطن
والشكر الجزيل للمتابعة ...ولاكن تذكرت ارجوكم ان تعذروني مؤقتا للرد..
والشكر الجزيل للمتابعة ...ولاكن تذكرت ارجوكم ان تعذروني مؤقتا للرد..
تعليق