Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Gość

Rekomendowane odpowiedzi

Opublikowano

Witajcie! Na początku testu 9.2, na FTR natknąłem się na moda, który pozwala wczytać dowolną mapę, a następnie obserwować ją:

http://ftr.wot-news.com/2014/07/14/offline-map-viewer/

Autorem moda jest s0me0ne, jakiś Rosjanin, nie ja.

W każdym razie niedawno zainstalowałem go i sprawdziłem czy działa; działał, ale niestety jego obsługa była bardzo niewygodna.

Wobec tego napisałem mały program w AutoIT, który ma na celu ułatwienie instalacji i obsługi tego moda.

Mod i program są kompatybilne z innymi modami WoT.

 

Instalacja:

Ściągamy program, uruchamiamy, wpisujemy ścieżkę do naszego folderu World Of Tanks(np. C:\Program Files (x86)\World Of Tanks), instalujemy moda(WoT musi być wyłączony).

 

Obsługa:

Aby wybrać mapę, wybieramy ją z listy po lewej i klikamy Wybierz Mapę.

Aby uruchomić moda, uruchamiamy WoT'a, na ekranie logowania przytrzymujemy Ctrl + M przez około sekundę, kiedy mapa się wczyta przytrzymujemy Ctrl + P aby odblokować wolną kamerę. Klawiszami 1-9 i 0 zmieniamy prędkość poruszania się kamery, sterujemy WASD, obracamy myszką, w pionie poruszamy się Q i E.

Aby zmienić mapę w trakcie używania moda, przełącz się na okno programu, wybierz mapę z listy i kliknij przycisk.

Aby odinstalować moda, klikamy Odinstaluj Obserwator Map. Inne mody wciąż będą działać; jeśli chcesz usunąć wszystkie pliki, musisz to zrobić ręcznie.

 

Zawartość:

.exe to oczywiście nasz program, w config.ini jest trzymana lokalizacja folderu World Of Tanks a w maplist.txt jest trzymana lista map. Pliki o dwuliterowych nazwach to pliki moda, które zostaną skopiowane przy instalacji.

 

Kod:

 

 

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>

$wotdir = checkconfigwotdirectory()
Switch checkforinstalled($wotdir)
	Case 8
		$installed = 1
	Case Else
		$installed = 0
EndSwitch
Global $mapy[48][2]
_FileReadToArray(@ScriptDir & "\maplist.txt", $mapy, 4, "~")

#Region ### START Koda GUI section ###
$Form1_1 = GUICreate("WORLD OF TANKS Obserwator Map", 456, 313, 249, 156)
$List1 = GUICtrlCreateList("", 8, 8, 201, 240)
GUICtrlSetData(-1, createlistofmaps($mapy, 48))
$Button1 = GUICtrlCreateButton("Zainstaluj Obserwator Map", 216, 8, 233, 44)
If $installed Then GUICtrlSetState($Button1, 128)
If ProcessExists("WorldOfTanks.exe") Then GUICtrlSetState($Button1, 128)
$Button2 = GUICtrlCreateButton("Wybierz mapę", 216, 56, 233, 44)
If NOT $installed Then GUICtrlSetState($Button2, 128)
$Button3 = GUICtrlCreateButton("Odinstaluj Obserwator Map", 216, 104, 233, 44)
If Not $installed Then GUICtrlSetState($Button3, 128)
If ProcessExists("WorldOfTanks.exe") Then GUICtrlSetState($Button3, 128)
$Label6 = GUICtrlCreateLabel("Aby uruchomić Obserwator Map, zainstaluj go, uruchom WoT, przytrzymaj Ctrl + M i gdy", 8, 256, 414, 17)
$Label7 = GUICtrlCreateLabel("mapa się załaduje przytrzymaj Ctrl + P aby uruchomić wolną kamerę. Jeśli chcesz zmienić", 8, 272, 423, 17)
$Label8 = GUICtrlCreateLabel("mapę używając Obserwatora Map, najpierw zmień ją tutaj a potem przytrzymaj Ctrl + M w grze.", 8, 288, 444, 17)
$Button5 = GUICtrlCreateButton("Uruchom World Of Tanks", 216, 152, 233, 44)
If (ProcessExists("WorldOfTanks.exe")  Or ProcessExists ("WOTLauncher.exe")) Then GUICtrlSetState($Button5, 128)
$Button6 = GUICtrlCreateButton("Zamknij World Of Tanks", 216, 200, 233, 44)
If Not (ProcessExists("WorldOfTanks.exe")  Or ProcessExists ("WOTLauncher.exe")) Then GUICtrlSetState($Button6, 128)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

