zmiana koloru czcionki w dialogach 35332 87

O temacie

Autor pawbuj

Zaczęty 15.12.2014 roku

Wyświetleń 35332

Odpowiedzi 87

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
mam qrcze problem ze skryptem kolorowania dialogów, szczególnie przy wczytywaniu do kolejnego swiata (np.kopalnia). wywala mnie do pulpitu.

uruchamiałem kolorowanie przez zs_talk i na końcu dałem ff_remove dla funkcji, ale nic to nie dało.

http://ifotos.pl/zobacz/dialogi-k_sapqean.jpg

func void ChangeConversationColor ()
{
    var zCView view; view = MEM_PtrToInst (MEM_Game.array_view[1]);
    var zCList list; list = MEM_PtrToInst (view.textLines_next);
    //var zCList list2; list2 = _^(list.next);
    var zCList list2; list2 = MEM_PtrToInst (list.next);
    var zCList list3; list3 = MEM_PtrToInst (list2.next);
   
    var zCViewText viewtext; viewtext = MEM_PtrToInst(list.data);
    var zCViewText viewadd; viewadd   = MEM_PtrToInst(list2.data);
    var zCViewText viewadd2; viewadd2 = MEM_PtrToInst(list3.data);
    //Print (IntToString (viewtext.color));

 if (viewtext.color == -1)
    {
    viewtext.color = RGBA(255,210,128,255);//dialog Hero
    viewadd.color = RGBA (255,210,128,255);//dialog Hero
    viewadd2.color = RGBA (255,210,128,255);//dialog Hero
    }
    else
    {
   // viewtext.color = RGBA(255,0,0,255);//dialog Hero
    };

    viewtext.colored = true;
    viewadd.colored = true;
    viewadd2.colored = true;
};


 

Splash

Splash

Moderator
posty4211
Propsy3412
ProfesjaNierób
  • Moderator
Po co używasz tej funkcji, skoro już dawno napisałem lepszą?
http://themodders.org/index.php?topic=23361.msg1221861#msg1221861
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
qrcze, tylko mam problem z najnowszym Lego , wyskakuje prser is blocked lub cos podobnego, dam screena.

w nowym jest hookengineF.

http://ifotos.pl/zobacz/new-legoJ_sapqsqh.jpg

edit:dodałem swój zmodyfikowany interface.d na bazie Lego 2.3. i nic póki co nie wywaliło.


jeszcze wrócę do FF, dlaczego FF_Remove nie usuwa faktycznie funkcji, chociażby barów.

@Splashdziałą!,a co z wyborem kolorowania opcji dialogoów, skoro znalazłeś hooka to też to można kolorować?
 

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Spróbuj zacząć od klasy oCInfo:
class oCInfo {
    //Achtung: Nur "name" und "told" wandert in ein Savegame!
   
    var int _vtbl;                  //Methodentabelle 0

    var int next;                   //oCInfo* 4
    var string name;                //zSTRING 24

    //Wohlbekannt:
    //struct Tpd {
        var int npc         ;       //int 28
        var int nr          ;       //int 32
        var int important   ;       //zBOOL    36
        var int conditions  ;       //int   40
        var int information ;       //int   44
        var string description ;       //zSTRING 64
        var int trade       ;       //zBOOL   68
        var int permanent   ;       //zBOOL   72
    //} pd;

    var int told        ;           //zBOOL  //schonmal abgespielt (das was Npc_KnowsInfo abfragt) 76
    var int _instance   ;           //int    //symbolindex der oCInfo im Parser. 80
   
    //Choices:
    //zCList< oCInfoChoice > listChoices;
        var int listChoices_data;   //oCInfoChoice* 84
        var int listChoices_next;   //zCList< oCInfoChoice >* 88
};
^^^ Tak ona wygląda w G2.  Te liczby to pointery (zapewne źle policzone, niech ktoś obeznany napisze czy dobrze, a jak źle to odkąd?)
Pole Description. Tam bym szukał odpowiedzi i zmienił jego Color.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Splash

Splash

Moderator
posty4211
Propsy3412
ProfesjaNierób
  • Moderator
Cytuj
a co z wyborem kolorowania opcji dialogoów, skoro znalazłeś hooka to też to można kolorować?
Działa.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Wpadłem na to przez przypadek, więc się podzielę:
var int vDiaTxt;
vDiaTxt = MEM_ReadInt(MEMINT_oCInformationManager_Address + 28);
vDiaTxt += 56;
vDiaTxt += 48;
MEM_WriteInt(vDiaTxt, RGBA(255,20,0,255));
Koloruje konkretnie zaznaczoną opcję na dany kolor ( dopiero po odświeżeniu opcji, czyli po zaznaczeniu innej ).
Można to naprawić, ale to nie w moim interesie leży.
@Splash, ale to jest niedokończone, wierze, że i to można hookiem wywołać.

ja mam skrypt kolor wybranej opcji dialogowej, ten nie wyrzuca (jak na razie) do pulpitu i wszytsko działa.  być może odciąże silnik i będę wywoływać hookiem.
 

Splash

Splash

Moderator
posty4211
Propsy3412
ProfesjaNierób
  • Moderator
Cytuj
ale to jest niedokończone, wierze, że i to można hookiem wywołać.
Chcesz, to odpalaj disassemblera i szukaj, bo ja nie mam zamiaru przeszukiwać setek linijek. Mój skrypt działa poprawnie i mnie to wystarcza.
Cytuj
być może odciąże silnik i będę wywoływać hookiem.
Funkcja nie jest na tyle "skomplikowana" by mogła obciążyć silnik. W twoim przypadku to obciąża silnik:
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Cytuj
ale to jest niedokończone, wierze, że i to można hookiem wywołać.
Chcesz, to odpalaj disassemblera i szukaj, bo ja nie mam zamiaru przeszukiwać setek linijek. Mój skrypt działa poprawnie i mnie to wystarcza.
Cytuj
być może odciąże silnik i będę wywoływać hookiem.
Funkcja nie jest na tyle "skomplikowana" by mogła obciążyć silnik. W twoim przypadku to obciąża silnik:


FF_ApplyOnce (ChangeSelectionColor(-256));
FF_ApplyOnce (ChangeSelectionColor(RGBA(0,255,255,255)));

Rozumiem, że hookiem tego się nie da. wywala syntax error );

 


0 użytkowników i 3 gości przegląda ten wątek.
0 użytkowników
Do góry