[SERVICE] Die Questerstellung

06/01/2013 01:01 CoTzRaiZ-PaiNx#16
Die Mount Urkunden Quest, wie auf De, dass man z.B. von 18-20Uhr von allen Metins die Mount Urkunden zu einer bestimmten % Chance droppt. :) Wär cool wenns einer pobiert. danke
06/01/2013 10:30 Aerociety#17
Quote:
Originally Posted by .Remix. View Post
Code:
quest erz_tausch begin
	state start begin
		when 20095.take with item.get_count() > x begin
			if item.get_vnum() == x or item.get_vnum() == y then
				pc.remove_item(item.get_vnum(), item.get_count())
				pc.give_item2(19, 1)
			end
		end
	end
end
Musst halt die Vnums anpassen.

MfG
Inwiefern ist es sinnvoll das x kleiner als die Anzahl der Items aber gleichzeitig die vnum darstellt? Bzw welche Zahl soll x darstellen?

@Remix

PHP Code:
quest mob_count begin
    state start begin
        when 101.kill 
or 102.kill or 103.kill or 104.kill or 105.kill begin
            mysql_query
("update player.player set kills = kills + 1;")
        
end
    end
end 
Wow ... Das ist natürlich sehr hilfreich. Du sagst ihm nicht das er eine Questlib benötigt für die funktion mysql_query. Auch fehlt die Mysql Tabelle dafür.

MfG
06/01/2013 10:44 Mr. 'Avenue™#18
Quote:
Originally Posted by Aerociety View Post
Inwiefern ist es sinnvoll das x kleiner als die Anzahl der Items aber gleichzeitig die vnum darstellt? Bzw welche Zahl soll x darstellen?

@Remix

PHP Code:
quest mob_count begin
    state start begin
        when 101.kill 
or 102.kill or 103.kill or 104.kill or 105.kill begin
            mysql_query
("update player.player set kills = kills + 1;")
        
end
    end
end 
Wow ... Das ist natürlich sehr hilfreich. Du sagst ihm nicht das er eine Questlib benötigt für die funktion mysql_query. Auch fehlt die Mysql Tabelle dafür.

MfG
Seit Mijago die Questlib Erweiterung veröffentlicht hat & Hanashi ebenfalls seine MySQL-Schnittstelle, ist sie Standard auf privat Servern.
06/01/2013 10:49 |★|554#19
Quote:
Originally Posted by ╠Parkwaydrive╣ View Post
Die Mount Urkunden Quest, wie auf De, dass man z.B. von 18-20Uhr von allen Metins die Mount Urkunden zu einer bestimmten % Chance droppt. :) Wär cool wenns einer pobiert. danke
So, in die Quest musste bei "metinvnums" noch alle VNUMS eintragen, die du brauchst, habe nur 8001 - 8007 :P
Einfach mit Kommata abtrennen, sonst nichts verändern.
Und die Belohnung/Chance anpassen, momentan liegt sie bei 20%.
Achja, "os.date" gibt die Zeit des Servers aus (meine ich zumindest >.>), wenn die Serveruhr falsch geht, geht die Quest auch "falsch" (bzw. zu falschen Uhrzeiten):
PHP Code:
quest urkunde begin
    state start begin
        when kill with not npc
.is_pc() begin
            metinvnums 
= {8001800280038004800580068007}
            for 
1table.getn(metinvnums), do
                if 
npc.get_race() == metinvnums[ithen
                    local hours 
os.date("%H")
                    if 
hours >= 18 and hours <= 20 then 
                        
if math.random(0,100) <= 20 then
                            pc
.give_item2(191)
                            return
                        
end
                    
else
                        return
                    
end
                end
            end
        end
    end
end 
#untested
06/01/2013 11:06 Lord iRemix#20
Quote:
Originally Posted by Aerociety View Post
Inwiefern ist es sinnvoll das x kleiner als die Anzahl der Items aber gleichzeitig die vnum darstellt? Bzw welche Zahl soll x darstellen?

@Remix

PHP Code:
quest mob_count begin
    state start begin
        when 101.kill 
or 102.kill or 103.kill or 104.kill or 105.kill begin
            mysql_query
("update player.player set kills = kills + 1;")
        
end
    end
end 
Wow ... Das ist natürlich sehr hilfreich. Du sagst ihm nicht das er eine Questlib benötigt für die funktion mysql_query. Auch fehlt die Mysql Tabelle dafür.

MfG
Die Variable x ist nur'n Platzhalter.

Und die Lib mit der mysql_query ist mittlerweile Standart in den ganzen Files.

Soll ich ihm vllt noch über Tv einen Server aufsetzen?

MfG
06/01/2013 11:08 Snσω#21
danke für deinen Service, werde ihn vielleicht mal brauchen :)
06/01/2013 11:54 swamswam#22
könnte mir einer bitte eine quest erstellen mit der man ein item auf einen npc und dieses gelöscht wird und man stattdessen 2 andere items bekommt.

