PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Waffe mit rune mixen



Hilfebrauch
26.03.2009, 22:21
Also ich hab nun eine frage

ist es möglich eine waffe mit einer rune zu vermischen
also ich wollte ein schwert erstellen das gegner zu einer bestimmten prozentzahl einfriert (wie der eisblock) aber nicht bei jedem schlag sondern nur zu einer bestimmten prozentzahl

hat einer ne idee wie des geht?

das kopieren des scripts von der rune eisblock funzt nicht^^

selbst wenn dabei was sehr lustiges rauskommt

und gleich nochne frage

wie muss man anfangen um ein schwert zu erstellen das den gegnern leben absaugt nach jedem schlag und es dir gibt(wie bei der rune leben absaugen)

Teron Gorefiend
26.03.2009, 23:01
http://forum.worldofplayers.de/forum/showthread.php?t=532584

Hilfebrauch
26.03.2009, 23:22
ok das mim ice hab ich jetzt aber wie geht das mit dem leben absaugen?

Teron Gorefiend
27.03.2009, 14:05
if(Hlp_IsItem(waffe,itmw_1h_lebensspender) || Hlp_IsItem(waffe,itmw_2h_lebensspender))
{
if (slf.guild == GIL_DRAGON) //geht nicht auf drachen
{
return;
};
if(slf.attribute[ATR_HITPOINTS] > 50)
{
Npc_ChangeAttribute(slf,ATR_HITPOINTS,-50);
Npc_ChangeAttribute(oth,ATR_HITPOINTS,50);
}
else
{
hp = slf.attribute[ATR_HITPOINTS];
if(hp > 1)
{
Npc_ChangeAttribute(slf,ATR_HITPOINTS,1 - hp);
Npc_ChangeAttribute(oth,ATR_HITPOINTS,hp - 1);
};
};
};


habe das jetzt von dunkler magie

Neconspictor
27.03.2009, 23:19
Also ich hab nun eine frage

ist es möglich eine waffe mit einer rune zu vermischen
also ich wollte ein schwert erstellen das gegner zu einer bestimmten prozentzahl einfriert (wie der eisblock) aber nicht bei jedem schlag sondern nur zu einer bestimmten prozentzahl

hat einer ne idee wie des geht?

das kopieren des scripts von der rune eisblock funzt nicht^^

selbst wenn dabei was sehr lustiges rauskommt

und gleich nochne frage

wie muss man anfangen um ein schwert zu erstellen das den gegnern leben absaugt nach jedem schlag und es dir gibt(wie bei der rune leben absaugen)

Das mit der Prozentzahl wie man das machen soll, würd mich auch interessieren:D

Hilfebrauch
27.03.2009, 23:33
ich hab mir mal die scripts von dem zufalsschaden der klaue beliars angeschaut

aber das problem is das dann nur die waffe zu einer bestimmten prozentzahl schaden macht aber nicht einfriert zu einer bestimmten prozentzahl

Teron Gorefiend
28.03.2009, 09:30
Das mit der Prozentzahl wie man das machen soll, würd mich auch interessieren:D

var int random0001; ///irgendein blöder name der noch nicht vorhanden ist

random0001 = Hlp_Random (100); ///regeniert eine zufallszahl von 0 bis 99

if (random0001 >49) ///wenn der wert 50 oder mehr ist also 50:50 chance
{

};

if (random0001 <11) ///wenn der wert unter 11 liegt, also eine chance von 1:10
{
....
};

if (random0001 >9) ///wenn der wert 10 oder größer ist, also chance von 9:10
{


};



///Edit: ich habe gerade das Problem, dass ich wohl nahkampfmagiewaffen erstellen kann aber keine Fernkampfwaffen mit magieeffekte, wenn jemand weiß was man da machen muss, immer raus damit

Lehona
28.03.2009, 09:36
var int random0001; ///irgendein blöder name der noch nicht vorhanden ist

random0001 = Hlp_Random (100); ///regeniert eine zufallszahl von 0 bis 99

if (random0001 >49) ///wenn der wert 50 oder mehr ist also 50:50 chance
{

};

if (random0001 <11) ///wenn der wert unter 11 liegt, also eine chance von 1:10
{
....
};

if (random0001 >9) ///wenn der wert 10 oder größer ist, also chance von 9:10
{


};

