Ikarus (Pakiet skryptów) 283803 1020

O temacie

Autor orcwarrior

Zaczęty 11.06.2010 roku

Wyświetleń 283803

Odpowiedzi 1020

gothic1210
  • Gość
Jednak jest poważniejszy problem. Podczas otwierania zamków absolutnie nic mi się nie wyświetla. Próbowałem różnych kombinacji. 
//
   //   PRINT THE MESSAGE
   //
   PrintScreen   (strMessage, -1, strYPos, "FONT_OLD_20_WHITE.TGA", _TIME_MESSAGE_PICKLOCK );     
   //print (strMessage);
   //PrintS_Ext  (strMessage, COL_White);
   //Print_Ext (-1, strYPos, strMessage, _STR_FONT_ONSCREEN, COL_White, _TIME_MESSAGE_PICKLOCK);
Nic, a nic. Wyświetla się jedynie przy tym cholernym PrintS_Ext, ale podwójnie... Jakies pomysły? 
 

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Nie grzebałeś nic więcej w funkcji G_PickLock?
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

gothic1210
  • Gość
Nope. Zacząłem próbować różne PrintScreeny dopiero jak przestało wyświetlać. Łap całą funkcję. 
/************************************************************************* 
 *                       G_PickLock
 *************************************************************************
 * PRCONDITIONS:    self   : Player
 *************************************************************************/
func void G_PickLock( var int bSuccess, var int bBrokenOpen  )
{
   var string   strSoundFX;
   var string   strMessage;
   var int      strYPos;
   
   strSoundFX = _STR_INVALID;
   strMessage = _STR_INVALID;
   
   if ( bSuccess)
   {
      if ( bBrokenOpen )
      {
         strSoundFX   = _STR_SOUND_PICKLOCK_UNLOCK;
         strMessage   = _STR_MESSAGE_PICKLOCK_UNLOCK;
         strYPos      = _YPOS_MESSAGE_PICKLOCK_UNLOCK;
         //print ("Wygryw");
      }
      else
      {
         strSoundFX   = _STR_SOUND_PICKLOCK_SUCCESS;
         strMessage   = _STR_MESSAGE_PICKLOCK_SUCCESS;
         strYPos      = _YPOS_MESSAGE_PICKLOCK_SUCCESS;
         //print ("Jest OK");
      };
   }
   else
   {
      if ( bBrokenOpen )
      {
         strSoundFX   = _STR_SOUND_PICKLOCK_BROKEN;
         strMessage   = _STR_MESSAGE_PICKLOCK_BROKEN;
         strYPos      = _YPOS_MESSAGE_PICKLOCK_BROKEN;
         //print ("Wytrych pękł");
      }
      else
      {
         strSoundFX   = _STR_SOUND_PICKLOCK_FAILURE;
         strMessage   = _STR_MESSAGE_PICKLOCK_FAILURE;
         strYPos      = _YPOS_MESSAGE_PICKLOCK_FAILURE;
         //print ("Cholera...nie tak!");
      };
   };
   
   //
   //   PLAY APPROPRIATE SOUND
   //
   Snd_Play3d( self, strSoundFX );
   
   //
   //   PRINT THE MESSAGE
   //
   PrintScreen   (strMessage, -1, strYPos, "FONT_OLD_20_WHITE.TGA", _TIME_MESSAGE_PICKLOCK );     
   //print (strMessage);
   //PrintS_Ext  (strMessage, COL_White);
   //Print_Ext (-1, strYPos, strMessage, _STR_FONT_ONSCREEN, COL_White, _TIME_MESSAGE_PICKLOCK);
   
};
/*
func int G_PickLockRequired()
{
    if (Npc_GetTalentSkill (hero, NPC_TALENT_PICKLOCK))
    {
    return true;    
    }
    else
    {
    AI_PlayAni (hero,"T_DONTKNOW");    
    G_PrintScreen ("Nie znam się na otwieraniu zamków.");
   PrintS_Ext ("Brakuje umiejętności otwierania zamków.", COL_Red);
    return false;    
    };    
};
func void Mod_Splash_CoontainerLocker ()
{
var oCNpc her; her = Hlp_GetNpc (her);
if (Hlp_Is_oCMobContainer (her.focus_vob))
{
var oCMobContainer chest; chest = _^ (her.focus_vob);
chest._oCMobInter_conditionFunc = "G_PICKLOCKREQUIRED";
print ("Patrzę na skrzynię");
}
else if (Hlp_Is_oCMobDoor (her.focus_vob))
{
var oCMobDoor door; door = _^ (her.focus_vob);
door._oCMobInter_conditionFunc = "G_PICKLOCKREQUIRED";
};
};*/

 

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
W G2 nie mam takich problemów, bo też zmieniałem PrintScreen na PrintS_Ext i działa to normalnie.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Spróbuj przeinstalować Ikarusa i LeGo. Ja jak po raz pierwszy zainicjowałem te pakiety miałem problem z brakiem PFX'ów. Skrypty były, ale się nie wyświetlał żaden PFX. Po przeinstalowaniu Gothic'a i pakietów, wszystko wróciło do normy. Może Tobie też to pomoże.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

