[WB, Kod, 1.153] Anti-Hile Sistemi

Users who are viewing this thread

Pumpkin Lord

Selamlar Forge'un Türkiye Şubesi,

Kendi projem için hazırlamaya başladığım sistemi burada paylaşıyorum, en azından bu kısmını OSP olarak paylaşacam. Warband'da şu anda varolan bütün hileleri tek tek değişik yollarla devre dışı bırakacam, çok zorlu bir oyun anlayışı hedefleyen modların çok işine yarayacak türden bir sistem olduğunu düşünüyorum.


Bu konuyu düzenli olarak güncelleyecem ta ki bütün hilelere bir çare bulana kadar.


Devre dışı bırakmayı başardığım hileler

Hile: Herhangi bir savaşta herhangi bir düşmanı öldürebilme.
Çözüm: Artık düşmanın daha ilki ölmeden oyuncu kendisi ölüyor.

Code:
common_anti_cheat_kill = (
	0,0,0,
	[       (this_or_next|key_is_down, key_right_control),
		(key_is_down, key_left_control),
                (key_clicked, key_f4),
		],
	[       (get_player_agent_no, ":playeragent"),
			 (agent_is_alive,":playeragent"),
			 (display_message, "@Cheating is bad, ya know."),	 
			 (try_begin),
				 (store_agent_hit_points,":hp",":playeragent",1),
				 (val_sub,":hp",100),
				 (try_begin),
					 (le, ":hp", 0),
					 (agent_set_hit_points,":playeragent",0,0),
				 (try_end),				
				 (play_sound,"snd_man_die"),
				 (agent_deliver_damage_to_agent,":playeragent",":playeragent"),
                                 (finish_mission), 
			(try_end),
		 (try_end),
		]
 )

Hile: Can doldurma.
Çözüm: Oyuncu hileyi kullanır kullanmaz ölüyor.

Code:
common_anti_cheat_heal = (
	0,0,0,
	[       (this_or_next|key_is_down, key_right_control),
		(key_is_down, key_left_control),
                (key_clicked, key_h),
		],
	[       (get_player_agent_no, ":playeragent"),
			 (agent_is_alive,":playeragent"),
			 (display_message, "@Cheating is bad, ya know."),	 
			 (try_begin),
				 (store_agent_hit_points,":hp",":playeragent",1),
				 (val_sub,":hp",100),
				 (try_begin),
					 (le, ":hp", 0),
					 (agent_set_hit_points,":playeragent",0,0),
				 (try_end),				
				 (play_sound,"snd_man_die"),
				 (agent_deliver_damage_to_agent,":playeragent",":playeragent"), 
                                 (finish_mission),
			(try_end),
		 (try_end),
		]
 )

Saygılarımla,
 
Devamını bekleriz. Düşman bayıltma hilesinde karakterin ölmesi yerine sadece hileyi devredışı bırakamaz mıyız?
 
Oyun başladığın çalışmaya başlayan "game_script" 'te (assign, hilemodu, 0) gibi birşeyle, hile açık olsa bile çalışmazlar. Ama amacım o da değil, modculara istedikleri hileleri tutup istediklerini devre dışı bırakma fırsatı vermek.

Var olan iki kod güncellendi.
 
İşime yarayacak gibi, peki mesela can basmaya kalkarken ölmesi yerine hiçbirşeyin olmamasını sağlayabiliyor muyuz?
 
Matador43 said:
Caliph düzeltti. İki kodu karşılaştırdım, galiba tüm hilelerde kullanılabilir.

Hayır, öyle calismiyor. Diğer hilelere tek tek bir sistem yazıyorum ve hepsi farklı sekilde önlendi.
 
Sen daha iyi bilirsin belendor. Ama en iyisi karakterin ölmesi değilde sadece hileyi devre dışı bıraksak iyi olur.
 
Back
Top Bottom