Noe, die Chancen stimmen nicht ganz. Es müssen schon 100 Prozent sein ;)


var int random0001;
random0001 = hlp_random (101);
if random 001 >= 50 //Größer oder gleich 50, also 50% Chance
{
BÄM!;
};
[...]

Übrigens macht es noch nicht soo viel Sinn, was du da geschrieben hast, weil sonst bei der Zahl 57 einmal die letzte Abfrage greift und die erste. Aber du weißt ja auch nicht, was genau bei welcher Chance passieren soll (Und ich auch nicht, deswegen hab ich den Rest rausgelassen).

Edit: Ich weiß wo das Problem liegt, ich muss nur eben den richtigen Befehl raussuchen. Gedulde dich ein wenig^^

Lehona
28.03.2009, 09:42
Ich nehme mal an, du nimmst den von Sumpfi korrigierten Script als Grundlage?
func void b_mymagicdamage(var C_Npc oth,var C_Npc slf)
{

c_item waffe2; //lokale Itemvariable

waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden


if(Hlp_IsItem(waffe2,ItMw_Eisschwert))//ist die gezogene Waffe das Eisschwert?

{

if((slf.guild != GIL_FIREGOLEM)//Außnahmen für das Einfrieren

&& (slf.aivar[AIV_MM_REAL_ID] != ID_FIREWARAN)
&& (slf.guild != GIL_ICEGOLEM)
&& (slf.aivar[AIV_MM_REAL_ID] != ID_Icewolf)
&& (slf.guild != GIL_DRAGON)

{
Npc_ClearAIQueue(slf);//löscht AI-Warteschlange


AI_StartState(slf,ZS_MagicFreeze,0,"");//friert ein

Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION",slf,slf,0,0,0,FALSE);//Einfrierpfx wird aufs opfer gelegt


};
};
};

Wenn ja, dann schreibe anstatt
waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden

dieses hier:
waffe2=Npc_GetEquippedRangedWeapon(hero);//ermittelt die gerade gezogene FernkampfWaffe des Helden

Teron Gorefiend
28.03.2009, 09:53
Noe, die Chancen stimmen nicht ganz. Es müssen schon 100 Prozent sein ;)


var int random0001;
random0001 = hlp_random (101);
if random 001 >= 50 //Größer oder gleich 50, also 50% Chance
{
BÄM!;
};
[...]

Übrigens macht es noch nicht soo viel Sinn, was du da geschrieben hast, weil sonst bei der Zahl 57 einmal die letzte Abfrage greift und die erste. Aber du weißt ja auch nicht, was genau bei welcher Chance passieren soll (Und ich auch nicht, deswegen hab ich den Rest rausgelassen).

Edit: Ich weiß wo das Problem liegt, ich muss nur eben den richtigen Befehl raussuchen. Gedulde dich ein wenig^^

naja ein prozent mehr oder weniger macht den braten auch nicht fett oder? naj aber recht hast du schon,

das waren ja auch nur drei beispiele, einmal chance 50:50, einmal chance 1:10, einmal chance9:10, natürlich sollte man nur eins davon nehmen und nicht alle drei



waffe2=Npc_GetEquippedRangedWeapon(hero);//ermittelt die gerade gezogene FernkampfWaffe des Helden


Super probiere ich nachher mal aus, liege jetzt noch halb im bett und bin noch zu müde zum scripten, vielen dank Lehona hast was gut bei mir :gratz

Lehona
28.03.2009, 10:03
naja ein prozent mehr oder weniger macht den braten auch nicht fett oder? naj aber recht hast du schon,

das waren ja auch nur drei beispiele, einmal chance 50:50, einmal chance 1:10, einmal chance9:10, natürlich sollte man nur eins davon nehmen und nicht alle drei



Super probiere ich nachher mal aus, liege jetzt noch halb im bett und bin noch zu müde zum scripten, vielen dank Lehona hast was gut bei mir :gratz

Kein Problem, ich bin irgendwann mal auf diesen Befehl gestoßen, weil mir langweilig war und ich die AI\Human\B_Human Scripte durchgelesen habe. Aber es liegt natürlich auch nahe, wenn der andere Befehl Npc_GetEquppedMeleeWeapon (var c_npc slf) heißt.

