|
You last visited: Today at 23:37
Advertisement
[Release] Yang-Barren Quest
Discussion on [Release] Yang-Barren Quest within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
01/02/2013, 18:23
|
#1
|
elite*gold: 0
Join Date: Nov 2011
Posts: 478
Received Thanks: 790
|
[Release] Yang-Barren Quest
Hab mal schnell für mich eine Yangbarren Quest geschrieben.
Und wollte diese gerne mit euch teilen <3
PHP Code:
--[[ -- Barren Quest -- lvl x -- Copyright ©Zymos ]]
quest yang_barren begin state start begin when 80003.use or 80004.use or 80005.use or 80006.use or 80007.use or 830003.use begin local vnum = item.get_vnum() local barren = { [80003] = {5000000}, --Silberbarren(50kk Yang) [80004] = {100000000}, --Silberbarren(100kk Yang) [80005] = {500000000}, --Goldbarren(500kk Yang) [80006] = {1000000000}, --Goldbarren(1kkk Yang) [80007] = {1500000000}, --Goldbarren(1,5kkk Yang) [830003] = {500000000} --Goldbarren(500kk Yang) (nicht handelbar) } local give_yang = barren[vnum][1] local check_can_gold = pc.get_gold() + give_yang if tonumber(check_can_gold) >= tonumber(1999999999) then syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.") else syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..give_yang.." Yang.") pc.change_gold(give_yang) item.remove() end end end end
mfg Zymos
|
|
|
01/02/2013, 18:25
|
#2
|
elite*gold: 0
Join Date: Jun 2011
Posts: 3,382
Received Thanks: 1,796
|
Paar mal Public
Unnötig !
|
|
|
01/02/2013, 18:30
|
#3
|
elite*gold: 0
Join Date: Nov 2011
Posts: 478
Received Thanks: 790
|
Ich darf wohl bitten???
Schau dir mal die anderen **** Quests an...
Soviel müllcode muss nicht sein..
|
|
|
01/02/2013, 18:33
|
#4
|
elite*gold: 258
Join Date: Feb 2011
Posts: 1,405
Received Thanks: 3,502
|
Ist zwar nett von dir diese kurze Version zu releasen, aber du könntest sie eig. auch in den Sammelthread für kleine Releases tun.
|
|
|
01/02/2013, 18:39
|
#5
|
elite*gold: 0
Join Date: Apr 2010
Posts: 1,712
Received Thanks: 1,075
|
Quote:
Originally Posted by iSouli~
Ist zwar nett von dir diese kurze Version zu releasen, aber du könntest sie eig. auch in den Sammelthread für kleine Releases tun.
|
Merk dir das!.... Kleine Releases Sammelthread ist unnötiger als unnötig
|
|
|
01/02/2013, 18:46
|
#6
|
elite*gold: 258
Join Date: Feb 2011
Posts: 1,405
Received Thanks: 3,502
|
Quote:
Originally Posted by .Hiro
Merk dir das!.... Kleine Releases Sammelthread ist unnötiger als unnötig 
|
Also da gibt es schon paar Kleinigkeiten die nützlich sind.
|
|
|
01/02/2013, 18:51
|
#7
|
elite*gold: 281
Join Date: Aug 2010
Posts: 1,502
Received Thanks: 447
|
Quote:
Originally Posted by .Onlyx3
Paar mal Public
Unnötig !
|
Aber nicht in einer kuhlen Tabelle.
|
|
|
01/02/2013, 21:14
|
#8
|
elite*gold: 32
Join Date: Dec 2010
Posts: 1,294
Received Thanks: 862
|
Quote:
Originally Posted by Zymos
Ich darf wohl bitten???
Schau dir mal die anderen **** Quests an...
Soviel müllcode muss nicht sein..
|
"****" Code gibt's nicht, gibt nur mehrere Möglichkeiten das Ziel zu erreichen.
Aber so ist's auf jedenfall leichter auszubauen.
|
|
|
01/03/2013, 01:15
|
#9
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,471
Received Thanks: 5,622
|
Quote:
Originally Posted by Zymos
Ich darf wohl bitten???
Schau dir mal die anderen Crap Quests an...
Soviel müllcode muss nicht sein..
|
Ich darf wohl bitten???
Deine Quest sieht auch nicht viel besser aus und du hast auch teilweise ziemlich redundanten Code.
Was soll zum Beispiel dass?
[80003] = {5000000}, --Silberbarren(50kk Yang)
Dadurch hast du nachher nur:
local give_yang = barren[vnum][1]
Was unnötig ist einfach:
[80003] = 5000000, --Silberbarren(50kk Yang)
und fertig dadurch machst du simpel
local give_yang = barren[vnum]
Das zwischenspeichern in eine lokale Variable von check_can_gold ist auch unnötig.
Genau wie die ganzen Checks im when teil die lassen sich vereinfachen.
Also komm mal wieder runter ...
Wenn ihr es wirklich anpassbar wollt warum nicht so?
PHP Code:
quest goldGiver begin state start begin when use begin local goldGivers = { [80003] = 50, --Silberbarren(50kk Yang) [80004] = 100, --Silberbarren(100kk Yang) [80005] = 500, --Goldbarren(500kk Yang) [80006] = 1000, --Goldbarren(1kkk Yang) [80007] = 1500, --Goldbarren(1,5kkk Yang) [830003] = 500 --Goldbarren(500kk Yang) (nicht handelbar) } local itemVnum = item.get_vnum() if goldGiver.tableContainsKey(goldGivers, itemVnum) != false then local goldValue = goldGiver.toMill(itemVnum) if (goldValue + pc.get_gold()) > 1999999999 then syschat("Du hast zu viel Geld bei dir.") else pc.change_gold(goldValue) pc.remove_item(itemVnum, 1) -- stackable fix end end end end state __FUNC__ begin function toMill(n) return n * 1000000 end function tableContainsKey(table, key) for value, _ in pairs(table) do if value == key then return true end end return false end end end
|
|
|
01/03/2013, 02:02
|
#10
|
elite*gold: 0
Join Date: Nov 2011
Posts: 478
Received Thanks: 790
|
Das mit den Variablen mach ich rein zu übersicht.
Und das prüfen ob die vnum in der Tabelle exestiert ist auch sinnlos..
Das hat man automatisch drinne, die werte und co.
Aber man könnte es auch direkt aus der Datenbank auslesen mit hilfe des Socket bzw. Value 
Dann würde die Tabelle wegfallen.
mfg Zymos
|
|
|
01/03/2013, 02:03
|
#11
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,471
Received Thanks: 5,622
|
Quote:
Originally Posted by Zymos
Das mit den Variablen mach ich rein zu übersicht.
Und das prüfen ob die vnum in der Tabelle exestiert ist auch sinnlos..
Das hat man automatisch drinne, die werte und co.
mfg Zymos
|
das ersetzt die with abfrage und macht es leichter zu erweitern
|
|
|
01/03/2013, 02:07
|
#12
|
elite*gold: 0
Join Date: Nov 2011
Posts: 478
Received Thanks: 790
|
Da gibs nicht zu erweitern.
|
|
|
01/03/2013, 02:09
|
#13
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
when use begin würde bei Jedem item zuschlagen.. Was Speicher kostet.
Wenn man mal eine Homepage in Lua geschrieben hat, sieht man, wie eine simple Schleife, von der man eigl denkt, sie würde keine Ressourchen kosten, die Aufrufdauer von 0,9ms auf 90ms hochbringt..
Was ich eigl damit sagen möchte: Jeder hier hat seinen eigenen Queststil. Man kann alles auf verschiedene Arten machen, natürlich, aber es gibt - solange am Ende das Rauskommt, was soll, kein Richtig oder Falsch (okay, doch, aber wir reden hier nicht von 0815 Questwritern).
Grüße, Mijago
|
|
|
01/03/2013, 02:28
|
#14
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,471
Received Thanks: 5,622
|
Quote:
Originally Posted by Mijago
when use begin würde bei Jedem item zuschlagen.. Was Speicher kostet.
Wenn man mal eine Homepage in Lua geschrieben hat, sieht man, wie eine simple Schleife, von der man eigl denkt, sie würde keine Ressourchen kosten, die Aufrufdauer von 0,9ms auf 90ms hochbringt..
Was ich eigl damit sagen möchte: Jeder hier hat seinen eigenen Queststil. Man kann alles auf verschiedene Arten machen, natürlich, aber es gibt - solange am Ende das Rauskommt, was soll, kein Richtig oder Falsch (okay, doch, aber wir reden hier nicht von 0815 Questwritern).
Grüße, Mijago
|
Es ging ja um die Anpassbarkeit und das ist mit der genauen Angabe von item.use nicht so gut möglich wenn ich es mit with mache wird es genau so in eine if abfrage umgewandelt also macht es im Prinzip keinen Unterschied nur das ich halt noch die Tabelle durchgehe man muss immer überlegen ob man es nun anpassbar macht oder Ressourcen schonend.
Natürlich hat jeder seinen Stil das respektiere ich auch, aber so etwas wie sagen wir goldValue[vnum][1] obwohl es auch mit goldValue[vnum] ginge finde ich persönlich nicht gut. So etwas sollte man sich auch nicht angewöhnen genau wie das deklarieren zu vieler lokaler Variablen. Wenn ein wert nur ein mal gebraucht wird warum ihn dann in einer Variable speichern? Villt. ist es etwas Stilistisches aber ich bin der Meinung das es unnötig ist und je nach Programmiersprache auch mehr Ressourcen verbrauchen kann.
Es wird nur bei Items mit dem Type 18 ausgeführt nicht bei jedem Item und das sind nicht so arg viele.
|
|
|
01/03/2013, 06:26
|
#15
|
elite*gold: 315
Join Date: Dec 2011
Posts: 2,905
Received Thanks: 1,066
|
Ich finde es gut danke 
Bekommst nen Thanks
|
|
|
 |