mfg phillip
06/01/2013 12:22 DasKuchen#23
Quote:
Originally Posted by .Remix. View Post
Code:
quest mob_count begin
	state start begin
		when 101.kill or 102.kill or 103.kill or 104.kill or 105.kill begin
			mysql_query("UPDATE player.player SET kills = kills + 1 [COLOR="Red"]WHERE name="..pc.get_name().."[/COLOR];")
		end
	end
end
Da fehlte doch ein where
06/01/2013 12:53 AzeeL#24
Kann mir bitte eine Quest schreiben damit die Alternativdrops im Inventar sind?
Und die nicht aufheben muss.
Der bekommt auch nen THX ^^
06/01/2013 12:58 Mr. 'Avenue™#25
Quote:
Originally Posted by swamswam View Post
könnte mir einer bitte eine quest erstellen mit der man ein item auf einen npc und dieses gelöscht wird und man stattdessen 2 andere items bekommt.

mfg phillip
PHP Code:
quest itemabgabe begin
    state start begin
        when NPCVNUM
.take with item.get_vnum() == ITEMVNUM begin
            item
.remove()
            
pc.give_item2(vnumanzahl)
            
pc.give_item2(vnumanzahl)
        
end
    end
end 


Quote:
Originally Posted by AzeeL View Post
Kann mir bitte eine Quest schreiben damit die Alternativdrops im Inventar sind?
Und die nicht aufheben muss.
Der bekommt auch nen THX ^^
PHP Code:
quest itemabgabe begin
    state start begin
        when 101.kill 
or 102.kill or 103.kill or 104.kill or 105.kill or 106.kill or 107.kill or 108.kill or 109.kill or 8001.kill or 8002.kill or 8003.kill or 
             
8004.kill or 8005.kill or 8006.kill or 8007.kill or 8008.kill begin
            pc
.give_item2(vnumanzahl)
        
end
    end
end 
06/01/2013 13:08 Summex#26
Hey ! Kann jemand so etwas wie eine Arena quest schreiben ? Also es gibt einen npc wenn man mit dem redet wird man in eine map teleportiert. Da gibt es einen NPC. Wenn man mit dem spricht, sagt er einem dann Sowas wie: Du möchtest dich in der Arena messen ? oder abbrechen
bei arena messen kommt dann ein text (zum selberbearbeiten) am ende sagt er dann bist du wirklich bereit, dann wählt man aus: Ja bin ich oder Nein, lieber noch nicht. Wenn man Ja wählt sagt er: Gut dein erster Gegner ist ein (z.B.) Wildhund. Soll ich dich jetzt in die Arena teleportieren ? Ja ich bin bereit oder Nein ich muss noch trainieren. Bei ja wird man in eine Map geportet (da muss man dann die Koordinaten anpassen) wenn man den Wildhund gekillt hat steht (falls das geht sonst im normalen chat) eine ankündigung nur für einen selber das man den wildhund besiegt hat, Das Volk jubelt. Du kehrst nun zurück in den Trainingsraum. Dann wird man in eine map geportet (Koordinaten selber anpassen) Wenn man jetzt nochmal mit NPC XY redet sagt er einem: Du hast den Kampf gegen (Beispiel) den Wildhund gewonnen. Hier hast du deine Belohnung: einen Betrag von Yang und ein arenasiegel oder sowas in der art (das item muss man halt noch einfügen) Nach dem ersten Kampf gibt es jetzt einen neuen Ansprechpunkt bei dem NPC (wenn das nicht geht gibt es den Punkt schon von anfang an): Rang erhöhen. Man kann mit 5 Arenasiegeln (also immer nach fünf Kämpfen) diese 5 siegel gegen den nächsten Rang eintauschen. Also zum Beispiel Rang Lehrling usw bis Gladiator und Champion (schreib am besten zwei Beispiele den rest kann ich dann ja weiter schreiben). Dann gibt es noch einen NPC der Gladiatorenverwalter oder sowas und da kann man wenn man einen höheren rang hat seine Belohnung abholen also man kann da auswählen: Beginnerbelohnung - Lehrlingsbelohnung - Fortgeschrittenenbelohnung .... Gladiatorenbelohnung - Arenachampionbelohnung. Wenn man Beginnerbelohnung anklickt sagt er: Tut mir leid für den Rang beginner kann ich dir keine Belohnung geben trainiere weiter und komm später nocheinmal wieder. klickt man alle anderen Ränge an sagt er: Für deinen Mut und deine Kampfkunst erhältst du: (belohung einfügen als beispiel einfach 100 yang und 100 potts oder sowas)