Teron Gorefiend
28.03.2009, 10:10
keine ahnung, bei mir hieß es

waffe = Npc_GetReadiedWeapon(oth);

das klappt bei nahkampfwaffen aber irgendwie nicht bei fernkampfwaffen

ich teste es gleich mal

Neconspictor
28.03.2009, 10:33
keine ahnung, bei mir hieß es

waffe = Npc_GetReadiedWeapon(oth);

das klappt bei nahkampfwaffen aber irgendwie nicht bei fernkampfwaffen

ich teste es gleich mal

Bei fernkampfwaffen hab ich es noch nicht ausprobiert, aber es klappt schon, ich hatte nur nen blöden Tippfehler( deshalb hab ich meinen Beitrag auch gelöscht:D)

Teron Gorefiend
28.03.2009, 10:33
ok klappt irgendwie nicht:



....
waffe3=Npc_GetEquippedRangedWeapon(hero);////ermittelt die gerade gezogene Waffe des Helden



if(Hlp_IsItem(waffe3,ItRw_Addon_Bow_freeze2))//geringer seelenbogen

{

Npc_ChangeAttribute(hero, ATR_HITPOINTS, -6);

};

....

Hilfebrauch
28.03.2009, 11:54
nun also ich will ja eigentlich das die gegner zu einer bestimmten prozentzahl eingefroren werden^^

Teron Gorefiend
28.03.2009, 11:55
nun also ich will ja eigentlich das die gegner zu einer bestimmten prozentzahl eingefroren werden^^

wie meinst du das? also das die waffe eine chance von 50% beim schlag besitzt den gegner festzufrieren oder das der Gegner nur zur hällfte im Eis steckt?

Sumpfkrautjunkie
28.03.2009, 13:00
Füge in B_Assessdamage.d und B_MM_Assessdamage.d direkt zu Beginn, unter

B_BeliarsWeaponSpecialDamage (other, self);
ein:

c_item waffe2; //lokale Itemvariable
waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden

if(Hlp_IsItem(waffe2,ItMw_Eisschwert))//ist die gezogene Waffe das Eisschwert? Für ItMw_Eisschwert selbstverständlich die Instanz deiner Eiswaffe einsetzen
{
if((slf.guild != GIL_FIREGOLEM)//Außnahmen für das Einfrieren
&& (slf.aivar[AIV_MM_REAL_ID] != ID_FIREWARAN)
&& (slf.guild != GIL_ICEGOLEM)
&& (slf.aivar[AIV_MM_REAL_ID] != ID_Icewolf)
&& (slf.guild != GIL_DRAGON)
{
if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
Npc_ClearAIQueue(slf);//löscht AI-Warteschlange
AI_StartState(slf,ZS_MagicFreeze,0,"");//friert ein
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION",slf,slf,0,0,0,FALSE);//Einfrierpfx wird aufs Opfer gelegt
};

};
};

Hilfebrauch
28.03.2009, 13:21
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;
};

B_BeliarsWeaponSpecialDamage (other, self);

c_item waffe2; //lokale Itemvariable
waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden

if(Hlp_IsItem(waffe2,ItMw_Kingofgods))//ist die gezogene Waffe das Eisschwert? Für ItMw_Eisschwert selbstverständlich die Instanz deiner Eiswaffe einsetzen
{
if((slf.guild != GIL_FIREGOLEM)//Außnahmen für das Einfrieren
&& (slf.aivar[AIV_MM_REAL_ID] != ID_FIREWARAN)
&& (slf.guild != GIL_ICEGOLEM)
&& (slf.aivar[AIV_MM_REAL_ID] != ID_Icewolf)
&& (slf.guild != GIL_DRAGON)
{
if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
Npc_ClearAIQueue(slf);//löscht AI-Warteschlange
AI_StartState(slf,ZS_MagicFreeze,0,"");//friert ein
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION",slf,slf,0,0,0,FALSE);//Einfrierpfx wird aufs Opfer gelegt
};
};
};

also er macht etz die ganze zeit syntax error:quarho

Neconspictor
28.03.2009, 13:23
Füge in B_Assessdamage.d und B_MM_Assessdamage.d direkt zu Beginn, unter

B_BeliarsWeaponSpecialDamage (other, self);
ein:

c_item waffe2; //lokale Itemvariable
waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden

