GhostManSD
Posts: 1054
|
Bers, спасибо! Тупанул и скрипт вставил в свою карту с прочими скриптами, даже не задумываясь. Хотя пересекающихся переменных вроде не было, всё же не стоило так делать.
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
01.09.2010 01:52 |
|
Sav
Posts: 2180
|
Quote:Да и убиться можно с
реализацией, цель средств не оправдывает.
Не так уж это и сложно.
Quote:Тупанул и скрипт вставил в свою карту с
прочими скриптами, даже не задумываясь. Хотя
пересекающихся переменных вроде не было, всё же не
стоило так делать.
А если не тупить, остальное работает?
|
|
01.09.2010 11:07 |
|
Sav
Posts: 2180
|
По поводу !!SN - в Эре его обязательно надо писать !!SN:Pz1;, но не !!SN : Pz1;.
Из этого, возможно и другие ошибки.
|
|
01.09.2010 18:49 |
|
GhostManSD
Posts: 1054
|
Sav, приеду домой и поудаляю пробелы (банальная замена в скриптере " : " на ":"). Также, если будет время, постараюсь сделать более структурированные комментарии, разделы и подразделы. Также пора обновить драконий архив (черт, Sav, твое название уверенно вошло в лексикон и теперь я весь сервис box.net так называю... ).
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
01.09.2010 19:18 |
|
Sav
Posts: 2180
|
GhostManSD Wrote:Sav, приеду домой и поудаляю пробелы (банальная замена в скриптере " : " на ":").
С этим я как-нибудь и сам справлюсь.
GhostManSD Wrote:Также, если будет время, постараюсь сделать более структурированные комментарии, разделы и подразделы.
Это лучше пока сделать только с кристальным драконом - с горынычем я ещё не закончил и может быть многое переделаю.
Горыныча лучше пока вообще не переделывай, пока я не завершу определённую часть работы над ним, в т. ч. встрою твои прошлые изменения.
|
|
01.09.2010 19:30 |
|
Sav
Posts: 2180
|
А что за mgm в драконьем архиве?
|
|
03.09.2010 17:46 |
|
Sav
Posts: 2180
|
|
03.09.2010 18:02 |
|
GhostManSD
Posts: 1054
|
См. в теме "Расширенные диалоги".
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
03.09.2010 18:39 |
|
GhostManSD
Posts: 1054
|
Появились кое-какие соображения по поводу драколича.
1. Уменьшить характеристики. Мне не очень нравится, что этот монстр стоит на втором месте после лазурного дракона: разве может быть мертвый дракон сильнее живых? Да и чтобы способности, предлагаемые ниже, не были имбой, если коллеги эти способности утвердят.
2. Можно добавить драколичу способность увеличивать количество так же, как призраки. Или же количество не менять, а увеличивать потихоньку здоровье.
3. Или же возможность воскресить из трупов каких-нибудь некромантских юнитов, как адские отродья воскрешают из трупов демонов.
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
07.09.2010 18:35 |
|
gamecreator
Posts: 7107
|
|
07.09.2010 18:45 |
|
GhostManSD
Posts: 1054
|
А личи сильнее монахов?
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
07.09.2010 19:06 |
|
Sav
Posts: 2180
|
Quote:1. Уменьшить характеристики. Мне не очень нравится,
что этот монстр стоит на втором месте после лазурного
дракона : разве может быть мертвый дракон сильнее
живых? Да и чтобы способности, предлагаемые ниже, не
были имбой, если коллеги эти способности утвердят. Ab
Наверное.
Quote:2. Можно добавить драколичу способность увеличивать
количество так же, как призраки. Или же количество не
менять, а увеличивать потихоньку здоровье.
Не знаю, как-то не по-драконьи это.
Quote:3. Или же возможность воскресить из трупов каких-
нибудь некромантских юнитов, как адские отродья
воскрешают из трупов демонов.
В целом нормально. Но драколич - не монстр некрополиса. Поэтому в таком случае ему лучше дать возможность возрождать нечисть из любого трупа, или, например, вызывать её при ударе.
|
|
07.09.2010 20:07 |
|
GhostManSD
Posts: 1054
|
Сав, я в пункте 3 криво выразился. Я имел в виду, что из любого трупа можно возродить нежить.
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
07.09.2010 22:02 |
|
Sav
Posts: 2180
|
Написал dll-ку для горыныча, создающую что-то типа пост-триггера !$MF.
Ссылку удалил. Далее в теме новая версия.
LIBRARY HookAfterDamage;
{!INFO
MODULENAME = 'AfterDamage'
VERSION = '1.0'
AUTHOR = 'Sav'
}
USES Win, Utils, SysUtils, VPUtils;
//PROCEDURE HookCode(P: POINTER; NewAddr: POINTER; UseCall: BOOLEAN); external 'angel' name 'HookCode';
CONST
(* HookCode constants *)
C_HOOKTYPE_JUMP = FALSE;
C_HOOKTYPE_CALL = TRUE;
C_OPCODE_JUMP = $E9;
C_OPCODE_CALL = $E8;
C_UNIHOOK_SIZE = 5;
TYPE
THookRec = RECORD Opcode: BYTE; Ofs: INTEGER;
END; // .record THookRec
VAR
Temp: INTEGER;
PROCEDURE WriteAtCode(P: POINTER; Buf: POINTER; Count: INTEGER);
BEGIN
Win.VirtualProtect(P, Count, PAGE_READWRITE, @Temp);
Win.CopyMemory(P, Buf, Count);
Win.VirtualProtect(P, Count, Temp, NIL);
END; // .procedure WriteAtCode
PROCEDURE HookCode(P: POINTER; NewAddr: POINTER; UseCall: BOOLEAN);
VAR
HookRec: THookRec;
BEGIN
IF UseCall THEN BEGIN HookRec.Opcode:=C_OPCODE_CALL;
END // .if
ELSE BEGIN HookRec.Opcode:=C_OPCODE_JUMP;
END; // .else
HookRec.Ofs:=INTEGER(NewAddr)-INTEGER(P)-C_UNIHOOK_SIZE;
WriteAtCode(P, @HookRec, 5);
END; // .procedure HookCode
PROCEDURE Hook_AfterDamage; ASSEMBLER; {$FRAME-}
ASM
PUSH EBX
MOV EBX, $7C8554
MOV EAX, CS:[EBX]
POP EBX
CALL EAX
PUSHAD
PUSH 9500//номер ERM-функции.
MOV EAX, $74CE30
CALL EAX//вызываем C_FUNC_ZVS_CALLFU
ADD ESP, 4
POPAD
PUSH $756E41
END;
BEGIN
HookCode(POINTER($756E3B), @Hook_AfterDamage, C_HOOKTYPE_JUMP);
END.
Она позволит нормально колдовать заклинания после атаки, со звуком и логом в нужный момент.
Думаю, что я ещё буду изменять эту dll-ку, хотя у меня может ничего и не получиться.
(This post was last modified: 19.09.2010 23:34 by Sav.)
|
|
10.09.2010 23:58 |
|
Berserker
Posts: 16657
|
|
11.09.2010 00:36 |
|