Desweiteren währe es auch cool wenn es eine Ankündigung für alle geben würde (oder es im rufchat stehen würde) wenn jemand zum Rang Champion aufgestiegen ist. Also das währe dann so: Der (Krieger, Ninja, Sura, Schamane) (Name des Spielers) aus dem (blauen, roten, gelben) Reich ist zum Arenachampion befördert worden. Ruhm und Ehre sind ihm Gewiss. Das ganze Volk jubelt.

Es sind also glaube ich 3 Quests ;) Ich weiß das ist ne ziemlich lange Quest aber ich denke das währe recht coo. Ich fände es auch gut das du die Quest so schreiben würdest das halt daneben steht zum Beispiel bei der belohnung: hier beliebige Belohnung einfügen, damit es mir dann leichter fällt die quest für mich umzuschreiben. Außerdem währe es gut wenn du immer zwei Beispiele machst also zwei Kampf Beispiele usw, damit es für mich halt einfacher ist.

LG
Kingdasda
06/01/2013 14:08 .ρσmmєs##27
Hey Avenue, wäre vielleicht sowas möglich?

Also ne PvP Quest, wie auf Xeraton, bloß mit Items.
Sprich:
Droppchance bei Gewinn eines Duells: 70%
Droppchance bei Tötung im anderen Reich: 25%
Droppchance bei Tötung im Gildenkrieg: 50%
90iger Metin: 100% 2 Items
Worlddropp: 1%

Danke im voraus.
06/01/2013 14:18 AzeeL#28
Avenue ich will das von jedem monster dorppen
also muss ich weiter or 8009.kill eingeben oder wie?
06/01/2013 14:38 Mr. 'Avenue™#29
Quote:
Originally Posted by AzeeL View Post
Avenue ich will das von jedem monster dorppen
also muss ich weiter or 8009.kill eingeben oder wie?
Jap

Quote:
Originally Posted by •.Le Pommès'• View Post
Hey Avenue, wäre vielleicht sowas möglich?

Also ne PvP Quest, wie auf Xeraton, bloß mit Items.
Sprich:
Droppchance bei Gewinn eines Duells: 70%
Droppchance bei Tötung im anderen Reich: 25%
Droppchance bei Tötung im Gildenkrieg: 50%
90iger Metin: 100% 2 Items
Worlddropp: 1%

Danke im voraus.
So eine ähnliche Quest hab ich heute für ۜ»๖ۣۜΛzeX vis.ッᶻᵞᵑᵉˣ«๖ geschrieben,
jedoch weiß ich nicht, ob sie so funktioniert.

PHP Code:
quest pvpkill begin
 state start begin
  when kill with npc
.is_pc() begin
   
if npc.empire != pc.empire then
    local a 
math.random(1100)
    if 
76 then
     pc
.give_item2(vnumanzahl)
    else
     
chat("Du hast nichts erhalten.")
    
end
   end
   
if npc.empire == pc.empire then
    local b 
math.random(1100)
    if 
51 then
     pc
.give_item2(vnumanzahl)
    else
     
chat("Du hast nichts erhalten.")
    
end
   end
  end
 end
end 
06/01/2013 15:03 AzeeL#30
Avenue noch eine bitte ^^
z.b ab lv.10 bekommt man ein item
und ab 20 30 40 usw.