1. Чтобы обновить все ключи, нужно их дополнить как instance ItKe_Xardas(
ITEM_KEY), пробел ставить не нужно, дописывать код не нужно. Все автоматом из прототипа.
Код:
prototype ITEM_KEY(C_Item)
{
on_state[0] = Use_ItKe_Xardas;
scemeName = "MAPSEALED";
};
дополнить MissionItems_1.d, заменить все ItKe_Xardas, кроме 1й строки, на другие
Код:
func void Use_ItKe_Xardas()
{
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
if(Hlp_IsItem(item,ItKe_Xardas)) { Choice_key(ItKe_Xardas); };
};
2. Создан массив на 60 ключей, ключница работает с 30 первыми, дополнить код до нужного числа в B_UseKeyring() и ClearPlayerKey(), код разделен пробелом на блоки по 10.
3. Замещение карты и быстрый вызов кольца
Код:
func int player_hotkey_screen_map()
{
var int OldInstance;
var int NewInstance;
if(Npc_HasItems(hero,itmi_keyring) >= 1)
{ OldInstance = itmi_keyring;
return OldInstance; };
if(Npc_HasItems(hero,itmi_keyring2) >= 1)
{ OldInstance = itmi_keyring2;
return OldInstance; };
RedefinedFunc.dsc, не знаю влияет ли позиция на ГС, поставил их рядом с шаблонами.
void B_PlayerFindItem(int#,int);
int B_SetPlayerMap(int#);
int B_SetPlayerKey(int,int#);
int# B_GetPlayerMap(void);
int# B_GetPlayerKey(int);
int# PLAYER_HOTKEY_SCREEN_MAP(void);
void B_RemoveNpc(int#);
int B_GiveInvItems(instance,instance,int#,int);
void B_UseItem(instance,int#);
int# B_GetBestPlayerMap(void);
int# B_GetAnyPlayerMap(void);
void B_SetNpcVisual(instance,int,string,int,int,int#);
void B_KillNpc(int#);
int C_NpcHasAmmo(instance,int#);
void B_ExchangeRoutine(int#,string);
void B_SetPermAttitude(int#,int);
void B_ClearImmortal(int#);
void B_SetNpcType(int#,int);
void B_ChangeGuild(int#,int);
RedefinedLocalVariable.dsc
int# Choice_key.KeyInstance;
LOG_Constants_Notes.d
const string TOPIC_KEYRING = "Кольцо ключей";