if(Hlp_IsItem(waffe2,ItMw_Eisschwert))//ist die gezogene Waffe das Eisschwert? Für ItMw_Eisschwert selbstverständlich die Instanz deiner Eiswaffe einsetzen
{
if((slf.guild != GIL_FIREGOLEM)//Außnahmen für das Einfrieren
&& (slf.aivar[AIV_MM_REAL_ID] != ID_FIREWARAN)
&& (slf.guild != GIL_ICEGOLEM)
&& (slf.aivar[AIV_MM_REAL_ID] != ID_Icewolf)
&& (slf.guild != GIL_DRAGON)
{
if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
Npc_ClearAIQueue(slf);//löscht AI-Warteschlange
AI_StartState(slf,ZS_MagicFreeze,0,"");//friert ein
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION",slf,slf,0,0,0,FALSE);//Einfrierpfx wird aufs Opfer gelegt
};

};
};

Ok, super!
Und bei Fernkampfwaffen muss man dann halt das Melee durch Ranged ersetzen, oder?

Hilfebrauch
28.03.2009, 13:31
also ich hab etz mal bissl was verändert etz kommt: upar:expected';' line 25

und da bfindet sich das

c_item waffe2;

ich hab den script bissl verändert das isser

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;
};

B_BeliarsWeaponSpecialDamage (other, self);
c_item waffe2; //lokale Itemvariable
waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden

if(Hlp_IsItem(waffe2,ItMw_Kingofgods))//ist die gezogene Waffe das Eisschwert? Für ItMw_Eisschwert selbstverständlich die Instanz deiner Eiswaffe einsetzen
{
if((slf.guild != GIL_FIREGOLEM)//Außnahmen für das Einfrieren
&& (slf.aivar[AIV_MM_REAL_ID] != ID_FIREWARAN)
&& (slf.guild != GIL_ICEGOLEM)
&& (slf.aivar[AIV_MM_REAL_ID] != ID_Icewolf)
&& (slf.guild != GIL_DRAGON)
{
if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
Npc_ClearAIQueue(slf);//löscht AI-Warteschlange
AI_StartState(slf,ZS_MagicFreeze,0,"");//friert ein
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION",slf,slf,0,0,0,FALSE);//Einfrierpfx wird aufs Opfer gelegt
};
};
};

aber wo liegt der fehler?

Teron Gorefiend
28.03.2009, 13:40
hast das var vergessen

var int....
var c_item ...

Neconspictor
28.03.2009, 13:46
hast das var vergessen

var int....
var c_item ...

var c_item ist ja klar, aber vor was in dem Script kommt var int?

Teron Gorefiend
28.03.2009, 13:51
keine ahnung warum ich da jetzt var int hingeschrieben habe, oh vergessen

Neconspictor
28.03.2009, 13:59
B_BeliarsWeaponSpecialDamage (other, self);

var c_item waffe2; //lokale Itemvariable
waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden

if(Hlp_IsItem(waffe2,ItMw_Eisschwert))//ist die gezogene Waffe das Eisschwert? Für ItMw_Eisschwert selbstverständlich die Instanz deiner Eiswaffe einsetzen
{
if((slf.guild != GIL_FIREGOLEM)//Außnahmen für das Einfrieren
&& (slf.aivar[AIV_MM_REAL_ID] != ID_FIREWARAN)
&& (slf.guild != GIL_ICEGOLEM)
&& (slf.aivar[AIV_MM_REAL_ID] != ID_Icewolf)
&& (slf.guild != GIL_DRAGON)
{
if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
Npc_ClearAIQueue(slf);//löscht AI-Warteschlange
AI_StartState(slf,ZS_MagicFreeze,0,"");//friert ein
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION",slf,slf,0,0,0,FALSE);//Einfrierpfx wird aufs Opfer gelegt
};

};
};

Ich hab das jetzt so gemacht, aber jetzt kommt die Fehlermeldung, dass eine `)` eine Klammer fehlt( markierte Zeile). Wenn ich dann hinter GIL_DRAGON)
noch eine Klammer setze kommt eine Undefined indefiner- Fehlermeldung, und zwar, dass guild nicht definert wäre.
Was muss man denn da machen?
( Klammer setzen oder nicht?, Und wenn Klammer setzen, wie Fehler beheben?)

