var int HP; HP=((self.attribute[ATR_HITPOINTS_MAX]*naszeprocenty)/100);
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP);
Chyba jakoś tak. Ale lepiej było by napisać funkcję % lub wziąć ją z BSM
FUnc Void HP_PROC (var int procenty){
if (Npc_IsPlayer(self)){
var int HP_PROC; HP_PROC = ((hero.attribute[ATR_HITPOINTS_MAX]*procenty)/100);
if (HP_PROC > 1){
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_PROC;
}else{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 1;
};
if (hero.attribute[ATR_HITPOINTS] > hero.attribute[ATR_HITPOINTS_MAX]){
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS_MAX];
};
}else{
Npc_ChangeAttribute (self, ATR_HITPOINTS, procenty);
};
};
Func Void MP_PROC (var int procenty){
if (Npc_IsPlayer(self)){
var int MP_PROC; MP_PROC = ((hero.attribute[ATR_MANA_MAX]*procenty)/100);
if (MP_PROC > 1){
hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA] + MP_PROC;
}else{
hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA] + 1;
};
if (hero.attribute[ATR_MANA] > hero.attribute[ATR_MANA_MAX]){
hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA_MAX];
};
}else{
Npc_ChangeAttribute (self, ATR_MANA, procenty);
};
};