|
You last visited: Today at 16:06
Advertisement
Unendliche Schleife
Discussion on Unendliche Schleife within the Metin2 Private Server forum part of the Metin2 category.
12/10/2013, 20:26
|
#1
|
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
|
Unendliche Schleife
Hey
ich suche schon seit stunden und bin am probieren eine unendliche Schleife in meine Quest einzubauen.
Code:
quest p2 begin
state start begin
when login begin
if pc.get_map_index() == 21 and pc.count_item("27006") >= 1 then
syschat("___")
warp_to_village()
return
end
end
end
end
Der if "Block" soll alle 1-2 Sekunden wiederholt werden.
Wäre auch dankbar für kleine Tipps die mir beim nachdenken wieterhelfen^^
Mfg
|
|
|
12/10/2013, 20:42
|
#2
|
elite*gold: 0
Join Date: Dec 2007
Posts: 61
Received Thanks: 18
|
wozu soll das gut sein? wenn ich den map index wechsel zählt das als login und dann wird ey neu geprüft?
|
|
|
12/10/2013, 20:47
|
#3
|
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
|
Aber aber auf einem andren map index ich kann´s auch so schreiben
PHP Code:
quest p2 begin state start begin when login with pc.get_map_index() == 21 begin if pc.count_item("27006") >= 1 then syschat("___") warp_to_village() return end end end end
|
|
|
12/10/2013, 20:49
|
#4
|
elite*gold: 0
Join Date: Oct 2013
Posts: 194
Received Thanks: 83
|
guck dir mal nen loop_timer an, der macht das was du suchst.
|
|
|
12/10/2013, 21:01
|
#5
|
elite*gold: 35
Join Date: Feb 2012
Posts: 1,965
Received Thanks: 1,632
|
Ich kenne mich jetzt nicht so gut mit LUA aus, aber es gibt doch bestimmt soetwas wie eine Until-Schleife?
|
|
|
12/10/2013, 21:04
|
#6
|
elite*gold: 0
Join Date: Jan 2011
Posts: 1,296
Received Thanks: 1,295
|
So sollte es klappen
PHP Code:
quest p2 begin state start begin when login begin loop_timer("backport", 1) end when backport.timer begin if pc.get_map_index() == 21 and pc.count_item(27006) >= 1 then syschat("___") warp_to_village() clear_timer("backport") return end end end end
|
|
|
12/10/2013, 21:15
|
#7
|
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
|
Habe zwar nix gelernt dabei aber es funzt danke^^
Nur ein Problem
Der befehl clear_timer("backport") wir von putty nicht erkannt, habe ihn aus der quest entfernt und jetzt funzt sie.
ISt das schlimm wenn der Befehl da nicht drin ist?
|
|
|
12/10/2013, 21:23
|
#8
|
elite*gold: 0
Join Date: Jan 2011
Posts: 1,296
Received Thanks: 1,295
|
Quote:
Originally Posted by 123snake123
Habe zwar nix gelernt dabei aber es funzt danke^^
Nur ein Problem
Der befehl clear_timer("backport") wir von putty nicht erkannt, habe ihn aus der quest entfernt und jetzt funzt sie.
ISt das schlimm wenn der Befehl da nicht drin ist?
|
Also zum lernen :
Beim Login
PHP Code:
when login begin
wird ein timer gesetzt
PHP Code:
timer("backport")
Das ist kein gewöhnlicher timer sondern ein Loop_timer deuts. Wiederholung_timer , dieser hat den Intervall 1
PHP Code:
loop_timer("backport",1)
Bedeutet das sobald man sich einloggt
PHP Code:
when login begin
startet die Quest den loop_timer backport mit dem Intervall 1
PHP Code:
loop_timer("backport",1)
Jetzt müssen wir noch sagen was passieren soll , wenn der Intervall von 1 "abgelaufen ist".
PHP Code:
when backport.timer begin
Den Rest solltest du eigt. selbst Wissen If-Abfrage etc...
Zu 2.
clear_timer("backport") solltest du eigt. drinn lassen , da das dafür zuständig ist das der Loop_timer Namens Backport gestoppt wird. Dieser hat ja einen Intervall von 1 und wird somit jede Sekunde ausgefürt = Jede Sekunde eine If-Abfrage = Unötige Server Belastung.
|
|
|
12/10/2013, 21:29
|
#9
|
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
|
dann funzt die quest aber nicht bei mir^^
was kann ich den dagegen tun?
|
|
|
12/10/2013, 21:30
|
#10
|
elite*gold: 0
Join Date: Jan 2011
Posts: 1,296
Received Thanks: 1,295
|
Add mich in Skype : xxxrezaxxx25
|
|
|
12/10/2013, 21:37
|
#11
|
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
|
Habe es bei mir in den functions ist der clear_timer so : cleartimer^^
jetzt geht es danke schön
ich habe ca. 15 Items zu verbieten, wenn ich da immer eingebe or pc.count_item......
wird das ja ewig lang, da gibt`s doch was um das kürzer zu machen.
Geht das mit ner Tabelle?
|
|
|
12/10/2013, 21:38
|
#12
|
elite*gold: 0
Join Date: Oct 2013
Posts: 194
Received Thanks: 83
|
der looptimer ist keine belastung fuer den server, den kannste auch auf 0.01 stelle :-|
|
|
|
12/10/2013, 21:41
|
#13
|
elite*gold: 0
Join Date: Jan 2011
Posts: 1,296
Received Thanks: 1,295
|
Quote:
Originally Posted by 123snake123
Habe es bei mir in den functions ist der clear_timer so : cleartimer^^
jetzt geht es danke schön
ich habe ca. 15 Items zu verbieten, wenn ich da immer eingebe or pc.count_item......
wird das ja ewig lang, da gibt`s doch was um das kürzer zu machen.
Geht das mit ner Tabelle?
|
Mit einer Tabelle oder einfach
PHP Code:
if pc.get_map_index() == 21 and pc.count_item(27006) >= 1 or pc.count_item(2) >= 1 or pc.count_item(3) >= 1 then
Quote:
Originally Posted by .ProjektX²
der looptimer ist keine belastung fuer den server, den kannste auch auf 0.01 stelle :-|
|
Kann sein aber trotzdem schöner so zu schreiben
|
|
|
|
Similar Threads
|
Fehler suche (Anfangsprogramm) If schleife in einer If-Schleife
10/16/2013 - .NET Languages - 8 Replies
Wie mache ich eine If-Schleife in einer if-schleife?
Danke^^
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
|
Quest-> Schleife in einer Schleife?
04/15/2013 - Metin2 Private Server - 3 Replies
Hallo Community,
ist es möglich in einer bestehenden Schleife eine weitere einzufügen die unabhängig von der 1. schleife agiert?
|
10 mal Schleife, dann 5 Sekunden Pause, dann wieder 10 mal Schleife, ...
05/06/2012 - AutoIt - 6 Replies
Hallo,
wie mache ich es, dass nach 10 Mal Schleife einmal Sleep (5000) gemacht wird?
Danach soll die Schleife wieder aufgenommen werden.
LG
Zottel
|
while-schleife cast x | schleife ende cast y
07/26/2010 - Diablo 2 Programming - 6 Replies
ich kann nicht einschlafen und versuche gerade halbwach herauszufinden, wie ich den bot etwas casten lassen kann, um ihn anschließend nach 10-15 casts etwas anderes casten zu lassen.
if(NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100)
{
if((target.name == "Pindleskin") && NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100)
{
var i =0;
while(i<15)
{
return NTC_CastSkill(106, NTC_HAND_LEFT, target);
i++;
|
All times are GMT +2. The time now is 16:06.
|
|