Hilfebrauch
28.03.2009, 13:59
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;
};

B_BeliarsWeaponSpecialDamage (other, self);
var c_item waffe2; //lokale Itemvariable
waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden

if(Hlp_IsItem(waffe2,ItMw_Kingofgods))//ist die gezogene Waffe das Eisschwert? Für ItMw_Eisschwert selbstverständlich die Instanz deiner Eiswaffe einsetzen
{
if((slf.guild != GIL_FIREGOLEM)//Außnahmen für das Einfrieren
&& (slf.aivar[AIV_MM_REAL_ID] != ID_FIREWARAN)
&& (slf.guild != GIL_ICEGOLEM)
&& (slf.aivar[AIV_MM_REAL_ID] != ID_Icewolf)
&& (slf.guild != GIL_DRAGON)
)
{
if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
Npc_ClearAIQueue(slf);//löscht AI-Warteschlange
AI_StartState(slf,ZS_MagicFreeze,0,"");//friert ein
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION",slf,slf,0,0,0,FALSE);//Einfrierpfx wird aufs Opfer gelegt
};

};
};

ok nextes problem etz sagt er unknown identifiere:"guild"

Teron Gorefiend
28.03.2009, 14:08
B_BeliarsWeaponSpecialDamage (other, self);

var c_item waffe2; //lokale Itemvariable
waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden

if(Hlp_IsItem(waffe2,ItMw_Eisschwert))//ist die gezogene Waffe das Eisschwert? Für ItMw_Eisschwert selbstverständlich die Instanz deiner Eiswaffe einsetzen
{
if ((slf.guild != GIL_FIREGOLEM)//Außnahmen für das Einfrieren
&& (slf.aivar[AIV_MM_REAL_ID] != ID_FIREWARAN)
&& (slf.guild != GIL_ICEGOLEM)
&& (slf.aivar[AIV_MM_REAL_ID] != ID_Icewolf)
&& (slf.guild != GIL_DRAGON)
{
if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
Npc_ClearAIQueue(slf);//löscht AI-Warteschlange
AI_StartState(slf,ZS_MagicFreeze,0,"");//friert ein
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION",slf,slf,0,0,0,FALSE);//Einfrierpfx wird aufs Opfer gelegt
};

};
};

Ich hab das jetzt so gemacht, aber jetzt kommt die Fehlermeldung, dass eine `)` eine Klammer fehlt( markierte Zeile). Wenn ich dann hinter GIL_DRAGON)
noch eine Klammer setze kommt eine Undefined indefiner- Fehlermeldung, und zwar, dass guild nicht definert wäre.
Was muss man denn da machen?
( Klammer setzen oder nicht?, Und wenn Klammer setzen, wie Fehler beheben?)

hinter dem && (slf.guild != GIL_DRAGON) fehlt noch ein weiteres )

Hilfebrauch
28.03.2009, 14:15
ok hab des etz ausgebessert aber es kommt immernoch die gleiche fehlermeldun(unknown identifiere:guild)

Hilfebrauch
28.03.2009, 14:29
kann mal schnell jemand die scripts von assessdamage und MM_asses damage hochladen ich habe alles verpfuscht

Hilfebrauch
28.03.2009, 14:39
meine scripts hab ich wieder in ordnung aber den zufallswert bring ich einfach nicht aufs schwert drauf

Neconspictor
28.03.2009, 14:40
kann mal schnell jemand die scripts von assessdamage und MM_asses damage hochladen ich habe alles verpfuscht

Hier hast meine:
(den Eintrag hab ich bis jetzt allerdings nur bei der B_AssesDamage
gemacht, musst halt in die B_MM_AssesDamage reinkopieren)

Hilfebrauch
28.03.2009, 14:51
danke

Hilfebrauch
28.03.2009, 15:04
yeah ich hab das etz mit dem zufalls einfrieren geschafft

nun is aber das problem das mich menschen nurnoch angreiffen wenn der zuffalschaden sie einfriert und dann können sie mich nicht mehr angreiffen

wie kann ich einstellen das sie bei jedem schlag angreiffen(also normal wenn man mit einer normalen waffe angreifft)

es leigt nicht irgend wie an der gilde monster greiffen mich nähmlich schon noch an^^

