| Berserker   
   
   Posts: 16786
 
 |  | 
	| 10.02.2011 01:18 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Sav, ты не понял. Не о том речь. При срабатывании хука все переменные перемещаются нормально и выдают верные значения. Но отображается лишь одно окно (даже если герой получил 3 уровня) и герою накидываются уровни до 34.
  (10.02.2011 01:16)Sav Wrote:  Откуда появляются значения в переменных LevelUp_HeroNumber и LevelUp_HeroLevel? 
Из указателей. Дело не в этом.
			 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 |  | 
	| 10.02.2011 03:35 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				 (10.02.2011 01:18)Berserker Wrote:  Quote:Так в HE:E при установке уровня окна и не должны вроде появляться.Конечно не должны. А в x2 - мусор по ходу. 
Почему же мусор? Показывает, какого уровня достиг герой.
			 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 |  | 
	| 10.02.2011 04:05 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Уровни до 34 накидываются всегда или только при использовании HE:E?
			 |  | 
	| 10.02.2011 14:04 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Всегда. А HE:E было призвано исправить ситуацию, сменив уровень героя на тот, которого он достигает. Но ситуация не меняется. Я бы пошел иным путем: устанавливал бы значение в ассемблере, но я никак не могу найти указатель на реальный уровень героя (а не получаемый).При вводе чита woggandalfwhite все проходит нормально, кстати. Получаемый уровень соответствует реальному.
 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 |  | 
	| 10.02.2011 14:49 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				А зачем ты восстанавливаешь так много кода? Хуку же одного call хватает, чтобы больше ничего не затирать.
			 |  | 
	| 10.02.2011 15:03 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Sav, не понял. Можешь пояснить? Или показать, как должен выглядеть мой код?
			 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 |  | 
	| 10.02.2011 15:13 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				      HookCode(POINTER($4DAC9B), @HookTrigger_LevelUp, C_HOOKTYPE_JUMP); // 90000***
 // Restore default code
 MOV DataTemp, $59A890
 CALL DataTemp
 MOV EAX, DWORD PTR DS:[$69959C]
 MOVSX ECX, AX
 ***
 PUSH $4DACA7
 
 Можно было бы сделать адресом хука адрес call-а и не восстанавливать ничего, кроме него.
 И push-ить адрес call-а + 5.
 Как это точно сделать - не знаю (нет кода игры перед глазами).
 Здесь не видно связи с твоей ошибкой, но иногда при исправлении понятных недочётов исправляются и непонятные ошибки
 |  | 
	| 10.02.2011 15:41 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Sav, спасибо, помогло. Теперь всегда буду ставить хук на CALL. 
З.Ы. X2 - и впрямь мусор. Точнее, не совсем мусор, но не то, что нужно. Не совсем то я искал.     (10.02.2011 18:07)GhostManSD Wrote:  З.Ы. X2 - и впрямь мусор. Точнее, не совсем мусор, но не то, что нужно. Не совсем то я искал.  
Извиняюсь, таки соврал. Нужное. Это уровень, которого достигнет герой, когда закончит щелкать по окошкам, выбирая новые навыки.    
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 
				
(This post was last modified: 10.02.2011 18:11 by GhostManSD.)
 |  | 
	| 10.02.2011 18:07 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Допустим, в адресе A идет значение (по дампу) [01 00 00 04 00 08 1F 00]. Могу ли я загнать в EAX только начало этого значения, т.е. (в данном случае) 01?
			 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 
				
(This post was last modified: 11.02.2011 00:04 by GhostManSD.)
 |  | 
	| 10.02.2011 23:55 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				mov eax, byte ptr [A]
			 
				
(This post was last modified: 11.02.2011 00:32 by Sav.)
 |  | 
	| 11.02.2011 00:31 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				А если надо закинуть второй байт? mov eax, byte ptr [A+1]?
 Error 45: Operand types do not match.
 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 
				
(This post was last modified: 11.02.2011 00:43 by GhostManSD.)
 |  | 
	| 11.02.2011 00:38 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Да. Кроме того можно использовать не весь eax (4 байта), а только его четвертинку al:mov al, [A]
 |  | 
	| 11.02.2011 00:45 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Sav, спасибо, работает!
			 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 |  | 
	| 11.02.2011 01:09 |  |