Risen Quest schreiben

10/31/2013 12:10 LordJused#1
Heyho, ichwollte mal fragen wie man einen Quest schreibt. Zb wenn man einen NPC anklickt soll er was sagen und danach sollte man zb Ja oder Nein ankilcken können und danach redet der NPC weiter weiß wer wie sowas geht oder ob das überhaupt geht? :)
10/31/2013 13:22 Noa_#2
PHP Code:
quest name begin
    state start begin
        when npcvnum
.chat.'Dein Text' begin
            local reden
={
                [
1]='hallo, ich bin der blabla und will blabla, um mehr zu erfahren klick auf weiter',
                [
2]='ja und was ich noch sagen wollte, blabla, ist eine interessante unterhaltung nicht wahr?',
                [
3]='blabla, und mir fällt hier so auf die Schnelle nichts ein, gehts dir genau so?',
                [
4]='blabla genau das selbe hab ich auch gedacht,..',
            }
            
=0
            say
("Hallo ich bin der "..mob_name(npc.get_race()))
            
say''
            
say'Hast du lust auf eine netten Unterhaltung?'
            
repeat
                say
''
                
janein=select('Ja','Nein')
                
x=x+1
                
if reden[x]==nil then say'Ich hab nichts mehr zu sagen'break end
                say
(reden[x])
            
until janein==2
            say
'Ok dann melde dich einfach mal bei mir, wenn du lust hast zu Reden.'
        
end
    end
end 
Die Texte hier ändern,
>> [1]=...
wenn du was neues einfügen willst einfach
die Zahlen in den eckigen Klammern erweitern, wie zb so...

[5]='das wär jetzt mein neuer text',

das Komma am ende dann nicht evergessen
10/31/2013 13:31 LordJused#3
danke schön und damit kann ich jetzt jeden beliebigen npc ansprechen wenn ich npc vnum oben einfüge oder? weisst du vielleicht noch wie man einen kill quest macht? d.h blbla töte bitte für mich 20wilhunde weil sie blabla dafür bekommst du einen stein +4 oder so. Also so eine Artbelohnung für die kills
10/31/2013 13:41 Noa_#4
wenn du mehrere npc's benutzen willst musst du das so machen

PHP Code:
quest name begin
    state start begin
        when npcvnum
.chat.'Dein Text' or npcvnum2.chat.'Dein Text' begin
            local reden
={
                [
npcvnum]={
                    [
1]='hallo, ich bin der blabla und will blabla, um mehr zu erfahren klick auf weiter',
                    [
2]='ja und was ich noch sagen wollte, blabla, ist eine interessante unterhaltung nicht wahr?',
                    [
3]='blabla, und mir fällt hier so auf die Schnelle nichts ein, gehts dir genau so?',
                    [
4]='blabla genau das selbe hab ich auch gedacht,..',
                }
                [
npcvnum2]={
                    [
1]='Ich bin der 2te npc',
                }
            }
            
=0
            say
("Hallo ich bin der "..mob_name(npc.get_race()))
            
say''
            
say'Hast du lust auf eine netten Unterhaltung?'
            
repeat
                say
''
                
janein=select('Ja','Nein')
                
x=x+1
                
if reden[npc.get_race()][x]==nil then say'Ich hab nichts mehr zu sagen'break end
                say
(reden[npc.get_race()][x])
            
until janein==2
            say
'Ok dann melde dich einfach mal bei mir, wenn du lust hast zu Reden.'
        
end
    end
end 
dann haben die Npc's nicht den selben Text wenn man sie anspricht.

zu deiner 2ten Quest, hier in e*pvp gibt es genug Quest die genau das machen.
10/31/2013 13:44 LordJused#5
Quote:
Originally Posted by Noa_ View Post
wenn du mehrere npc's benutzen willst musst du das so machen

PHP Code:
quest name begin
    state start begin
        when npcvnum
.chat.'Dein Text' or npcvnum2.chat.'Dein Text' begin
            local reden
={
                [
npcvnum]={
                    [
1]='hallo, ich bin der blabla und will blabla, um mehr zu erfahren klick auf weiter',
                    [
2]='ja und was ich noch sagen wollte, blabla, ist eine interessante unterhaltung nicht wahr?',
                    [
3]='blabla, und mir fällt hier so auf die Schnelle nichts ein, gehts dir genau so?',
                    [
4]='blabla genau das selbe hab ich auch gedacht,..',
                }
                [
npcvnum2]={
                    [
1]='Ich bin der 2te npc',
                }
            }
            
=0
            say
("Hallo ich bin der "..mob_name(npc.get_race()))
            
say''
            
say'Hast du lust auf eine netten Unterhaltung?'
            
repeat
                say
''
                
janein=select('Ja','Nein')
                
x=x+1
                
if reden[npc.get_race()][x]==nil then say'Ich hab nichts mehr zu sagen'break end
                say
(reden[npc.get_race()][x])
            
until janein==2
            say
'Ok dann melde dich einfach mal bei mir, wenn du lust hast zu Reden.'
        
end
    end
end 
dann haben die Npc's nicht den selben Text wenn man sie anspricht.

zu deiner 2ten Quest, hier in e*pvp gibt es genug Quest die genau das machen.
Super danke das is ein thx wert :)