|
You last visited: Today at 10:32
Advertisement
[Lua-Funktion] pc.warp_to_pc
Discussion on [Lua-Funktion] pc.warp_to_pc within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
03/24/2012, 17:34
|
#1
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
[Lua-Funktion] pc.warp_to_pc
Hi, liebe Community.
Ich hatte mal wieder langweile, deshalb habe ich mir die Funktion "pc.warp_to_pc" erstellt.
Wer's nüztlich findet kann mir ja ein Thanks dalassen  .
So, das muss in die "questlib.lua":
Code:
pc.warp_to_pc = function(name)
if name == pc.get_name() then
return -1
end
local vid = find_pc_by_name(name)
if vid == 0 then
return -2
end
local pc_is_gm = pc.is_gm()
local s = pc.select(vid)
if pc.is_gm() and not is_test_server() and not pc_is_gm then
pc.select(s)
return -3
end
local pc_x = pc.get_x()
local pc_y = pc.get_y()
pc.select(s)
local target_x = pc_x*100
local target_y = (pc_y-2)*100
test_chat(target_x..target_y)
pc.warp(target_x, target_y)
return 0
end
pc.transfer = function(name)
if name == pc.get_name() then
return -1
end
local vid = find_pc_by_name(name)
if vid == 0 then
return -2
end
local pc_is_gm = pc.is_gm()
local pc_x = pc.get_x()
local pc_y = pc.get_y()
local s = pc.select(vid)
if pc.is_gm() and not is_test_server() and not pc_is_gm then
pc.select(s)
return -3
end
local target_x = pc_x*100
local target_y = (pc_y-2)*100
test_chat(target_x..target_y)
pc.warp(target_x, target_y)
pc.select(s)
return 0
end
game.transfer_pc_to_pc = function(name1, name2)
if name1 == name2 then
return -1
end
local vid
local s
local pc_name = pc.get_name()
if name2 != pc_name then
vid = find_pc_by_name(name2)
if vid == 0 then
return -2
end
s = pc.select(vid)
end
local pc_x = pc.get_x()
local pc_y = pc.get_y()
if name1 == pc_name then
pc.select(s)
else
vid = find_pc_by_name(name1)
if vid == 0 then
if name2 != pc_name then
pc.select(s)
end
return -3
end
if name2 == pc_name then
s = pc.select(vid)
else
pc.select(vid)
end
end
local target_x = pc_x*100
local target_y = (pc_y-2)*100
test_chat(target_x..target_y)
pc.warp(target_x, target_y)
if name1 != pc_name then
pc.select(s)
end
return 0
end
--Zusatz
function say_item_name(vnum) say_title(item_name(vnum or item.get_vnum())..":") end
function say_npc_name(vnum) say_title(mob_name(vnum or npc.get_race())..":") end
Das in "quest_functions":
Code:
pc.warp_to_pc
pc.transfer
game.transfer_pc_to_pc
say_item_name
say_npc_name
Und um die Funktionen zu benutzen:
Code:
say_item_name()
say("Zu wem wollen Sie sich teleportieren?[ENTER]")
local name = input()
if name != "" then
say_item_name()
say("Achtung, ich teleportiere dich jetzt.[ENTER]")
wait()
--pc.teleport(name)
pc.warp_to_pc(name)
end
Code:
say_item_name()
say("Wer soll teleportiert werden?[ENTER]")
local name = input()
if name != "" then
say_item_name()
say("Achtung, ich teleportiere jetzt.[ENTER]")
wait()
pc.transfer(name)
end
Code:
say_item_name()
say("Wer soll teleportiert werden?[ENTER]")
local name1 = input()
if name1 != "" then
say_item_name()
say("Zu wem soll er teleportiert werden?[ENTER]")
local name2 = input()
if name2 != "" then
say_item_name()
say("Achtung, ich teleportiere jetzt.[ENTER]")
wait()
game.transfer_pc_to_pc(name1, name2)
end
end
Naja, wenn ihr möchtet, dann könnt ihr euch auch so eine "pc.transfer" Funktion oder so machen.
|
|
|
03/24/2012, 17:39
|
#2
|
elite*gold: 31
Join Date: Mar 2010
Posts: 1,440
Received Thanks: 752
|
sieht gut aus ;D
danke ^^
|
|
|
03/24/2012, 18:04
|
#3
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
Soll ja auch gut aussehen  .
PS: Hab' ein paar Sachen verbessert xD
|
|
|
03/24/2012, 18:06
|
#4
|
elite*gold: 1862
Join Date: Jan 2009
Posts: 3,725
Received Thanks: 7,671
|
Danke an YMIR für die "find_pc_by_name(name)" Funktion
|
|
|
03/24/2012, 18:38
|
#5
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
Quote:
Originally Posted by IgorGlock
Danke an YMIR für die "find_pc_by_name(name)" Funktion 
|
Ja  .
So, eine neue Funktion hinzugefügt - Ich aber werde es der Sicherheit halber komplizierter machen  .
|
|
|
03/24/2012, 19:57
|
#6
|
elite*gold: 5
Join Date: Oct 2010
Posts: 1,692
Received Thanks: 1,772
|
PHP Code:
local name = input()
pc.teleport(name)
Sowas würde auch gehen.
|
|
|
03/24/2012, 20:18
|
#7
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
Ja, aber mit dem Grundgerüst meiner Funktion kann man auch gleich eine "transfer"-Funktion und was weiß ich nicht erstellen, außerdem habe ich die andere noch nicht getestet.
Quote:
Originally Posted by DasKuchen
PHP Code:
local name = input() pc.teleport(name)
Sowas würde auch gehen.
|
Ich habe sie gerade ausprobiert. Das Resultat ist, dass ich direkt in die Spieler hineingeportet werde... Naja, da finde ich meine anpassbare Funktion besser  .
|
|
|
03/24/2012, 22:19
|
#8
|
elite*gold: 0
Join Date: Jan 2012
Posts: 35
Received Thanks: 1
|
Danke
|
|
|
03/24/2012, 22:42
|
#9
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
Kein Problem ^^
So, wieder ein neues Update draußen :P.
|
|
|
03/25/2012, 10:21
|
#10
|
elite*gold: 0
Join Date: Jan 2012
Posts: 35
Received Thanks: 1
|
The pc.transfer(name) function looklike the pc.warp_to_pc(name)
|
|
|
03/25/2012, 11:54
|
#11
|
elite*gold: 0
Join Date: Oct 2010
Posts: 73
Received Thanks: 2
|
Gibt's bereits von Mijago in der Questlib und ist auch kein einzelner Thread wert..
|
|
|
03/25/2012, 16:25
|
#12
|
elite*gold: 0
Join Date: Jan 2011
Posts: 1,297
Received Thanks: 1,295
|
Ich habe sie mal einsatz bereit gemacht
PHP Code:
quest tele begin
state start begin
when login begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Teleportation zu Spielern")
end
when button or info begin
say_item_name()
say("Zu wem wollen Sie sich teleportieren?[ENTER]")
local name = input()
if name != "" then
say_item_name()
say("Achtung, ich teleportiere dich jetzt.[ENTER]")
wait()
--pc.teleport(name)
pc.warp_to_pc(name)
end
end
end
end
|
|
|
03/25/2012, 21:10
|
#13
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
Quote:
Originally Posted by .Sippel
Ich habe sie mal einsatz bereit gemacht
PHP Code:
quest tele begin
state start begin
when login begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Teleportation zu Spielern")
end
when button or info begin
say_item_name()
say("Zu wem wollen Sie sich teleportieren?[ENTER]")
local name = input()
if name != "" then
say_item_name()
say("Achtung, ich teleportiere dich jetzt.[ENTER]")
wait()
--pc.teleport(name)
pc.warp_to_pc(name)
end
end
end
end
|
Nice, aber wenn du kein Item, sondern einen Brief benutzt, kannste dir das "say_item_name()" eigt. sparen  .
Quote:
Originally Posted by Tofus
Gibt's bereits von Mijago in der Questlib und ist auch kein einzelner Thread wert..
|
Also, wie ich meine Funktionen pub. gemacht hatte habe ich die Funktionen "pc.warp_to(vid)" und "pc.trans(vid)" noch nicht gesehen, außerdem beziehe ich mich auf musics und nicht Mijagos Kenntnisse (ja "control.quest" ist geil xD). Naja, habe auch noch ein paar extra Funktionen drinne, die Mijago nicht hat, aber wenn ihr meine Funktionen nicht wollt, dann kann ich meinen Thread ja löschen  .
|
|
|
03/25/2012, 21:14
|
#14
|
elite*gold: 0
Join Date: Jun 2010
Posts: 1,264
Received Thanks: 2,019
|
Du könntest noch die Errors in die Quest miteinbinden.
Z.b. wenn er -1,-2 oder sonstiges returned.
Ansonnsten ist es gut aufgebaut.
Mfg
|
|
|
03/25/2012, 21:17
|
#15
|
elite*gold: 31
Join Date: May 2009
Posts: 2,011
Received Thanks: 1,389
|
Quote:
Originally Posted by Yoshix3
Du könntest noch die Errors in die Quest miteinbinden.
Z.b. wenn er -1,-2 oder sonstiges returned.
Ansonnsten ist es gut aufgebaut.
Mfg
|
Wollte ich ja eigt. tuen, da ich auf IO- oder Chat-Funktionen in Metin2 verzichten wollte, aber dann kam mir das mit den Return-Werten etwas falsch vor... Naja, wer will kann es mit Return-Werten machen  .
|
|
|
 |