gothic1210
  • Gość
nie wiem co robię, ale efekt mnie satysfakcjonuje xD

if ( !bSuccess)
{
if ( bBrokenOpen )
{
strSoundFX = _STR_SOUND_PICKLOCK_BROKEN;
strMessage = _STR_MESSAGE_PICKLOCK_BROKEN;
strYPos = _YPOS_MESSAGE_PICKLOCK_BROKEN;
print ("Wytrych pękł.");
}
else
{
strSoundFX = _STR_SOUND_PICKLOCK_FAILURE;
strMessage = _STR_MESSAGE_PICKLOCK_FAILURE;
strYPos = _YPOS_MESSAGE_PICKLOCK_FAILURE;
print ("Cholera... nie tak!");
};
}
else
{
if ( bBrokenOpen )
{
strSoundFX = _STR_SOUND_PICKLOCK_UNLOCK;
strMessage = _STR_MESSAGE_PICKLOCK_UNLOCK;
strYPos = _YPOS_MESSAGE_PICKLOCK_UNLOCK;
print ("Udało się!");
}
else
{
strSoundFX = _STR_SOUND_PICKLOCK_SUCCESS;
strMessage = _STR_MESSAGE_PICKLOCK_SUCCESS;
strYPos = _YPOS_MESSAGE_PICKLOCK_SUCCESS;
print ("Dobrze ci idzie.");
};

};
/*
if ( bSuccess)
{
//if ( bBrokenOpen )
//{
strSoundFX = _STR_SOUND_PICKLOCK_UNLOCK;
strMessage = _STR_MESSAGE_PICKLOCK_UNLOCK;
strYPos = _YPOS_MESSAGE_PICKLOCK_UNLOCK;
//print ("Wygryw");
//}
//else
//{
//strSoundFX = _STR_SOUND_PICKLOCK_SUCCESS;
//strMessage = _STR_MESSAGE_PICKLOCK_SUCCESS;
//strYPos = _YPOS_MESSAGE_PICKLOCK_SUCCESS;
//print ("Jest OK");
//};
}
else
{
if ( bBrokenOpen )
{
//strSoundFX = _STR_SOUND_PICKLOCK_BROKEN;
//strMessage = _STR_MESSAGE_PICKLOCK_BROKEN;
//strYPos = _YPOS_MESSAGE_PICKLOCK_BROKEN;
//print ("Wytrych pękł");
}
else
{
strSoundFX = _STR_SOUND_PICKLOCK_FAILURE;
strMessage = _STR_MESSAGE_PICKLOCK_FAILURE;
strYPos = _YPOS_MESSAGE_PICKLOCK_FAILURE;
//print ("Cholera...nie tak!");
};
};
*/
//
// PLAY APPROPRIATE SOUND
//
Snd_Play3d( self, strSoundFX );

//
// PRINT THE MESSAGE
//
//PrintScreen (strMessage, -1, -1, "FONT_OLD_20_WHITE.TGA", 5 );
print ("---------------------------");
 

gothic1210
  • Gość
Miał ktoś z was tak, że mu toogle desktop przestał działać? Myślę, że Lego może mieć z tym coś wspólnego.
 

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Obstawiam, że to przez skrypt zaciemniana ekranu, który ci wysłałem kiedyś :F
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator

Splash
Moderator

