الموضوع : كتب بواسطة BaGheEra عضو المنابر .
طيب قمت بعمل سكربت للرصاص واعادة شحن الرصاص وفترة زمنية لأعادة شحن الرصاص وسأشرحه لكم الآن ويمكنك نسخ السكربت من هن :
div class="widget-content" >
from bge import logic as g
طيب قمت بعمل سكربت للرصاص واعادة شحن الرصاص وفترة زمنية لأعادة شحن الرصاص وسأشرحه لكم الآن ويمكنك نسخ السكربت من هن :
div class="widget-content" >
from bge import logic as g
def ammo():
cont = g.getCurrentController()
own = cont.owner
shoot = cont.sensors["shoot"]
reload = cont.sensors["reload"]
Always = cont.sensors["Always"]
reloadtime = cont.actuators["reloadtime"]
addbulltes = cont.actuators["addbulltes"]
reload1212 = cont.actuators['reload1212']
fier1 = cont.actuators["fier1"]
if shoot.positive and own['ammo'] >0 :
own['ammo'] -=1
cont.activate(addbulltes)
cont.activate(fier1)
if Always.positive and own['ammo'] ==0 and own['w']>0:
cont.activate(reload1212)
cont.activate(reloadtime)
if own['w'] == 1 and own['Ammunition'] >0:
own['ammo'] =30
own['Ammunition'] -=1
own['w'] =16
if own['Ammunition'] ==0:
own['w'] =1
else:
cont.deactivate(fier1)
cont.deactivate(addbulltes)
cont.deactivate(reload1212)
ammo()
from bge import logic as g
def ammo():
قمنا بتعريف دالة ammo
cont = g.getCurrentController()
own = cont.owner
shoot = cont.sensors["shoot"]
اطلاق النار
reload = cont.sensors["reload"]
اعادة شحن الرصاص
Always = cont.sensors["Always"]
الفترة الزمنية لاعادة شحن الرصاص
reloadtime = cont.actuators["reloadtime"]
محرك وقت اعادة الشحن
addbulltes = cont.actuators["addbulltes"]
اضافة رصاص
reload1212 = cont.actuators['reload1212']
انميشين اعادة شحن
fier1 = cont.actuators["fier1"]
محرك اطلاق النار
if shoot.positive and own['ammo'] >0 :
اذا كان الشوت شغال والرصاص ما ينزل عن الصفر
own['ammo'] -=1
الرصاص ينقص واحد
cont.activate(addbulltes)
اضافة الرصاص
cont.activate(fier1)
انيمشين اطلاق النار
if Always.positive and own['ammo'] ==0 and own['w']>0:
اذا كان فترة اعادة الرصاص شغالة و اذا كان الرصاص يساوي صفر والدبليو ما ينزل عن الصفر لازم تتحقق كل الشروط عشان يتفعل معنا
طبعا الدبليو متصل مع Always.positive هو الي يخليه ينزل لما يوصل صفر قيمة الدبليو
cont.activate(reload1212)
شغل لي اعادة انميشن اعادة شحن الرصاص
cont.activate(reloadtime)
شغل وقت اعادة الشحن اي متى راح تضاف الذخيرة في السلاح
if own['w'] == 1 and own['Ammunition'] >0:
طلب هنا اذا الدبليو يساوي 1 الذخيرة ما تنزل عن صفر
own['ammo'] =30
الرصاص يصير 30 يعني قام بتعئة الذخيرة
own['Ammunition'] -=1
والخيرة تنقص واحد
own['w'] =16
والدبليو يعيد مركزه الى 16 طبعا هذي الفترة الزمنية يعني من 16 الى صفر
if own['Ammunition'] ==0:
اذا كان الذخيرة تساوي 0
own['w'] =1
الدبليو يساوي 1 يعني مافي اعادة شحن للرصاص الا اذا اخذت ذخيرة ترجع قيمة الدبليو الى 16 والذخيرة ترجع واحد
واذا وصل الدبليو صفر ينقص عندنا الذخيرة 1
else:
cont.deactivate(fier1)
cont.deactivate(addbulltes)
cont.deactivate(reload1212)
ammo()
وبكذا اكون انتهيت من شرح السكربت
Aucun commentaire:
Enregistrer un commentaire