Register for your free account! | Forgot your password?

You last visited: Today at 16:23

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

Advertisement



[RLS]Erkundungssystem

Discussion on [RLS]Erkundungssystem within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1

 
.Raicon's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 1,033
Received Thanks: 1,168
[RLS]Erkundungssystem

Hallo Community,

da ich lange nicht´s mehr mit euch geteilt habe möchte ich euch
nun mal eine kleine Arbeit hier bereitstellen für die ich nun keine
Verwendung mehr habe. (Der Pythoncode ist schlecht aber auch schon
älter ). Weiteres muss ich sagen, dass die Quest dazu von unserem
BabaBoZZ im Questen/Lua stammt (MIJAGO).

Hier einmal der Pythonteil:

PHP Code:
import ui
import wndMgr
import urllib
import locale
import constInfo
import net

class Erkundung(ui.ScriptWindow):

    
def __init__(self):
        
ui.ScriptWindow.__init__(self)
        
self.Load()
        
    
def Load(self):
        
self.Board ui.Board()
        
self.Board.SetSize(300500)
        
self.Board.SetPosition(wndMgr.GetScreenWidth()-300,wndMgr.GetScreenHeight()-500-200)
        
self.Board.AddFlag("float")
        
self.LoadLines()
        
self.LoadImage()
        
        
self.exit = ui.Button()
        
self.exit.SetParent(self.Board)
        
self.exit.SetUpVisual("d:/ymir work/ui/public/XLarge_Button_01.sub")
        
self.exit.SetOverVisual("d:/ymir work/ui/public/XLarge_Button_02.sub")
        
self.exit.SetDownVisual("d:/ymir work/ui/public/XLarge_Button_03.sub")
        
self.exit.SetPosition((300/2)-90500 25 -10)
        
self.exit.SetEvent(ui.__mem_func__(self.Close))
        
self.exit.SetText("Hide")
        
    
def LoadImage(self):
        
self.Header ui.ImageBox()
        
self.Header.SetParent(self.Board)
        
self.Header.AddFlag("not_pick")
        
self.Header.SetPosition(00)
        
self.Header.LoadImage("d:/ymir work/ui/erkundungssys/"+constInfo.AktuelleID+".tga")  ## Bild zum Ort
        
    
def LoadLines(self):
        try:
            
urllib.urlopen("http://webspace.de/erkundungssys/"+constInfo.AktuelleID+".txt")        ## Beschreibung
            
a.readlines()
            
160
            x1 
0
            self
.NewsLine = {}
            for 
c in b:
                
self.NewsLine[x1] = ui.TextLine()
                
self.NewsLine[x1].SetParent(self.Board)
                
self.NewsLine[x1].SetPosition(20x)
                
self.NewsLine[x1].SetText(b[x1])
                
self.NewsLine[x1].Show()
                
x1 x1+1
                x 
10
        except
:
            
self.ErrorLine ui.TextLine()
            
self.ErrorLine.SetParent(self.Board)
            
self.ErrorLine.SetPosition(20160)
            
self.ErrorLine.SetText("Cant load any informations!")
            
self.ErrorLine.Show()
        

    
def __del__(self):
        
ui.ScriptWindow.__del__(self)
        
    
def Destroy(self):
        
self.Hide()
        return 
TRUE    
        
    def Show
(self):
        
self.Board.Show()
        
self.Header.Show()
        
self.exit.Show()
        
    
def Close(self):
        
self.Destroy()
        
self.Board.Hide() 
Wichtig beim Pythonteil, dass ihr euch die Funktion in der Game.py noch dazu schreiben müsst (Doch net siehe Spoiler). Zudem müsst ihr wie ich gerade gesehen habe die Informationen zu den Pfaden in der ConstInfo.py zwischenspeichern...
(Etwas umständlich ).

Und hier die Quest (by Mijago):

PHP Code:
quest illi_erkundungssystem begin
    
-- by Mijago
    state start begin
        when login begin
            
-- [[
            -- Die 
Zahl kann angepasst werden.
            -- 
Bei Großen Arealen, die man nicht unter 5 Sekunden durchqueren kannsind 5~8 Sekunden Optimal.
            -- 
Bei kleineren.. Nunjadann eben 2 oder 1.5 :)
            --]]
            
loop_timer("check_me",5)
        
end
        when check_me
.timer begin
            local coords 
= {
                -- {
X1,Y1,X2,Y2,ID,item,exp}
                --{
100,100,150,150,"Test01",nil,3e6}, -- 50x50 nur epkein item
                
--{100,100,150,150,"Test02",19},        -- 50x50
                
{100,100,150,150,"IceOracle",{19,3}},         -- Für mehrere Items.(Test ICEMAP)
            }
            for 
_,l in pairs(coords) do
                if 
illi_erkundungssystem.is_in(lthen
                    pc
.setqf(l[5],1)
                    
cmdchat("erk_pos "..l[5])
                    if 
type(l[6]) == "table" then
                        pc
.give_item2(l[6][1],l[6][2])
                    elseif 
type(l[6]) == "number" then
                        pc
.give_item2(l[6],1)
                    
end
                    
if l[7then
                        pc
.give_exp2(l[7])
                    
end
                end
            end
        end
        
function is_in(tab)
            
local me = {["x"] = pc.get_local_x(),["y"] = pc.get_local_y()}
            if 
me.tab[1] and me.tab[3] and
               
me.tab[2] and me.tab[4] and
               
pc.getqf(tab[5]) ~= 1 then
                
return true
            
else
                return 
false
            end
        end
    end
end 
Hoffe das ihr damit etwas anfangen könnt.

LG .Raicon
Attached Files
File Type: rar Erkundungssystem.rar (1.7 KB, 71 views)
.Raicon is offline  
Thanks
16 Users
Old 07/20/2013, 19:21   #2
 
oOAiRMaXOo.'s Avatar
 
elite*gold: 750
Join Date: Jan 2013
Posts: 229
Received Thanks: 368
Screens?
First
oOAiRMaXOo. is offline  
Thanks
1 User
Old 07/20/2013, 19:23   #3
 
Stαgє6's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 2,018
Received Thanks: 1,471
Screens wären schön so sieht man nichts und denkt sich nichts Groß dabei ^^
Stαgє6 is offline  
Old 07/20/2013, 19:23   #4

 
.Raicon's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 1,033
Received Thanks: 1,168
Habe keinen Server um das zu zeigen, deshalb brauche ich das ganze auch nicht mehr
.Raicon is offline  
Old 07/20/2013, 19:25   #5
 
Stαgє6's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 2,018
Received Thanks: 1,471
Quote:
Originally Posted by .Raicon View Post
Habe keinen Server um das zu zeigen, deshalb brauche ich das ganze auch nicht mehr
Achso ok das ist ein Grund hörst mit Metin2 auf oder Bleibst dabei? Warst ja einer der Ersten der Groß was mit Python gemacht hat ^^
Stαgє6 is offline  
Old 07/20/2013, 19:26   #6

 
.Raicon's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 1,033
Received Thanks: 1,168
Quote:
Originally Posted by TheSonny View Post
Achso ok das ist ein Grund hörst mit Metin2 auf oder Bleibst dabei? Warst ja einer der Ersten der Groß was mit Python gemacht hat ^^
Der Witz war gut Aber denke bleibe noch nen bisschen.... Auch wenn ich nicht wirklich weiß was ich nun machen soll ....
.Raicon is offline  
Old 07/20/2013, 19:30   #7
 
Stαgє6's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 2,018
Received Thanks: 1,471
Quote:
Originally Posted by .Raicon View Post
Der Witz war gut Aber denke bleibe noch nen bisschen.... Auch wenn ich nicht wirklich weiß was ich nun machen soll ....
Im witze machen bin ich gut // Such dir ein Gutes Project wo du mit einsteigen kannst und wo du dein können mit einbauen kannst. Am besten ein Project wo viel gemoddet wird mit einem Freundlichen / Guten Team
Stαgє6 is offline  
Old 07/20/2013, 19:35   #8
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,916
Received Thanks: 538
Man kann doch auch einfach so machen

when login with pc.get_map_index() == 1 begin
say("herzlichen glückwunsch du hast rotes reich entdeckt")
set_state(rotesreichfound)
end

state rotesreichfound begin
end
'oShet is offline  
Old 07/20/2013, 19:37   #9

 
.Raicon's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 1,033
Received Thanks: 1,168
Quote:
Originally Posted by 'oShet View Post
Man kann doch auch einfach so machen

when login with pc.get_map_index() == 1 begin
say("herzlichen glückwunsch du hast rotes reich entdeckt")
set_state(rotesreichfound)
end

state rotesreichfound begin
end
Joa kannst du auch machen für uns war das System gedacht, weil wir eine 27x27 Map hatten und keine anderen Map´s. Deswegen brauchten wir bestimmte Koord´s. Wenn man aber nur bestimmte Map´s damit "erkunden" will kann man es auch so machen
.Raicon is offline  
Old 07/20/2013, 19:41   #10
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,916
Received Thanks: 538
Hmm dann könnte man doch auch einfach den befehl npc.is_near_vid benutzen
'oShet is offline  
Old 07/20/2013, 19:42   #11
 
.Kay331's Avatar
 
elite*gold: 5
Join Date: Nov 2009
Posts: 1,863
Received Thanks: 2,778
Hab mal ne Frage

PHP Code:
 a urllib.urlopen("http://webspace.de/erkundungssys/"+constInfo.AktuelleID+".txt"
Was hat das zu heißen, was für libs müssen da hin?
.Kay331 is offline  
Old 07/20/2013, 19:43   #12
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,916
Received Thanks: 538
Quote:
Originally Posted by .Kay331 View Post
Hab mal ne Frage

PHP Code:
 a urllib.urlopen("http://webspace.de/erkundungssys/"+constInfo.AktuelleID+".txt"
Was hat das zu heißen, was für libs müssen da hin?
urllib muss da sein
'oShet is offline  
Thanks
1 User
Old 07/20/2013, 19:46   #13
 
.αpeх''s Avatar
 
elite*gold: 244
Join Date: Jun 2010
Posts: 602
Received Thanks: 471
Schick, es gibt ja auch sowas in Guild Wars 2, wenn ich mich nicht irre. Da hat man ja auch Erfahrung für das Erkunden von bestimmten Arealen bekommen. Mal sehen was sich daraus machen lässt.
Dankeschön!
.αpeх' is offline  
Old 07/20/2013, 19:46   #14

 
.Raicon's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 1,033
Received Thanks: 1,168
Quote:
Originally Posted by 'oShet View Post
Hmm dann könnte man doch auch einfach den befehl npc.is_near_vid benutzen
Und was ist, wenn man einen bestimmt großen Bereich hat? Da hilft dir die VID auch nicht Dafür ist es ja gedacht, dass es größere Bereiche um einen bestimmten Punkt umfassen kann.

Quote:
Schick, es gibt ja auch sowas in Guild Wars 2, wenn ich mich nicht irre. Da hat man ja auch Erfahrung für das Erkunden von bestimmten Arealen bekommen. Mal sehen was sich daraus machen lässt.
Dankeschön!
Daher hatte ich ja die Idee
.Raicon is offline  
Old 07/20/2013, 19:48   #15
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,916
Received Thanks: 538
Quote:
Originally Posted by .Raicon View Post
Und was ist, wenn man einen bestimmt großen Bereich hat? Da hilft dir die VID auch nicht Dafür ist es ja gedacht, dass es größere Bereiche um einen bestimmten Punkt umfassen kann.



Daher hatte ich ja die Idee
ja stimmt aber dein system hier belastet die server extrem bei vielen spielern.
'oShet is offline  
Reply




All times are GMT +2. The time now is 16:23.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.