Register for your free account! | Forgot your password?

You last visited: Today at 10:39

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

Advertisement



2 Fragen

Discussion on 2 Fragen 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
2 Fragen

1. Ich suche einen Spamschutz damit nicht jeder in Map1 5 hintereinander das selbe schreiben kann.

2. Möchte bei einer PvP dropQuest verhindern das man seine eigenen chars hinstellt und killt um die items zu droppen.
Kann ich das per Quest abfragen das nur die Spieler Items droppen mit unterschielder Ip?
123snake123 is offline  
Old 12/02/2013, 19:55   #2
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Konnte mir die fragen noch nicht beantworten, kann das einer von euch???^^
123snake123 is offline  
Old 12/02/2013, 20:42   #3
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
1. Du suchst in der uichat.py (root) nach
Code:
class ChatLine
und wenige Zeilen darunter befindet sich der Code
Code:
	def __init__(self):
Unter diese Zeile schreibst du nun (in eine neue Zeile)
Code:
		self.spamBlockText = ["", "", "", "", ""]
Jetzt suchst du nach
Code:
	def __SendChatPacket(self, text, type):
über diese Zeile fügst du folgenden Code ein:
Code:
	def CheckSpamBlock(self, text):
		for i in xrange(len(self.spamBlockText)):
			if self.spamBlockText[i] != text:
				self.spamBlockText[i] = text
				return FALSE
		return TRUE
und unter die SendChatPacket-Zeile fügst du diesen Code ein:
Code:
		if self.CheckSpamBlock(text):
			return
Untested, aber sollte funktionieren, falls nicht schreib den syserr-Eintrag hier rein.

2. Ja kann man machen - allerdings ginge das performant nur per Game, per quest (unperformant) ginge es so (einfach an Anfang des Events [when-blocks] einfügen):
Code:
local old = pc.select(npc.get_vid())
if old then
	local npc_ip = mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1]
	pc.select(old)
	if npc_ip == mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1] then
		return
	end
else
	return
end
Kind Regards
.HC'Destrox is offline  
Thanks
1 User
Old 12/02/2013, 21:22   #4
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Er zeigt mir den fehler an "Calls undeclared function npc.get_vid"

Aber in meinem functions ist der code eingetragen
123snake123 is offline  
Old 12/02/2013, 21:34   #5
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
Welche game hast du (2089M oder 34k)?

€dit: Der Fehler kommt beim Ausführen der make.sh / make.py oder ? Dann fehlt es in den quest_functions, bist du dir sicher, dass du eine Zeile mit nur npc.get_vid hast - ohne (), ohn irgwas?

Kind Regards
.HC'Destrox is offline  
Thanks
1 User
Old 12/02/2013, 21:46   #6
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
ups habe pc statt npc eingeben, danke, muss nur noch schauen ob es funzt dazu brauche ich ne fremde ip aber das bekomm ich hin.

Kann ich da noch ne lv begrenzung einbauen das man z.b nur was droppt wenn der Level unterschied max. 10 Level beträgt?
123snake123 is offline  
Old 12/03/2013, 16:54   #7
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
Code:
local old = pc.select(npc.get_vid())
if old then
	local npc_ip = mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1]
	pc.select(old)
	if npc_ip == mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1] then
		return
	end
else
	return
end
zu
Code:
local old = pc.select(npc.get_vid())
if old then
	local npc_ip = mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1]
	local npc_level = pc.get_level()
	pc.select(old)
	if npc_ip == mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1] or npc_level+10 < pc.get_level() then
		return
	end
else
	return
end
Kind Regards
.HC'Destrox is offline  
Thanks
1 User
Old 12/05/2013, 19:11   #8
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Die Quest funzt so nicht, wenn ich Zeile 6-13 rausnehme gehts sie einwandfrei.

Hier mal die Quest
PHP Code:
quest p1 begin   
     state start begin    
        when kill with npc
.is_pc() and pc.get_map_index()==41 and pc.get_level() >=10 begin 
        

            local old 
pc.select(npc.get_vid())
            if 
old then
                local npc_ip 
mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1]
                
local npc_level pc.get_level()
                
pc.select(old)
                if 
npc_ip == mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1] or npc_level+10 pc.get_level() then
                    
return
                
end
            
        
                local a
=number(1,6)
                if        
a==1 then
                    game
.drop_item_with_ownership("27006"1)
                
                elseif 
a==2 then
                    game
.drop_item_with_ownership("50512"1)
                
                elseif 
a==3 then
                game
.drop_item_with_ownership("50017"1)
                
                elseif 
a==4 then
                game
.drop_item_with_ownership("50018"1)
                
                elseif 
a==5 then
                    game
.drop_item_with_ownership("50019"1)
                
                elseif 
a==6 then
                    game
.drop_item_with_ownership("50020"1)
                
end
            
else
                return
            
end
                
        end            
    end 
end 
123snake123 is offline  
Old 12/05/2013, 19:42   #9
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
Code:
quest p1 begin   
     state start begin    
        when kill with npc.is_pc() and pc.get_map_index()==41 and pc.get_level() >=10 begin 
        

			syschat("Log1")
            local old = pc.select(npc.get_vid())
            if old then
                local npc_ip = mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1]
                local npc_level = pc.get_level()
                pc.select(old)
				syschat("Log2")
                if npc_ip == mysql_query("SELECT ip FROM player.player WHERE id='"..pc.get_player_id().."'")[1][1] or npc_level+10 < pc.get_level() then
					syschat("Fail2")
                    return
                end
				syschat("Log3")
            
        
                local a=number(1,6)
                if        a==1 then
                    game.drop_item_with_ownership("27006", 1)
                
                elseif a==2 then
                    game.drop_item_with_ownership("50512", 1)
                
                elseif a==3 then
                game.drop_item_with_ownership("50017", 1)
                
                elseif a==4 then
                game.drop_item_with_ownership("50018", 1)
                
                elseif a==5 then
                    game.drop_item_with_ownership("50019", 1)
                
                elseif a==6 then
                    game.drop_item_with_ownership("50020", 1)
                end
            else
				syschat("Fail1")
                return
            end
                
        end            
    end 
end
Guck ma welche Chat-Ausgaben kommen.

Kind Regards
.HC'Destrox is offline  
Thanks
1 User
Old 12/05/2013, 20:22   #10
 
123snake123's Avatar
 
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
Hmm ich weiß nicht wieso aber jetzt funzt die quest^^

Daaaaaaaaaaaaanke
123snake123 is offline  
Reply


Similar Threads Similar Threads
xBox 360 .. Fragen Fragen und nochmal Fragen !
01/05/2011 - Consoles - 12 Replies
^Tach elitepvpers.... Also ich hab ne xBox 360 (was glaube ich viele haben^^) 1.Frage : Wie findet ihr (die mit der xBox306) das neue Uptade 2.Frage : Was ist euer lieblingsspiel??? 1.Antwort^^: Update sieht eig. ganz gut aus ...Trotzdem is das orginal am besten ^^



All times are GMT +1. The time now is 10:40.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.