Ikarus (Pakiet skryptów)
#328 2016-02-07, 15:28(Ostatnia zmiana: 2016-06-16, 18:57)
Lehona właśnie załatwił problem przenikającego deszczu przez voby :D
http://forum.worldofplayers.de/forum/threads/1299679-Skriptpaket-Ikarus-4?p=24735929&viewfull=1#post24735929
Sprawdziłem to i działa, tylko że popełnił drobny błąd w funkcji. Poprawione:
func void rainThroughVobs(var int bool) {
    MemoryProtectionOverride(6169210, 4);
    if (!bool) {
        // bool == false -> Es regnet nicht mehr durch
        MEM_WriteByte(6169210, 224);
    } else {
        MEM_WriteByte(6169210, 226);
};

Wystarczy do funkcji INIT_GLOBAL dopisać:
rainThroughVobs(false);
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Nie będę odkopywał znowu tamtego tematu, bo mało kto by tam zaglądał. Do dziś chyba nikt nie wymyślił sensownego sposobu, by zmiana koloru czcionki zaznaczonej opcji dialogowej działała zgodnie z oczekiwaniami bez pojebanego kombinowania. Dzisiaj przypomniałem sobie o tamtym problemie i wykombinowałem. Było to prostsze, niż myślałem.
Ciekawe jest to, że wskaźnik zaznaczonej opcji jest wskaźnikiem obiektu klasy zCViewText2 (Lehona udostępnił ją na niemieckim forum), która praktycznie nie różni się niczym od klasy zCViewText poza dodatkową zmienną unknown. Próba przypisania go do zCViewText kończy się crashem bez żadnego komunikatu. Good guy Piranha Bytes.

Funkcję należy wywołać co klatkę. Tak, działa w obu częściach Gothica.

class zCViewText2 {
    var int unknown;
     /* zCViewText text; */
        var int _vtbl;
       
        var int posx;
        var int posy;
       
        var string text;    //zSTRING //Die Entscheidende Eigenschaft.
        var int font;       //zCFont*
        var int timer;      //zREAL //übrige Zeit für PrintScreen anzeigen die nur eine bestimmte Zeit dauern?
        var int inPrintWin; //zBOOL //vermutlich für anzeigen mit "Print", die nach oben weggeschoben werden.
 
        var int color;      //zCOLOR
        var int timed;      //zBOOL
        var int colored;    //zBOOL     //klingt interessant. Vielleicht kann man hiermit was anfangen.
};

func void ChangeSelectionColor (var int col)
{
    var zCArray arr; arr = _^ (MEM_InformationMan.DlgChoice+172);

    if (arr.array)
    {
    const int null = 0;
    CALL__fastcall (MEM_InformationMan.DlgChoice, _@ (null), MEMINT_SwitchG1G2 (7705536, 6878528));
    var zCViewText2 txt; txt = _^ (CALL_RetValAsPtr());
    txt.color = col;
    txt.colored = true;
    };
};


Niestety nie udało mi się znaleźć konkretnego adresu by można by było fajnie to funkcję wywołać za pomocą HookEngine.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
Splash chyba tylko ty podtrzymujesz ten temat :F Nie wie ktoś może jak można odwzorować rzucanie zaklęć jak w g1?(leczenie, meteoryt z Czasu czy np. Zmniejszenie?)  próbowałem wzorować się na skrypcie dużej kuli ognia ale efekt nie był zadowalający,  a zapewne ikarusem da się to ogarnąć lepiej.(tak jak zrobił to twórca requiem)
 

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

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Cytuj
Splash chyba tylko ty podtrzymujesz ten temat :F
Ciekawe jak długo xD
Cytuj
Nie wie ktoś może jak można odwzorować rzucanie zaklęć jak w g1?
To jest chyba tylko kwestia animacji, efektów cząsteczkowych. W przypadku funkcjonowania zaklęcia leczenia będzie to tylko zrobienie pętli w skrypcie czaru. Nie znam się na robieniu zaklęć, więc nie za bardzo pomogę.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
Jutro zobaczę jak to w requiem wygląda (animacje bo na to nie wpadłem). Jeszcze o jedno zapytam jak mogę dokończyć funkcje instancja namierzonego przedmiotu?  Napisałem miecz run podobny do tego z CZ ale gdy mam go nałożony i chce zmienić rune to gra crashuje bo pobiera ptr +16 z klasy item (instancje)  nie namierzonej runy,  a założonego miecza...
 

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

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Splash chyba tylko ty podtrzymujesz ten temat :F Nie wie ktoś może jak można odwzorować rzucanie zaklęć jak w g1?(leczenie, meteoryt z Czasu czy np. Zmniejszenie?)  próbowałem wzorować się na skrypcie dużej kuli ognia ale efekt nie był zadowalający,  a zapewne ikarusem da się to ogarnąć lepiej.(tak jak zrobił to twórca requiem)

Z tego co mi wiadomo, starczy pobierać vat int manainvested (zmienną zaraz w funkcji czaru) i ustawiać return sendstop kiedy manainvested jest mniejsze od np. 1000 (1 sekunda), po czym dodać funkcję że jeśli manainvested >= 1000 to sendcast.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
Napisałem to w taki sposób :
func int spell_logic_meteor(var int manainvested) {
    if(npc_getactivespellisscroll(self) && (self.attribute[2] >= spl_cost_scroll)) {
        return spl_sendcast;
    if(self.attribute[2] >= spl_cost_meteor){
       if (manainvested<1000){
   
   return spl_sendstop;
   }
   else if (manainvested>=100){
return spl_sendcast;
    };
}
    else
{
        return spl_sendstop;
    };
};
};
I nie działa :F
Takie pytanie związane z CinemaScope jak mogę ustawić choicebox'a i dialogboxa zawsze na takiej samej rozdzielczości? Tak jak zrobił to ork w Czasie Zapłaty? (Skrypt mam tylko brakuje mi odpowiednich pozycji)
 

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

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
    if (manainvested<1000){
      
      return spl_sendstop;
      }
      else if (manainvested>=100){
   return spl_sendcast;
    };

Wywołuje się tylko pierwszy warunek. (zielony)

Tak zadziała:


     if (manainvested<1000){
      
      return spl_sendstop;
      }
      else if (manainvested>=1000){
   return spl_sendcast;
    };
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
Nie działa, postać wzrusza tylko ramionami (celowałem do NPC i do powietrza jak coś).
 

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

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Może dlatego, że ten skrypt dotyczy leczenia :F Niby po co byłaby potrzebna pętla w zaklęciu ofensywnym?
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
Ponieważ meteor z pętlą wygląda bardzo efektownie :F
https://www.youtube.com/watch?v=KGSX3mWJm6IMniejsza xD Powiecie może co z tą rozdzielczością w choiceboxie i dialogboxie :F
 

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


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry