Register for your free account! | Forgot your password?

You last visited: Today at 00:59

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

Advertisement



Questrolle schicken

Discussion on Questrolle schicken within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Questrolle schicken

Wollte fragen ob es möglich ist, einem Spieler den ich über eine input Funktion ausgewählt habe, eine Questrolle zu schicken.

mfg
123snake123 is offline  
Old 03/12/2016, 01:38   #2
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by 123snake123 View Post
Wollte fragen ob es möglich ist, einem Spieler den ich über eine input Funktion ausgewählt habe, eine Questrolle zu schicken.

mfg

ja du machst find_pc_by_name(input)
danach

local other = pc.select(find_pc_by_name(deineinputvariable))
send_letter("blabla")
pc.select(other)

und schon hat der ausgewählte die rolle
gerald500 is offline  
Thanks
1 User
Old 03/12/2016, 12:07   #3
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Und ich bräuchte noch den Code schnipsel, in dem eine ganze gruppe geportet wird, nach dem der Gruppenleader geportet wird.
Das ganze ist kein Dungeon.

Mfg
123snake123 is offline  
Old 03/12/2016, 12:53   #4
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by 123snake123 View Post
Und ich bräuchte noch den Code schnipsel, in dem eine ganze gruppe geportet wird, nach dem der Gruppenleader geportet wird.
Das ganze ist kein Dungeon.

Mfg
Code:
	local pids = {party.get_member_pids()}
	for _,v in ipairs(pids) do
		local other = pc.select(v)
		pc.warp(x,y)
		pc.select(other)
	end
gerald500 is offline  
Thanks
1 User
Old 03/12/2016, 14:00   #5
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Es kommt kein Fehler, es passiert aber auch nichts.
123snake123 is offline  
Old 03/12/2016, 14:09   #6
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by 123snake123 View Post
Es kommt kein Fehler, es passiert aber auch nichts.
was hast du für eine game du solltest mal in den quest functions nachgucken was du alles für party. functions hast.

solltest du mit dem source arbeiten kannst du ja nachgucken welche funktionen du hast in questlua_party.cpp

ansonsten versuchs mal einfach einzutragen in den quest functions ich glaub ab 40k gibts die funktion standartmässig
gerald500 is offline  
Old 03/12/2016, 14:15   #7
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Arbeite ohne game. Habe die 2089rev aber auf dem Server wo die Quest läuft ist noch ne viel ältere game.
123snake123 is offline  
Old 03/12/2016, 14:19   #8
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by 123snake123 View Post
Arbeite ohne game. Habe die 2089rev aber auf dem Server wo die Quest läuft ist noch ne viel ältere game.
für die game2089 fällt mir jetzt keine einfache lösung ein ich denke du wirst das über client quest kommi lösen müssen.

würde dir aber sowieso empfehlen nicht die game2089 zu verwenden den damit sind deine möglichkeiten für neue features sehr begrentzt

könntest eine funktion machen die was an den client schickt und der client alle namen der spieler in der gruppe abfrägt , anschließend alle gleich wie oben selecten in einer schleife und warpen.
gerald500 is offline  
Old 03/12/2016, 14:31   #9
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Oha....^^ und wie mache ich das genau?
123snake123 is offline  
Old 03/12/2016, 15:20   #10
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by 123snake123 View Post
Oha....^^ und wie mache ich das genau?

habs mal versucht zu erstellen kann nicht garantieren das es gleich funtzt.

dein client muss auf Client quest kommi eingerichtet sein

du brauchst eine neue quest unzwar diese hier :

Code:
quest partypid begin
	state start begin

		function getinput(par)
			cmdchat("getinputbegin")
			local ret = input(cmdchat(par))
			cmdchat("getinputend")
			return ret
		end
		
		function client_command(command_)
			return partypid.split_(command_,"#")
		end
		
		function split_(string_,delimiter)
			local result = { }
			local from  = 1
			local delim_from, delim_to = string.find( string_, delimiter, from  )
			while delim_from do
				table.insert( result, string.sub( string_, from , delim_from-1 ) )
				from  = delim_to + 1
				delim_from, delim_to = string.find( string_, delimiter, from  )
			end
			table.insert( result, string.sub( string_, from  ) )
			return result
		end
		
		
		
		when login begin
			cmdchat(string.format("PARTYCMD QID/%d",q.getcurrentquestindex()))
		end
		
		when button or info begin
			local cmd = partypid.client_command(partypid.getinput("PARTYCMD QUESTCMD"))
			party = {}
			for _,v in ipairs(cmd) do
				table.insert(party,v)
			end
			PARTY_PIDS[pc.get_name()] = party
		end
		
	end
end
By the Way hier kannst du im prinzip alle mögliche sachen vom client entgegen nehmen

danach machst du noch in der questlib das hier irgendwo

Code:
PARTY_PIDS = {}
so das wars am server nun zum client

in uiparty.py suchst du nach

def AddPartyMember(self, pid, name):

und ersetzt diese funktion mit meiner

Code:
	def AddPartyMember(self, pid, name):

		board = self.__FindPartyMemberInfoBoardByPID(pid)

		if None == board:
			
			import constInfo
			constInfo.PARTY["PARTYPIDS"].append(pid)
			
			board = PartyMemberInfoBoard()
			board.SetParent(self)
			board.SetCharacterPID(pid)

			self.partyMemberInfoBoardList.append(board)
			self.__ArrangePartyMemberInfoBoard()
			self.UpdateRect()

		if not name:
			name = localeInfo.PARTY_MEMBER_OFFLINE

		board.SetCharacterName(name)
		board.Unlink()

		self.Show()
dann in der constinfo addest du irgendwo:
Code:
PARTY = {"PARTYPIDS": [],"QID":0,"questCMD":""}
und in der game suchst du nach:

def __ServerCommand_Build(self):

und addest dort irgendwo:

Code:
"PARTYCMD"              :self._PartyCMD,
irgendwo am ende am besten diese funktion adden:

Code:
	def _PartyCMD(self, command):
		cmd = command.split("/")
		if cmd[0] == "QID":
			constInfo.PARTY["qid"] = int(cmd[1])
		elif cmd[0] == "QUESTCMD":
			net.SendQuestInputStringPacket(str(constInfo.PARTY["questCMD"]))
		elif cmd[0] == "GIVE_PIDS":
			pids = ""
			for i in range(len(constInfo.PARTY["PARTYPIDS"])):
				pids = pids+"#"+str(constInfo.PARTY["PARTYPIDS"][i])
			constInfo.PARTY["questCMD"] = pids
			import event
			event.QuestButtonClick(int(constInfo.PARTY["qid"]))
so nun bist du fertig das ganze kannst du dann so benutzen

Code:
		cmdchat("PARTYCMD GIVE_PIDS")
		local pids = PARTY_PIDS[pc.get_name()]
		for _,v in ipairs(pids) do
			local other = pc.select(tonumber(v))
			pc.warp(x,y)
			pc.select(other)
		end
hab das ganze jetzt richtig schnell geschriben das tutorial sowie den code denke aber es müsste klappen

mfg gerald
gerald500 is offline  
Reply


Similar Threads Similar Threads
[Metin2]Buttons im Inventar nicht anklickbar & Frage zur Questrolle
07/27/2014 - Metin2 Private Server - 4 Replies
Hallo, wollte mal ein paar Buttons in das Inventar einfügen, damit man nicht alle Quests wie Warpring usw über ein Item machen muss. Eingefügt bekomme ich es, verbunden mit der Quest auch. Nur, wenn ich das Inventar größer mache, dann kann ich die Buttons nicht anklicken. Hier mal Screens: http://i.epvpimg.com/YTrRg.jpg http://i.epvpimg.com/CEtBg.jpg Man sieht beim ersten Screen, dass es geht, wenn ich es unter den normalen Itemshop-Button mache, jedoch beim 2. bin ich mit der...
Unlimited SMS schicken
06/03/2012 - Tutorials - 8 Replies
Servus.. Wollte euch heute mal eine Seite vorstellen, wo man kostenlos SMS schreiben kann :D 1. Ihr geht auf http://slidesms.com/indexbeta.php 2. Ihr wählt euer Land aus 3. Nummer eingeben z.B. für Deutschland: 0049123456789 (49 ist die Länder-ID. 4. Nachricht eingeben. 5. Senden. 6. Have FUN!
Ap schicken
07/12/2011 - Wolfteam - 5 Replies
hei com kann man ap schicken? also von einem acc zum anderen ...
[Suche] Shoptisch-Quest, wo man nicht mit einer Questrolle beendet...
06/21/2011 - Metin2 Private Server - 5 Replies
Hallo Com., ich habe SuFu benutz und Google ... Aber habe keine Quest gefunden, wenn man einen Shop eröffnet mit dem Bündel, und dann den Laden öffnet, dass man dann in einen Shoptisch verwandelt wird. Sobald man dann Laden schließt dass man dann wieder zurückverwandelt wird. Aber OHNE Questrolle an der linken Seite! Also wie in Metin2 DE wenn man den Laden schließt wird man zurück verwandelt! @Kiddies: Ich habe wirklich nichts gefunden, also dumme Kommentare sind unnötig und werden...
[Problem ôÔ] Questrolle
04/13/2011 - Metin2 Private Server - 1 Replies
quest Test begin state start begin when 20005.chat."Blutstein Quest" begin say("Der Blutstein ist ein altes Relikt") say("welches von dem Drachengott selbst erschaffen wurde!") say("Du benötigst ihn um in die Grotte zu gelangen") say("möchtest du ihn erwerben?") local m=select("Ja", "Nein") if m==1 then say("Viel Glück!")



All times are GMT +1. The time now is 00:59.


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.