O temacie
Autor Stonnos111
Zaczęty 2.04.2013 roku
Wyświetleń 4524
Odpowiedzi 6
Stonnos111
Splash Moderator
a GMDK chociaz zainstalowales?
Alan
Cytat: Splash#msg w 2013-04-02, 22:03a GMDK chociaz zainstalowales?Tak mam wszystkie programy do modowania i spolszczone skrypty.
Toworish
INSTANCE itmw_Uriziel (C_Item) { name = "Uriziel"; mainflag = ITEM_KAT_NF; flags = ITEM_2HD_SWD; material = MAT_METAL; value = 10000000;// damage [DAM_INDEX_BLUNT] = 0; damage [DAM_INDEX_EDGE] = 50;// damage [DAM_INDEX_POINT] = 0; damage [DAM_INDEX_FIRE] = 75; damage [DAM_INDEX_FLY] = 80; damage [DAM_INDEX_MAGIC] = 45; damagetype = DAM_EDGE|DAM_FLY|DAM_FIRE|DAM_MAGIC; range = Range_Special_2H_4; on_equip = Equip_2H_10; on_unequip = UnEquip_2H_10; cond_atr[2] = ATR_STRENGTH; cond_value[2] = 0; visual = "ITMW_2H_SWORD_SLEEPER_02.3DS"; wear = WEAR_EFFECT; effect = "spellFX_crossbow"; description = name; TEXT[2] = NAME_Damage; COUNT[2] = 250; TEXT[1] = "Es lässt seine Gegner in Flammen aufgehen."; TEXT[4] = NAME_ADDON_BONUS_2H; COUNT[4] = Waffenbonus_10; TEXT[3] = NAME_ADDON_ONEHANDED_BELIAR; COUNT[3] = 80; TEXT[0] = "Mit diesem Schwert habe ich den Schläfer verbannt."; TEXT[5] = NAME_Value; COUNT[5] = value;};
// ****************************************************************// B_AssessDamage// --------------// wird durchWahrnehmung PERC_AssessDamage ÜBERALL her aufgerufen// (also auch aus ZS_Attack, AR kann sich allerdings NICHT ändern!)// ****************************************************************func void B_AssessDamage (){ var C_NPC Quarho; Quarho = Hlp_GetNpc (NONE_ADDON_111_Quarhodron); var C_NPC Rhadem; Rhadem = Hlp_GetNpc (NONE_ADDON_112_Rhademes); if ((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Quarho))) || ((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Rhadem))) { B_GhostSpecialDamage (other, self); return; };//***********************************************// Ragna spezial Waffe B_BeliarsWeaponSpecialDamage (other, self); B_RagnaSpecialDamage (other, self); //*********************************************** if (self.aivar[AIV_ArenaFight] == AF_AFTER) { self.aivar[AIV_ArenaFight] = AF_AFTER_PLUS_DAMAGE; }; if self.aivar [AIV_EnemyOverride] == TRUE { var C_NPC RAV; RAV = Hlp_GetNpc(BDT_1090_Addon_Raven); if (Hlp_GetInstanceID(self) == (Hlp_GetInstanceID(RAV))) { self.aivar [AIV_EnemyOverride] = FALSE; }; }; // ------ Wenn NSC im ZS_Attack ------ if (Npc_IsInState(self,ZS_Attack)) { // EXIT IF... // ------ Freunde ignorieren Treffer vom Spieler im Kampf ------ if (Npc_IsPlayer (other)) && (self.npctype == NPCTYPE_FRIEND) { return; }; // ------ Partymember ignorieren Treffer vom Spieler im Kampf ------ if (Npc_IsPlayer (other)) && (self.aivar[AIV_PARTYMEMBER] == TRUE) { return; }; if (self.aivar[AIV_PARTYMEMBER] == TRUE) && (other.aivar[AIV_PARTYMEMBER] == TRUE) { return; }; // FUNC // ------ Wenn ich von jemand ANDEREM getroffen werde ------ if (Hlp_GetInstanceID (other) != self.aivar[AIV_LASTTARGET]) { // ------ NEUER Angreifer ist NPC ODER zum zweiten MAl (von Hero) getroffen ------ if (self.aivar[AIV_HitByOtherNpc] == Hlp_GetInstanceID (other)) || (Hlp_GetInstanceID(other) != Hlp_GetInstanceID(hero)) { Npc_SetTarget (self, other); //Ziel wechseln } else //NEUER Angreifer ist hero und trifft zum ersten mal { self.aivar[AIV_HitByOtherNpc] = Hlp_GetInstanceID (other); //EIN Freischlag }; }; return; }; // EXIT IF // ------ NSC ist ENEMY ----- if (B_AssessEnemy()) { return; }; // ------ Egill/Enim NSCs (Story-Angreifer) ------ if (!Npc_IsPlayer(other)) && (other.aivar[AIV_ATTACKREASON] == AR_NONE) { B_Attack (self, other, AR_NONE, 0); //angreifen oder fliehen return; }; // ------ Spieler hat mit NK-Waffe angegriffen ------ if (Npc_IsInFightMode (other, FMODE_MELEE)) || (Npc_IsInFightMode (other, FMODE_FIST)) || (Npc_IsInFightMode (other, FMODE_NONE)) //oder Waffe wieder weggesteckt (nicht ermittelbar) { // ------ NSC ist freundlich ODER npctype_friend ------ if (Npc_GetAttitude (self, other) == ATT_FRIENDLY) || ( (self.npctype == NPCTYPE_FRIEND) && Npc_IsPlayer(other) ) { // ------- nur wenn ich zum ERSTEN Mal geschlagen werde ------- if (!Npc_IsInState(self, ZS_ReactToDamage)) { Npc_ClearAIQueue (self); B_ClearPerceptions (self); //schaltet alle Wahrnehmungen ab - so kann keine später priorisierte diesen Stateaufruf verhindern (s. z.B. AssessFightSound + AssessDamage) AI_StartState (self, ZS_ReactToDamage, 0, ""); return; //im unterern B_Attack wird ein ClearQueue aufgerufen, der den AI_StartState direkt wieder aus der queue löscht // - sicherheithalber bei allen AI_StartState-Aufrufen return anfügen }; }; }; // FUNC B_Attack (self, other, AR_ReactToDamage, 0); //angreifen oder fliehen return;};
func void B_BeliarsWeaponSpecialDamage (var C_NPC oth, var C_NPC slf) //other ist angreifer, slf ist victim{ if (Hlp_GetInstanceID(oth) == Hlp_GetInstanceID(hero)) { var int DamageRandy; DamageRandy = Hlp_Random (100); if (C_ScHasReadiedBeliarsWeapon()) && (DamageRandy <= BeliarDamageChance) { if (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_UNDEAD) //beim untoten Drachen nimmt der SC Schaden { Wld_PlayEffect("spellFX_BELIARSRAGE", oth, oth, 0, 0, 0, FALSE ); B_MagicHurtNpc (slf, oth, 100); } else if (slf.flags != NPC_FLAG_IMMORTAL) { Wld_PlayEffect("spellFX_BELIARSRAGE", slf, slf, 0, 0, 0, FALSE ); B_MagicHurtNpc (oth, slf, 100); }; //Ambient Pfx Wld_PlayEffect("spellFX_BELIARSRAGE_COLLIDE", hero, hero, 0, 0, 0, FALSE ); }; if (C_ScHasReadiedBeliarsWeapon()) && (DamageRandy <= 50) // Effekt { //Ambient Pfx Wld_PlayEffect("spellFX_BELIARSRAGE_COLLIDE", hero, hero, 0, 0, 0, FALSE ); }; };};var int RagnaWaffe;func void B_RagnaSpecialDamage (var C_NPC oth, var C_NPC slf) //other ist angreifer, slf ist victim{if (Npc_HasItems (hero, itmw_Uriziel )){RagnaWaffe=TRUE;}; if (Hlp_GetInstanceID(oth) == Hlp_GetInstanceID(hero)) { var int DamageRandyRagna; DamageRandyRagna = Hlp_Random (100); if ((RagnaWaffe==True) && (DamageRandyRagna <= 50)) { if (slf.flags != NPC_FLAG_IMMORTAL) { Wld_PlayEffect("spellFX_BELIARSRAGE", slf, slf, 0, 0, 0, FALSE ); B_MagicHurtNpc (oth, slf, 100); }; //Ambient Pfx Wld_PlayEffect("spellFX_BELIARSRAGE_COLLIDE", hero, hero, 0, 0, 0, FALSE ); }; if ((RagnaWaffe==True) && (DamageRandyRagna <= 50)) // Effekt { //Ambient Pfx Wld_PlayEffect("spellFX_BELIARSRAGE_COLLIDE", hero, hero, 0, 0, 0, FALSE ); }; };};