|
You last visited: Today at 15:10
Advertisement
[Release] Questside Mobplacer
Discussion on [Release] Questside Mobplacer within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
01/04/2012, 18:06
|
#1
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
[Release] Questside Mobplacer
Soo, mal was neues für euch:
Ein Mob-Placer via Quest.
Features: - Fügt Monster, Gruppen und Randomgroups zur regen.txt der map hinzu, auf der ihr steht
- Entfernt Mobs in eurer Nähe. (Natürlich mit Auswahlmöglichkeit)
- Natürlich erscheinen die Monster erst nach Core- oder Maprestart
Ihr geht als GM Online und geht an eine Stelle auf einer Map, wo ihr ein Monster (oder eine Gruppe haben wollt).
Nun drückt auf die Schriftrolle "Mobplacer". Nun könnt ihr auswählen, was ihr machen wollt.
Rest erklärt sich von selbst, außer: - Mob-ID's eingeben, nicht die Namen
- Setzt den Mob an die Stelle an der ihr Steht
- Der Mobremover listet nur Mobgruppen in eurer Nähe auf
- Gruppen: group.txt Values
- Random Gruppen: groupgroup.txt Values
Die Quest:
PHP Code:
quest mobplacer begin
state start begin
when login with pc.is_gm() begin
send_letter('Mobplacer')
end
when button or info begin
say('Willkommen im Mobplacer von Mijago[ENTER]Was möchtest du tun?')
local sel = select('Hinzufügen','Entfernen','Nichts')
if sel == 2 then
mobplacer.deletemob()
elseif sel == 1 then
mobplacer.mob_place()
end
send_letter('Mobplacer')
end
function mob_folder(mid)
if mid == nil then
mid = pc.get_map_index()
end
local d,e = io.open('locale/germany/map/index',"r"),{}
for line in d:lines() do
local c = split(line,' ')
if c[2] ~= nil then
e[tonumber(c[1])] = c[2]
end
end
return e[mid]
end
function mob_place(mid)
if mid == nil then
mid = pc.get_map_index()
end
say('Du möchtest ein Monster platzieren?[ENTER]Was soll platziert werden?')
say('Mapindex: '..mid..' | x: '..pc.get_local_x()..' | y: '..pc.get_local_y())
local was = select('Einzelner Mob','Gruppe','Random Gruppe','Nichts')
local art,nm = 'm','es Monster'
if was == 4 then return end
if was == 2 then
art,nm = 'g','e Gruppe'
elseif was == 3 then
art,nm = 'r','e Random Gruppe'
end
say('Welcher Mob soll platziert werden?')
say('Mapindex: '..mid..' | Ordner: '..mobplacer.mob_folder(mid)..' | x: '..pc.get_local_x()..' | y: '..pc.get_local_y())
local mob = input()
say('Sicher, dass dies'..nm..' hier gespawnt werden soll?')
if select("Ja","Nein") == 2 then return end
mobplacer.appendmob(art,mob)
say('Der Mob wurde hinzugefügt.')
end
function appendmob(art,id,mid)
local tab = ' '
if mid == nil then
mid = pc.get_map_index()
end
say('Gib die Zeit an, die zwischen dem Respawns liegen soll.[ENTER](In Sekunden)')
local respawn = input()
local appendline = art..tab..pc.get_local_x()..tab..pc.get_local_y()..tab..'10 10 0 0 '..respawn..'s 100 1 '..id
local into = io.open('locale/germany/map/'..mobplacer.mob_folder(mid)..'/regen.txt','a+')
into:write('\\n'..appendline)
into:close()
end
function deletemob()
local tab = ' '
say('Was willst du entfernen?')
local was = select('Einzelner Mob','Gruppe','Random Gruppe','Nichts')
local art,nm = 'm','Monster'
if was == 4 then return end
if was == 2 then
art,nm = 'g','Gruppe'
elseif was == 3 then
art,nm = 'r','Random Gruppe'
end
say('Auswahl treffen:')
local det,sl,mobs,inc,order = io.open('locale/germany/map/'..mobplacer.mob_folder()..'/regen.txt'),{6},{},0,{}
for line in det:lines() do
local data = split(line,tab)
inc = inc+1
order[inc] = line
if data[1] == art then
if tonumber(data[2]) > pc.get_local_x()-10 and tonumber(data[2]) < pc.get_local_x()+10 and tonumber(data[3]) > pc.get_local_y()-10 and tonumber(data[3]) < pc.get_local_y()+10 then
table.insert(sl,nm..' '..data[11]..': x'..data[2]..' y'..data[3])
table.insert(mobs,{inc,data[11]})
end
end
end
det:close()
table.insert(sl,'Abbrechen')
local sel = select2(sl)
if sl[sel] == 'Abbrechen' then return end
table.remove(order,mobs[sel][1])
local writedata = io.open('locale/germany/map/'..mobplacer.mob_folder(mid)..'/regen.txt',"w")
local appendstr = ''
table.foreach(order,function(i,l) appendstr = appendstr..'\\n'..l end)
writedata:write(appendstr)
writedata:close()
say('Monster Entfernt.')
end
end
end
Ihr müsst einige Befehle in eure quest_functions einfügen, entnehmt diese der Fehlermeldung.
zB
PHP Code:
close
io.open
lines
select2
table.remove
write
Danke an Langeweile2011 für das Testen
Benötigt natürlich meine  .
|
|
|
01/04/2012, 18:09
|
#2
|
elite*gold: 0
Join Date: Jul 2011
Posts: 60
Received Thanks: 49
|
sieht interessant aus werde es aber nicht brauchen
|
|
|
01/04/2012, 18:09
|
#3
|
elite*gold: 0
Join Date: Mar 2011
Posts: 291
Received Thanks: 73
|
Danke sowas kann ich gut gebrauchen
|
|
|
01/04/2012, 18:22
|
#4
|
elite*gold: 32
Join Date: Dec 2010
Posts: 1,294
Received Thanks: 862
|
Gut gecoded
|
|
|
01/04/2012, 18:22
|
#5
|
elite*gold: 0
Join Date: Jan 2012
Posts: 33
Received Thanks: 5
|
Danke, sehr nützlich.
|
|
|
01/04/2012, 18:35
|
#6
|
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
|
Mijago mein held  Dankeee
|
|
|
01/04/2012, 19:53
|
#7
|
elite*gold: 6
Join Date: Aug 2007
Posts: 1,082
Received Thanks: 553
|
Wie immer bestens gemacht mijo
kind regards
Dre4m
|
|
|
01/04/2012, 20:17
|
#8
|
elite*gold: 0
Join Date: Nov 2011
Posts: 478
Received Thanks: 790
|
Thix Given.
Brauchs zwar nicht, aber witzige idee...
Sauber gecodet, aber das kenn ich nicht anders von dir.
Thix Given.
Brauchs zwar nicht, aber witzige idee...
Sauber gecodet, aber das kenn ich nicht anders von dir.
|
|
|
01/04/2012, 20:18
|
#9
|
elite*gold: 100
Join Date: Sep 2009
Posts: 8,142
Received Thanks: 2,763
|
Super mijago, tolle Arbeit.
|
|
|
01/05/2012, 00:43
|
#10
|
elite*gold: 0
Join Date: Jun 2010
Posts: 1,264
Received Thanks: 2,019
|
Sieht gut aus, hatte jz nur gedacht wie du das mit den Tabs machst, wusste nicht
das man tab = ' ' machen kann bzw. functioniert
Mfg
|
|
|
01/05/2012, 14:10
|
#11
|
elite*gold: 81
Join Date: Apr 2010
Posts: 1,173
Received Thanks: 243
|
nachher erstmal testen. sieht gut aus danke.
|
|
|
01/05/2012, 14:41
|
#12
|
elite*gold: 2
Join Date: Mar 2009
Posts: 1,427
Received Thanks: 584
|
Oha sieht überragend aus, war klar das so was von dir kommt
|
|
|
01/05/2012, 16:24
|
#13
|
elite*gold: 37
Join Date: Jan 2010
Posts: 2,035
Received Thanks: 1,706
|
Dankööööööö!  Gefällt mir sehr und ich finde es sinnvoll!
|
|
|
01/06/2012, 00:29
|
#14
|
elite*gold: 500
Join Date: Oct 2008
Posts: 1,061
Received Thanks: 651
|
nach Welcher Mob soll platziert werden? kommt nix mehr bei mir normal müsste dann ja nen Feld kommen wo ich die id eintrage oder ?
edit:
der Fehler kommt dann hab ich jetzt gesehen weil ich test server gemacht hab XD
|
|
|
01/06/2012, 09:01
|
#15
|
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
|
Quote:
Originally Posted by heroe1992
nach Welcher Mob soll platziert werden? kommt nix mehr bei mir normal müsste dann ja nen Feld kommen wo ich die id eintrage oder ?
edit:
der Fehler kommt dann hab ich jetzt gesehen weil ich test server gemacht hab XD
|
Lies dir den Thread bitte nochmal genau durch, dort steht, dass du meine Questliberweiterung benötigst.
Diese musst du herunterladen und einbinden, wie im Thread beschrieben.

Diese enthält uA auch die Funktion split, die dein Server als Fehlend angibt.
|
|
|
All times are GMT +1. The time now is 15:12.
|
|