Register for your free account! | Forgot your password?

You last visited: Today at 23:37

  • Please register to post and access all features, it's quick, easy and FREE!

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.

Reply
 
Old   #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(1999999999then
            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
Zymos is offline  
Thanks
8 Users
Old 01/02/2013, 18:25   #2


 
.Onlyx3's Avatar
 
elite*gold: 0
The Black Market: 100/0/1
Join Date: Jun 2011
Posts: 3,382
Received Thanks: 1,796
Paar mal Public
Unnötig !
.Onlyx3 is offline  
Old 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..
Zymos is offline  
Thanks
1 User
Old 01/02/2013, 18:33   #4

 
iSouli~'s Avatar
 
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.
iSouli~ is offline  
Thanks
1 User
Old 01/02/2013, 18:39   #5
 
.Hiяo's Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 1,712
Received Thanks: 1,075
Quote:
Originally Posted by iSouli~ View Post
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
.Hiяo is offline  
Old 01/02/2013, 18:46   #6

 
iSouli~'s Avatar
 
elite*gold: 258
Join Date: Feb 2011
Posts: 1,405
Received Thanks: 3,502
Quote:
Originally Posted by .Hiro View Post
Merk dir das!.... Kleine Releases Sammelthread ist unnötiger als unnötig
Also da gibt es schon paar Kleinigkeiten die nützlich sind.
iSouli~ is offline  
Thanks
1 User
Old 01/02/2013, 18:51   #7
 
elite*gold: 281
Join Date: Aug 2010
Posts: 1,502
Received Thanks: 447
Quote:
Originally Posted by .Onlyx3 View Post
Paar mal Public
Unnötig !
Aber nicht in einer kuhlen Tabelle.
.iXream. is offline  
Thanks
1 User
Old 01/02/2013, 21:14   #8
 
elite*gold: 32
Join Date: Dec 2010
Posts: 1,294
Received Thanks: 862
Quote:
Originally Posted by Zymos View Post
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.
√π. is offline  
Thanks
1 User
Old 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 View Post
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(goldGiversitemVnum) != 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(itemVnum1) -- stackable fix
                end
            
            end
        end
    end
    state __FUNC__ begin
        
function toMill(n)
            return 
1000000
        end
        
function tableContainsKey(tablekey)
                for 
value_ in pairs(table) do
                        if 
value == key then
                                
return true
                        end
                end
                
return false
        end
    end
end 
.Alpha. is offline  
Thanks
8 Users
Old 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
Zymos is offline  
Old 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 View Post
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
.Alpha. is offline  
Thanks
1 User
Old 01/03/2013, 02:07   #12
 
elite*gold: 0
Join Date: Nov 2011
Posts: 478
Received Thanks: 790
Da gibs nicht zu erweitern.
Zymos is offline  
Old 01/03/2013, 02:09   #13
 
Mijago's Avatar
 
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
Mijago is offline  
Thanks
1 User
Old 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 View Post
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.
.Alpha. is offline  
Thanks
3 Users
Old 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
Teh Plex is offline  
Thanks
1 User
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.