Neconspictor
28.03.2009, 15:14
yeah ich hab das etz mit dem zufalls einfrieren geschafft

nun is aber das problem das mich menschen nurnoch angreiffen wenn der zuffalschaden sie einfriert und dann können sie mich nicht mehr angreiffen

wie kann ich einstellen das sie bei jedem schlag angreiffen(also normal wenn man mit einer normalen waffe angreifft)

es leigt nicht irgend wie an der gilde monster greiffen mich nähmlich schon noch an^^

Was hast du denn verändert, ich hab´s nämlich noch nicht geschafft.

Hilfebrauch
28.03.2009, 15:24
so muss des aussehen aber das mit den ausnahmen fürs gefrieren kp wie des geht

var C_ITEM OthWeap; OthWeap = Npc_GetReadiedWeapon(other);//fragt ab, welche Waffe der Angreifer hat und speichert sie in OthWeap

if (Hlp_GetInstanceID(OthWeap) == Hlp_GetInstanceID(Itmw_Kingofgods)) //Wenn die Waffe des Angreifes das Eisschwert ist
{
if (Hlp_Random(101)>20)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
und das mit dem zufalschaden wenn er auf 20 is macht er irgend wie zu 80% den gefrier schaden ka warum

stell des if (Hlp_Random(101)>20) auf if (Hlp_Random(101)>49)
stell ihn am besten auf 49

Npc_ClearAIQueue (self);//Ai-Befehle stoppen
B_ClearPerceptions (self);//Wahrnehmungen entfernen
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION", self, self, 0, 0, 0, FALSE ); //Eisblockeffekt
AI_StartState (self, ZS_MagicFreeze, 0, ""); //Einfrierverhalten
};
};

return;

des musst in asses damage und mm asses einfügen

Hilfebrauch
28.03.2009, 15:27
stell des if (Hlp_Random(101)>20) auf if (Hlp_Random(101)>49)

Hilfebrauch
28.03.2009, 16:00
weiss jemand wo sich die werte der beliar waffe befinden also wo der zufalschaden sich befindet

da muss auch irgend wie eingestellt sein das die leute normal angreiffen und ncht wenn die beliar waffe ihren spezial angriff macht

Neconspictor
28.03.2009, 16:11
so muss des aussehen aber das mit den ausnahmen fürs gefrieren kp wie des geht

var C_ITEM OthWeap; OthWeap = Npc_GetReadiedWeapon(other);//fragt ab, welche Waffe der Angreifer hat und speichert sie in OthWeap

if (Hlp_GetInstanceID(OthWeap) == Hlp_GetInstanceID(Itmw_Kingofgods)) //Wenn die Waffe des Angreifes das Eisschwert ist
{
if (Hlp_Random(101)>20)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
und das mit dem zufalschaden wenn er auf 20 is macht er irgend wie zu 80% den gefrier schaden ka warum

stell des if (Hlp_Random(101)>20) auf if (Hlp_Random(101)>49)
stell ihn am besten auf 49

Npc_ClearAIQueue (self);//Ai-Befehle stoppen
B_ClearPerceptions (self);//Wahrnehmungen entfernen
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION", self, self, 0, 0, 0, FALSE ); //Eisblockeffekt
AI_StartState (self, ZS_MagicFreeze, 0, ""); //Einfrierverhalten
};
};

return;

des musst in asses damage und mm asses einfügen

Vielleicht hast du das flasche gemeint, ich wollte eigentlich wissen, wie du es geschafft hast die Fehlermeldung unknown identifer guild wegzubringen.

Hilfebrauch
28.03.2009, 16:16
achso ich hab gedacht du willst auch den zufalsschaden haben

naja wenn des so is des mit dem unkwon identifier hab ich so weggebracht in dem ich die ausnahmen fürs gefriren weggelassen hab

Neconspictor
28.03.2009, 16:28
achso ich hab gedacht du willst auch den zufalsschaden haben

naja wenn des so is des mit dem unkwon identifier hab ich so weggebracht in dem ich die ausnahmen fürs gefriren weggelassen hab


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;
};

B_BeliarsWeaponSpecialDamage (other, self);

var c_item waffe2; //lokale Itemvariable
waffe2=Npc_GetEquippedMeleeWeapon(hero);//ermittelt die gerade gezogene Waffe des Helden