|
Similar Threads
|
[Release]Barren Quest
08/27/2013 - Metin2 PServer Guides & Strategies - 22 Replies
Abend epvp :D
Also ich release mal was, da ich einen Unfall mit meinen Scooter hatte und nun die ganzen Ferien zu hause hocken muss.
Also quest ganz simple. Wenn ihr neue Barren habt, z.B. 100kk, 200kk und 500kk.
Habe ich mal schnell ne Quest geschrieben damit ihr die nicht immer bei der Gemischtwarenhändlerin etc. verkaufen müsst.
quest barren begin
state start begin
|
[RELEASE]Yang Storage quest
04/05/2012 - Metin2 PServer Guides & Strategies - 7 Replies
Hi community!
I write a new quest with my server.
The quest deduct 300kk yang and create a new item. The new item by clicking give 300kk yang.
quest yw2_bevalto begin
state start begin
when 60010.use begin
if pc.get_gold()<300000000 then
say("You do not have enough money!")
return
end
|
[Hilfe]Barren Quest!!!
10/10/2011 - Metin2 Private Server - 5 Replies
Ich benötige Hilfe bei einer Quest die ich geschrieben.
Kurzbeschreibung:
Ich habe auf meinem Server 3 verschiedene barren (1kkk,500kk,200kk)
Und ich will mit einem item Barren ertsellen können.
Also ZB: Man lvlt gemütlich auf der Farmmap und und das Yang ist voll,man will nicht zu map 1 gehen,die barren kaufen und wieder back.
Mit diesem item kann mal Barren erstellen und es bleibt im inventar.
hier meine quest:
quest goldklumpen begin
state start begin
|
[Quest Release]FunServer yang und exp!
07/17/2010 - Metin2 PServer Guides & Strategies - 7 Replies
Hab für euch eine yang und exp quest
undzwar man muss ein wildhund killen und erhält viel yang und exp
Yang: 1.5kkk
Exp: man wird ca lvl 80 Kann auch höher werden
quest ExpUndYang begin
state start begin
when login with pc.level >= 1 begin
set_state(information)
end
end
|
All times are GMT +1. The time now is 23:39.
|
|