Similar Threads
|
Hilfe bei Send Funktion mit Stop Funktion
04/02/2011 - AutoIt - 11 Replies
Hallo Elitepvpers
ich habe ein Problem und Mein Problem ist das mein Text einfach weiter schreibt wenn ich mit HotKey verwende... gib es keine Funktion das der Text einmal kommt und nicht wenn man einmal die HotKey das er 10 min das selbe schreibt :confused:
|
Udo bot gg-funktion
02/13/2011 - elite*gold Trading - 4 Replies
Hallo Leute darkorbitfreaks und fans^^!
Hab ne frage und zwar wollte ich wissen ob es irgendwann im UDO bot ne gg funktion geben wird...???
Danke im Vorraus
GG bot: :handsdown::handsdown::handsdown:
|
D3D Funktion
12/28/2010 - WarRock Hacks, Bots, Cheats & Exploits - 5 Replies
No Fog:
if (nofog)
{
m_pD3Ddev->SetRenderState(D3DRS_FOGENABLE, false);
}
WireFrame:
if (m_Stride == 44)
m_pD3Ddev->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
}
|
[C++]Funktion einer Klasse in einer anderen Funktion der Klasse verwenden, aber wie?
07/25/2010 - C/C++ - 3 Replies
Mein Problem ist eigentlich recht simpel und die Lösung wahrscheinlich auch.
Da ich bisher fast 0 mit Klassen am Hut hatte, wollte ich mich doch mit dem Thema anfreunden und hatte gleich angefangen:
int test::Funktion2()
{
int temp;
cin>>temp;
return temp;
}
|
Mob Log Funktion!
11/03/2008 - Metin2 - 7 Replies
Hi Leute,
habe eine wichtige Frage. Wieso werde ich immer nach 1mal aura oder 1mal sk gekickt? Ihc werde sowohl bei hoher serverauslastung als auch bei niedriger gekickt
ennt einer einen Tipp wie ich kicks umgehen kann???:confused:
|
All times are GMT +1. The time now is 10:32.
|
|