elitepvpers

elitepvpers (https://www.elitepvpers.com/forum/)
-   Metin2 Private Server (https://www.elitepvpers.com/forum/metin2-private-server/)
-   -   Items verbieten (https://www.elitepvpers.com/forum/metin2-private-server/2677172-items-verbieten.html)

Benhero 06/26/2013 21:19

Quote:

local bidItems = { 203
die 203 dort wegmachen..

Greatz Benhero

123snake123 06/26/2013 21:41

jetzt kommt kein fehler mehr aber ich werde auch nicht gekickt^^

Benhero 06/26/2013 21:46

kommt eine Chat ncahricht im Chat :D?

123snake123 06/26/2013 21:53

Also
folgendes:

Wenn ich das Item im Invi habe und mich in die Map (Index 203) porte werde ich direkt in meine map1 geportet.

Aber wenn ich mal drin bin werde ich beim benutzten nicht gekickt

Benhero 06/26/2013 21:54

Du kommst nicht rein.. das wird verboten... kicken kann ich dich nicht lassen..

Greatzt Benhero

123snake123 06/26/2013 21:57

ich reicht auch wenn ich rausgeportet wenn ich den pott benutzte

Benhero 06/26/2013 21:58

Ich kann nicht überprüfen ob du den pot benutzt.. das hatten wir alles schon...

123snake123 06/26/2013 22:01

dann muss ich den is button auf der map blockieren irgendwie

Benhero 06/26/2013 22:32

Nope.. man kann es über Timer laufen lassen.. Jede sekunde überprüft er ob das Item im inventar ist..

Greatz Benhero

123snake123 06/26/2013 22:35

blöde frage^^ wie füge ich das in der quest ein?

Benhero 06/26/2013 22:40

PHP Code:

quest forbid begin
    state start begin
        when login begin
            cleartimerI
("check_item")
            
loop_timer("check_item"1)
        
end
        when check_item
.timer begin
            local bidItems 
= {
                [
203] = {
                    
27006,
                    
                },
            }
            for 
1table.getn(bidItems[pc.get_map_index()]) do
                if 
pc.count_item(bidItems[pc.get_map_index()][i]) > 0 then
                    syschat
("Du hast ein verbotenes Item dabei.")
                    
syschat("Verbotenes Item: " ..item_name(bidItems[pc.get_map_index()]))
                    
warp_to_village()
                
end
            end
        end
    end
end 

Greatz Benhero

123snake123 06/26/2013 22:47

quest zeigt keine fehler an, aber funzt auch nicht^^

Benhero 06/26/2013 23:52

ggf so..
PHP Code:

quest forbid begin
    state start begin
        when login begin
            cleartimerI
("check_item")
            
loop_timer("check_item"1)
        
end
        when check_item
.loop_timer begin
            local bidItems 
= {
                [
203] = {
                    
27006,
                    
                },
            }
            for 
1table.getn(bidItems[pc.get_map_index()]) do
                if 
pc.count_item(bidItems[pc.get_map_index()][i]) > 0 then
                    syschat
("Du hast ein verbotenes Item dabei.")
                    
syschat("Verbotenes Item: " ..item_name(bidItems[pc.get_map_index()]))
                    
warp_to_village()
                
end
            end
        end
    end
end 

Greatz Benhero...
Doof wenn man alles aus dem FF macht xD

Noa_ 06/27/2013 06:29

Ben, du hast das index beim item_name vergessen ..[i] sonst greift er ja nur auf die tabelle

PhanToM.LorD 06/27/2013 10:20

Ich weiß jetzt nicht welche Items du noch so verbieten möchtest, aber wenns nur um Segen des Lebens geht könnte man doch die funktion ganz leicht in der quest nachbauen. Man stellt den type von Segen des Lebens auf 18 und als quest dann wenn man das item benutzt und man auf der verbotenen map(s) ist, wird man map1 geportet. Anderfalls wird abgefragt wieviel TP man gerade und insgesamt hat und bekommt dann die Differenz dazu.

Benhero 06/27/2013 12:22

Nur das man keine TP/MP/Ausdauer per quest geben kann... nur als Extra bonis..
..Danke für den Hinweis ΞΠ∪Μ
Fixxed:
PHP Code:

quest forbid begin
    state start begin
        when login begin
            cleartimerI
("check_item")
            
loop_timer("check_item"1)
        
end
        when check_item
.loop_timer begin
            local bidItems 
= {
                [
203] = {
                    
27006,
                    
                },
            }
            for 
1table.getn(bidItems[pc.get_map_index()]) do
                if 
pc.count_item(bidItems[pc.get_map_index()][i]) > 0 then
                    syschat
("Du hast ein verbotenes Item dabei.")
                    
syschat("Verbotenes Item: " ..item_name(bidItems[pc.get_map_index()][i]))
                    
warp_to_village()
                
end
            end
        end
    end
end 

Greatz Benhero

PhanToM.LorD 06/27/2013 14:24

Hm stimmt du hast Recht ich dachte das würde gehen...dann ist deine Lösung natürlich am besten.

Benhero 06/27/2013 14:50

Am besten?.. nein :/ über game wäre besser.. Aber dazu bin ich leider nicht in der lage

Greatz Benhero

123snake123 06/27/2013 18:35

hmm also ich danke dir vielmals, aber es geht immer noch nicht, ich habe den blauen Trank im Inventar und werde nicht gekickt.

Ich möchte nicht nur Segen des Lebens verbieten, sondern auch Rassen Pott´s wie z.B. 1000% sark gegen Ninja.

Also es funktioniert nur zum Teil^^, wenn ich auf der Map bin, erstelle ich das Item 27006 mache einen relog und dann werde ich erst in Dorf geportet.

Benhero 06/27/2013 19:40

Du wirst nicht gekickt?.. wie oft muss ich das noch sagen.. ._.
Poste im Notfall die Quest..
Greatz Benhero

123snake123 06/27/2013 20:06

ach mann!!!^^
Tut mir leid Ben^^ ich mit gekickt meine ich geportet mein Fehler also es funktioniert nur zum Teil^^, wenn ich auf der Map bin, erstelle ich das Item 27006 mache einen relog und dann werde ich erst in Dorf geportet.

Die Quest ist genau wie die von dir in Beitrag 56.

Sry das ich so verwirrt bin^^

nostradame37 06/27/2013 20:11

Quote:

Originally Posted by ΞΠ∪Μ (Post 23438376)
ich würde da Python bevorzugen. Das mit dem Clienten sichern ist nicht so wichtig denn die meisten die metin2 spiele haben eh keine Ahnung von Python oder vom entpacken.
In Python kann man es so macht das wenn man mit der Maus über das Item geht die Rechtsklick Funktion deaktiviert wird, nur solange man mit der Maus über das Item ist wenn nicht dann sollte es gehen, ich selber habe keine Ahnung wie man sowas schreibt aber bin mir ziemlich sicher das es geht.

@MrPlayboy deine quest ist bissel fail

was ist wen man einen anderen clienten benutzt?? also bitte denkt ma nach wen der TE anfrage aufs verbieten macht dan gibts denke ich auch einen grund..

Benhero 06/27/2013 20:29

PHP Code:

quest forbid begin
    state start begin
        when login begin
            cleartimer
("check_item")
            
loop_timer("check_item"1)
        
end
        when check_item
.loop_timer begin
            local bidItems 
= {
                [
203] = {
                    
27006,
                    
                },
            }
            for 
1table.getn(bidItems[pc.get_map_index()]) do
                if 
pc.count_item(bidItems[pc.get_map_index()][i]) > 0 then
                    syschat
("Du hast ein verbotenes Item dabei.")
                    
syschat("Verbotenes Item: " ..item_name(bidItems[pc.get_map_index()][i]))
                    
warp_to_village()
                
end
            end
        end
    end
end 

Greatz Benhero

123snake123 06/27/2013 21:28

Ist noch genauso wie eben


Mfg

123snake123 06/28/2013 21:34

Es funzt immer noch nicht wirklich, vieleicht weiß ein andrer ja weiter.

Aber Ben du bist auch noch eingeladen mit zuhlefen/rärseln^^

Mfg

Noa_ 06/29/2013 06:49

Quote:

Originally Posted by 123snake123 (Post 23532358)
Es funzt immer noch nicht wirklich, vieleicht weiß ein andrer ja weiter.

Aber Ben du bist auch noch eingeladen mit zuhlefen/rärseln^^

Mfg

also ich weis nicht was bei dir die quest so alles können muss aber bei mir tut sie das was sie machen soll.
hier ein einblick in lua.
PHP Code:

function syschat(val)
    print(
val)
end
local bidItems 
= {
    [
203] = {
        
27006,
    },
}
function 
item_name(vnum)
    
local items= {
    [
27006]="Blauer Trank(G)",
    }
    return 
items[vnum]
end
pc
={
    [
'inventar']={
    [
27006]=5,
    },
    
get_map_index=function()
        return 
203
    end
,
    
count_item=function(vnum)
        for 
_,i in next,pc.inventar do
            return 
pc.inventar[vnum]
        
end
    end
,
}
for 
i=1,table.getn(bidItems[pc.get_map_index()]) do
    if 
pc.count_item(bidItems[pc.get_map_index()][i])>0 then
        syschat
("Du hast ein verbotenes Item dabei.")
        
syschat("Verbotenes Item: " ..item_name(bidItems[pc.get_map_index()][i]))
    
end
end 

habe hierbei versucht die Funktionen so ähnlich wie in metin2 zu schreiben.

Gibt das in einem lua editor ein und du wirst als output das hier bekommen.
PHP Code:

Du hast ein verbotenes Item dabei.
Verbotenes ItemBlauer Trank(G

screen: [Only registered and activated users can see links. Click Here To Register...]

Hast du ein Gm Server oder wieso denkst du das die Spieler sich Items erstelle können, die Quest kann eigentlich nur fail gehen wenn du ingame "reload q" eingibst, dabei werden die Schleifen unterbrochen und du musst sie nochmal starten(starten wie ? richtig neu einloggen (habe ich abermals getestet)), ansonsten sollte die quest ohne Unterbrechung weiterlaufen, wenn vorher kein "reload q" eingegeben wurde.

EisTee, 06/29/2013 09:23

Sollte dein Problem weiter hin bestehen "PN" mich

123snake123 06/30/2013 13:18

Quote:

PHP Code:

function syschat(val
    print(
val
end 
local bidItems 
= { 
    [
203] = { 
        
27006
    }, 

function 
item_name(vnum
    
local items= { 
    [
27006]="Blauer Trank(G)"
    } 
    return 
items[vnum
end 
pc
={ 
    [
'inventar']={ 
    [
27006]=5
    }, 
    
get_map_index=function() 
        return 
203 
    end

    
count_item=function(vnum
        for 
_,i in next,pc.inventar do 
            return 
pc.inventar[vnum
        
end 
    end


for 
i=1,table.getn(bidItems[pc.get_map_index()]) do 
    if 
pc.count_item(bidItems[pc.get_map_index()][i])>0 then 
        syschat
("Du hast ein verbotenes Item dabei."
        
syschat("Verbotenes Item: " ..item_name(bidItems[pc.get_map_index()][i])) 
    
end 
end 


und was schrreibe ich über die Quest?

Die Quest fängt ja nicht mit "function", sry aber bin noch ein absoluter neuling^^

Noa_ 06/30/2013 23:57

was ich geschrieben habe hat nicht viel mit dem questen zu tun, ich habe nur par Funktionen nachgebaut und laut Output & Screen sieht man das Benheros quest funktioniert.

123snake123 07/01/2013 00:11

Hm ja nur bei mir funzt sie halt nicht^^.
Wenn ich in der Map stehe und mir einen Blauen Pott aus dem Lager hole, werde ich nicht gekickt, also kann man diese Quest umgehen.

Hawkk 07/01/2013 00:14

Quote:

Originally Posted by 123snake123 (Post 23436881)
Das ist doch mein Problem das ich nicht weiß wie ich das schreibe

Es gibt ein Thread, da kannst du es nach gucken oder dein Problem rein schreiben.

123snake123 07/01/2013 00:15

genau in dem Thread wo so viele ignoriert(vergessen) werden

123snake123 07/02/2013 19:53

Hat denn immer noch keiner eine Lösung

Azuko 07/02/2013 20:43

Schreib einfach in die Gk quest das die items aus dem iventar entfernt werden ?^^ :D

123snake123 07/02/2013 21:41

Das ist nicht mein Problem, es gibt ja das Item Shop Lager im Inventar, da kann man sich neue Segen aus dem IS holen

123snake123 07/03/2013 21:45

Habe immer noch keine Lösung....

123snake123 07/06/2013 23:39

Hab immer noch Probleme mit der Quest

Noa_ 07/06/2013 23:51

dann kauf dir eine >,> wenn keiner seit dem "06-23-2013, 10:33" helfen konnte wird es keiner freiwillig tun.

123snake123 07/07/2013 22:13

Vieleicht findet sich ja einer der mir helfen kann

EisTee, 07/07/2013 22:19

Quote:

Originally Posted by EisTee, (Post 23537675)
Sollte dein Problem weiter hin bestehen "PN" mich

...


All times are GMT +2. The time now is 03:31.

Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.