Dodam jeszcze że z pomocą mogą Ci przyjść klasy oCMob_Lockable albo oCMob_Container.
Ty słuchasz ?
W Gothic są już odpowiednie warunki wystarczy dopisać jedną linijkę w pliku G_PickLock.d
zrobimy , że zmienna jest podnoszona o każdy "brzmi nieźle", ale wysokość expa zsumowanego ze zmiennych dostaje dopiero w momencie , kiedy skrzynię otworzy. chyba najlepszy sposób - jak uda mi się zrobić to opublikuję skrypt.
Jak chcesz moge napisać ten skrypt w zależności od "trudności" skrzyni tak jak chciałeś im wiecej ruchów do otwatcia tym więcej expa.
wydawało mi się pdobnie jak sawik, że ten plik nie sprawdza czy skrzynia zostanie otwarta. kombinowałem z tym, na razie fiasko.
qrcze w g1 nie wyśiwetla się nast. kominikat po otwarciu zamka:
const string _STR_MESSAGE_PICKLOCK_UNLOCK = "Zamek został otwarty.";
czy tylko ja tak mam??
ten komunikat także nie wyswietla się:
const string _STR_MESSAGE_INTERACT_NO_KEY = "Brak klucza lub wytrycha.";
podejrzewam, że tych funkcji nie da się aktywowaćbez ikarusa
nie wiem niech ktos się wypowie bardziej doświadoczony. mam nastepujący skrypt, który potencjalnie mozna by wykorzystać.
func void FocusColor() {
var oCNpc her;
her = Hlp_GetNpc (hero);
var int ptr;
var oCMobLockable Zamek;
Zamek = MEM_PtrToInst (her.focus_vob);
var int col;
const int zCView__SetFontColor = 7339392; //0x6FFD80 Changed
if (!her.focus_vob) {
col = RGBA(255,255,255,255); //Weiß
ptr = MEM_Alloc(4);
MEM_WriteInt(ptr, col);
CALL_IntParam(ptr);
CALL__thiscall(MEM_ReadInt(screen_offset), zCView__SetFontColor);
MEM_Free(ptr);
return;
};
if (!Hlp_Is_oCMobLockable(her.focus_vob))
{
return;
} else
{
};
if (Zamek.bitfield & oCMobLockable_bitfield_locked)
{
col = RGBA(255,180,0,255); //Orange
} else
{
col = RGBA(255,255,255,255); //Weiß
};
ptr = MEM_Alloc(4);
MEM_WriteInt(ptr, col);
CALL_IntParam(ptr);
CALL__thiscall(MEM_ReadInt(screen_offset), zCView__SetFontColor);
MEM_Free(ptr);
};