Показать сообщение отдельно
Старый 29.01.2013, 02:57   #2578
budunovmv

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: М: Скриптинг в Готике

Как исправить следующию ошибку ? //Ошибка нельзя преобразовать тип int в instance в int
Компилирую в GothicSource 3.14

class MEMINT_HelperClass {};
var MEMINT_HelperClass MEMINT_AssignPredecessor;
var int inte;
inte = MEMINT_AssignPredecessor + 1; //Ошибка нельзя преобразовать тип int в instance

Cпойлер(щелкните, чтобы прочесть):
//* функция из скрипт пакета ikarus
func void MEMINT_PrepareAssignments() {
   /* sorgt dafьr, dass MEMINT_Assign und MEMINT_StrAssign
    * genau die Funktion von zPAR_OP_IS bzw. zPAR_TOK_ASSIGNSTR
    * erfьllen.
    * Diese Funktion wird nach Start von Gothic genau einmal aufgerufen. */

   var int symTab; var int MEMINT_Assign_Sym; var int MEMINT_Assign_StackPos; var int stackStart;

   //Navigation zum Code dieser Funktionen:
   symTab                  = MEM_ReadInt (ContentParserAddress + zCParser_symtab_table_array_offset);
   stackStart              = MEM_ReadInt (ContentParserAddress + zCParser_stack_offset);
   MEMINT_Assign_Sym       = MEM_ReadInt (symTab + 4 * (MEMINT_AssignPredecessor + 1));
   MEMINT_Assign_StackPos  = MEM_ReadInt (MEMINT_Assign_Sym + zCParSymbol_content_offset);

   //alte Lesemethode braucht Npc
   MEMINT_GetMemHelper();
   var C_NPC othBak;
   othBak = Hlp_GetNpc (other);

   //Code ьberschreiben. Vorsicht: Der erste Aufruf soll auch klappen!
   MEMINT_OldWriteInt (stackStart + MEMINT_Assign_StackPos     , (zPAR_OP_IS          << 0) | (zPAR_TOK_RET       << 8) | (zPAR_TOK_RET << 16) | (zPAR_TOK_RET << 24));
   MEMINT_OldWriteInt (stackStart + MEMINT_Assign_StackPos +  4, (zPAR_TOK_RET        << 0) | (zPAR_OP_IS         << 8) | (zPAR_TOK_RET << 16) | (zPAR_TOK_RET << 24));
   MEMINT_OldWriteInt (stackStart + MEMINT_Assign_StackPos +  8, (zPAR_TOK_ASSIGNSTR  << 0) | (zPAR_TOK_RET       << 8) | (zPAR_TOK_RET << 16) | (zPAR_TOK_RET << 24));
   MEMINT_OldWriteInt (stackStart + MEMINT_Assign_StackPos + 12, (zPAR_TOK_RET        << 0) | (zPAR_TOK_ASSIGNSTR << 8) | (zPAR_TOK_RET << 16) | (zPAR_TOK_RET << 24));

   //alte Lesemethode muss aufrдumen
   MEM_Helper.enemy = 0;
   other = Hlp_GetNpc (othBak);
};

var MEMINT_HelperClass MEMINT_AssignPredecessor;
*/


Добавление от 01/29/13, в 03:17:56
Цитата:
Сообщение от budunovmv link=board=gothic&t=1105030050&goto=7164271 date=01/16/13, в 11:47:06
Будет какая-нибудь задержка, например при ударе меча, если выполнить выборку из массива размерность 600 (разбитый на 3 части)?

Добавление от 01/16/13, в 12:07:06
Или если выполнять сравнивание *2000 раз, например при ударе меча?

Код
if(rnd <= 25) { return 1; }
else if (rnd <= 50) { return 2; }
else if (rnd <= 75) { return 3; }
else if (rnd <= 99) { return 4; }
повторяеться 2000 раз
Проверил, нет ни какой задержки?
Ответить с цитированием