if (Hlp_IsItem(waffe2,ice_sword))//ist die gezogene Waffe das Eisschwert? Für ItMw_Eisschwert selbstverständlich die Instanz deiner Eiswaffe einsetzen
{


if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{
Npc_ClearAIQueue(slf);//löscht AI-Warteschlange
AI_StartState(slf,ZS_MagicFreeze,0,"");//friert ein
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION",slf,slf,0,0,0,FALSE);//Einfrierpfx wird aufs Opfer gelegt
};

};




Jetzt hab ich die Ausnahmen rausgelöscht, allerdings kommt jetzt die Fehlermeldung Unknown identifer: SLF

Da kann doch Irgendwas nicht stimmen.

Hilfebrauch
28.03.2009, 16:37
ja ich hab noch bissl mehr verändert

lösch alles raus was mit dem zufalsch einfrieren zu tun hat

und füg das ein


var C_ITEM OthWeap; OthWeap = Npc_GetReadiedWeapon(other);//fragt ab, welche Waffe der Angreifer hat und speichert sie in OthWeap

if (Hlp_GetInstanceID(OthWeap) == Hlp_GetInstanceID(Itmw_Kingofgods)) //Wenn die Waffe des Angreifes das Eisschwert ist
{
if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{



Npc_ClearAIQueue (self);//Ai-Befehle stoppen
B_ClearPerceptions (self);//Wahrnehmungen entfernen
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION", self, self, 0, 0, 0, FALSE ); //Eisblockeffekt
AI_StartState (self, ZS_MagicFreeze, 0, ""); //Einfrierverhalten
};
};

return;

Neconspictor
28.03.2009, 20:42
ja ich hab noch bissl mehr verändert

lösch alles raus was mit dem zufalsch einfrieren zu tun hat

und füg das ein


var C_ITEM OthWeap; OthWeap = Npc_GetReadiedWeapon(other);//fragt ab, welche Waffe der Angreifer hat und speichert sie in OthWeap

if (Hlp_GetInstanceID(OthWeap) == Hlp_GetInstanceID(Itmw_Kingofgods)) //Wenn die Waffe des Angreifes das Eisschwert ist
{
if (Hlp_Random(101)>49)//generiert eine Zufallszahl von 0-100. Ist diese Zahl gößer als 49 wird das einfrieren ausgeführt:
{



Npc_ClearAIQueue (self);//Ai-Befehle stoppen
B_ClearPerceptions (self);//Wahrnehmungen entfernen
Wld_PlayEffect("spellFX_IceSpell_SENDPERCEPTION", self, self, 0, 0, 0, FALSE ); //Eisblockeffekt
AI_StartState (self, ZS_MagicFreeze, 0, ""); //Einfrierverhalten
};
};

return;

Danke!!:)



Eine andere Frage:
Wie kann man den eigentlich einstellen, dass der Effekt 3 Sekunden andauert??

Ich würde nämlich gerne Pyrokenesis mit diesem Effekt ausstatten:

Wld_PlayEffect("spellFX_Pyrokinesis", self, self, 0, 0, 0, FALSE );

Was muss ich da ändern?
Oder geht das gar nicht?

Hilfebrauch
28.03.2009, 20:51
es geht fast alles^^
und das geht auch
nur das problem is das ich keine ahnung hab wie:D

gonzo1247
28.03.2009, 20:55
Aber da du nun die Guild abfrage rausgenommen hast, wird nun jedes Monster, also auch Drachen, Firegolem etc. eingefroren. Und das sieht meines erachtens bisschen blöde aus, wenn aufeinmal ein Monster aus Feuer eingefroren ist.

Aber wenn du es so willst ok.

Ok, ist bisschen off topic, wollts aber nur sagen.

Sevi

Hilfebrauch
28.03.2009, 20:58
nun ja bitte wenn jemand eine idee hat wie man das macht das die leutz einen wieder normal angreiffen bitte sagen^^

ich hab ja nicht gesagt das ich es so will aber es geht im moment net anders

wenn ich die ausnahmen hinzufüg kommen die ganze zeit unerklärliche fehlermeldungen wie z.B unknown identifiere guild und wenn ich eine lösung für das problem gefunden hab füg ich das auch wieder ein^^