AdlibRegister("wotworkcheck", 5000)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button6
			ProcessClose("WorldOfTanks.exe")
			ProcessClose("WOTLauncher.exe")
			If Not $installed Then GUICtrlSetState($Button1, 64)
			GUICtrlSetState($Button5, 64)
			GUICtrlSetState($Button6, 128)
			If $installed Then GUICtrlSetState($Button3, 64)
		Case $Button5
			Run($wotdir & "\WOTLauncher.exe")
			If Not $installed Then GUICtrlSetState($Button1, 128)
			GUICtrlSetState($Button5, 128)
			GUICtrlSetState($Button6, 64)
			If $installed Then GUICtrlSetState($Button3, 128)
		Case $Button3
			deinstall($wotdir)
			GUICtrlSetState($Button3, 128)
			GUICtrlSetState($Button1, 64)
			GUICtrlSetState($Button2, 128)
			$installed = 0
		Case $Button2
			$listselect = GUICtrlRead($List1)
			$i = 0
			Do
				$y = StringCompare($listselect, $mapy[$i][0])
				$i += 1
			Until $y = 0
			changemap($mapy[$i - 1][1], $wotdir)
		Case $Button1
			install($wotdir)
			If Not ProcessExists("WorldOfTanks.exe") Then
				GUICtrlSetState($Button3, 64)
			Else
				GUICtrlSetState($Button3, 128)
			EndIf
			GUICtrlSetState($Button1, 128)
			GUICtrlSetState($Button2, 64)
			$installed = 1
	EndSwitch
WEnd

Func createlistofmaps($array, $ile)
	$string = $array[0][0]
	For $i = 1 To $ile - 1 Step 1
		$string &= "|"
		$string &= $array[$i][0]
	Next
	Return $string
EndFunc   ;==>createlistofmaps

Func saveconfigwotdirectory($direc)
	$config = FileOpen(@ScriptDir & "\config.txt", 1 + 2 + 8)
	FileWrite($config, $direc)
	FileClose($config)
EndFunc   ;==>saveconfigwotdirectory

Func checkforinstalled($dir)
	$i = 0
	$i += FileExists($dir & "\res_mods\0.9.2\scripts\client\CameraNode.pyc")
	$i += FileExists($dir & "\res_mods\0.9.2\scripts\client\ConnectionManager.pyc")
	$i += FileExists($dir & "\res_mods\0.9.2\scripts\client\offlinemapcreator.pyc")
	$i += FileExists($dir & "\res_mods\0.9.2\scripts\client\mods\__init__.pyc")
	$i += FileExists($dir & "\res_mods\0.9.2\scripts\client\mods\fr.xml")
	$i += FileExists($dir & "\res_mods\0.9.2\scripts\client\mods\map_observer_u.pyc")
	$i += FileExists($dir & "\res_mods\0.9.2\scripts\client\mods\mapexp.xml")
	$i += FileExists($dir & "\res_mods\0.9.2\scripts\client\AvatarInputHandler\videocamera.pyc")
	Return $i
EndFunc   ;==>checkforinstalled

Func install($dir)
	DirCreate($dir & "\res_mods\0.9.2\scripts\client\mods")
	DirCreate($dir & "\res_mods\0.9.2\scripts\client\AvatarInputHandler")
	FileCopy(@ScriptDir & "\cm", $dir & "\res_mods\0.9.2\scripts\client\CameraNode.pyc", 1)
	FileCopy(@ScriptDir & "\cn", $dir & "\res_mods\0.9.2\scripts\client\ConnectionManager.pyc", 1)
	FileCopy(@ScriptDir & "\of", $dir & "\res_mods\0.9.2\scripts\client\offlinemapcreator.pyc", 1)
	FileCopy(@ScriptDir & "\in", $dir & "\res_mods\0.9.2\scripts\client\mods\__init__.pyc", 1)
	FileCopy(@ScriptDir & "\fr", $dir & "\res_mods\0.9.2\scripts\client\mods\fr.xml", 1)
	FileCopy(@ScriptDir & "\mo", $dir & "\res_mods\0.9.2\scripts\client\mods\map_observer_u.pyc", 1)
	FileCopy(@ScriptDir & "\mx", $dir & "\res_mods\0.9.2\scripts\client\mods\mapexp.xml", 1)
	FileCopy(@ScriptDir & "\vc", $dir & "\res_mods\0.9.2\scripts\client\AvatarInputHandler\videocamera.pyc", 1)
EndFunc   ;==>install

Func changemap($map, $dir)
	$mod = FileOpen($dir & "\res_mods\0.9.2\scripts\client\mods\mapexp.xml", 2)
	FileWrite($mod, "<root>" & @CRLF & @ & "<package>" & $map & "</package>" & @CRLF & "</root>")
	FileClose($mod)
EndFunc   ;==>changemap

Func deinstall($dir)
	FileDelete($dir & "\res_mods\0.9.2\scripts\client\ConnectionManager.pyc")
	FileDelete($dir & "\res_mods\0.9.2\scripts\client\offlinemapcreator.pyc")
	FileDelete($dir & "\res_mods\0.9.2\scripts\client\mods\fr.xml")
	FileDelete($dir & "\res_mods\0.9.2\scripts\client\mods\map_observer_u.pyc")
	FileDelete($dir & "\res_mods\0.9.2\scripts\client\mods\mapexp.xml")
	FileDelete($dir & "\res_mods\0.9.2\scripts\client\AvatarInputHandler\videocamera.pyc")
EndFunc   ;==>deinstall

Func checkconfigwotdirectory()
	$wotdirectory = IniRead(@ScriptDir & "/config.ini", "WotDirectory", "Dir", 1)
	If $wotdirectory = 1 Or $wotdirectory = "" Then
		$wotdirectory = InputBox("WORLD OF TANKS Obserwator Map", "Wprowadź ścieżkę do katalogu WoT, tak jak np. C:\Games\World Of Tanks")
		IniWrite(@ScriptDir & "/config.ini", "WotDirectory", "Dir", $wotdirectory)
	EndIf
	Return $wotdirectory
EndFunc   ;==>checkconfigwotdirectory

func wotworkcheck()
	If ProcessExists("WorldOfTanks.exe") Or ProcessExists ("WOTLauncher.exe") Then
		GUICtrlSetState($Button1, 128)
		GUICtrlSetState($Button3, 128)
		GUICtrlSetState($Button5, 128)
		GUICtrlSetState($Button6, 64)
	Else
		If NOT $installed Then GUICtrlSetState($Button1, 64)
		If $installed Then GUICtrlSetState($Button3, 64)
		GUICtrlSetState($Button5, 64)
		GUICtrlSetState($Button6, 128)
	EndIf
EndFunc

 

 

 

Download:

http://www.mediafire.com/download/zbksdt1npay30ct/WORLD_OF_TANKS_Obserwator_Map.zip

 

Skan:

1/54 https://www.virustotal.com/pl/file/d8f6cb9c88b880c6960c8bf257c530b723607d0b6c46c48d75f38c287a1a4a1d/analysis/1407408747/

 

Uwagi:

  • Radzę nie przytrzymywać Ctrl + M ani Ctrl + P podczas normalnych bitew
  • Jeśli wpisałeś złą lokalizację folderu World Of Tanks, możesz zmienić ją w pliku config.ini
  • Jeśli wpisałeś złą lokalizację folderu World Of Tanks, apka nie zadziała
  • Podczas oglądania map WoT ma tendencję do samoistnego crashowania się
  • Aplikacja nie będzie działać w wersji 9.3; sam mod może działać
  • WoT'a podczas przeglądania map da się wyłączyć tylko Alt + F4, z Menedżera Zadań lub z programu

Jeśli program nie zadziała proszę pisać tutaj lub na PW; testowałem go tylko u siebie.

Opublikowano

@NiemaSkilla Ja wiem? Ja np. znalazłem wjazd na górę na Karelii, da się tam wjechać, gdyby w 3 osoby pluton zrobić i trafiłoby się na tą mapę z odpowiedniej strony, to dałoby się pięknie cały front objechać i pojechać po artę lub zaatakować ich od tyłu, a w razie czego się wycofać na górę. No i znajomość map to nie tylko wiedza na temat miejsc w których można kampić.

  • 5 tygodni później...
  • 2 tygodnie później...
  • Biter. zmienił(a) tytuł na [WoT] Obserwator Map

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...