Otwieranie drzwi kluczem (czynność) 4445 14

O temacie

Autor Fabio

Zaczęty 8.03.2016 roku

Wyświetleń 4445

Odpowiedzi 14

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Elo.

Jest cela, w której jest postać (hero) i jest ona zamknięta na klucz (drzwiczki). Tylko i wyłącznie posiadając takowy klucz można je otworzyć.

Podchodzi do celi strażnik zagaduje i po skończeniu dialogu prowadzi nas w dane miejsce. Strażnik ma klucz do owych drzwi, więc powinien je otworzyć tak, żeby można było za nim iść. Co zrobić żeby je otworzył? Niby powinien z automatu.



PS. Całość dotyczy G2NK

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Może zrób tak że jak jest blisko drzwi pojawia się dialog i zmienia rutynę na np. TA_STAND a Waypoint jest za drzwiami. Automatycznie otworzy i w warunku dasz kolejny dialog który zmienia mu rutynę na właściwą.
 

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

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
to zależy, czy strażnik gada z hero przez drzwi czy podchodzi bliżej hero na waypoint za dzwiami. czyli otwiera/podchodzi/zagaduje wtedy powinien otworzyć z automatu.
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Jest taka funkcja:

// *********
// B_MoveMob
// *********

func void B_MoveMob ()
{
var string door; door = Npc_GetDetectedMob(self);

if (Hlp_StrCmp (door, "DOOR"))
{
if (Wld_GetMobState (self,door) == 0)
{
Npc_ClearAIQueue (self);

AI_UseMob (self, door, 1);
AI_UseMob (self, door, -1); //NSC muss sich am Mobsi abmelden, da sonst die Tür wieder zu geht!
};
}
else
{
return;
};
AI_ContinueRoutine (self);
};
Może Ci 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.

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Ogólnie to jest tak, że stała rutyna tego npcta to stanie na warcie w miejscu niedaleko od celi. Po rozmowie z innym npctem zmienia mu się rutyna na stanie na przeciwko celi. Zagada nas jeśli gadaliśmy z tamtym gościem (wtedy też podchodzi). Wp jest na przeciwko celi, właściwie stoi tuż obok drzwi, wewnątrz też jest wp połączony, ale efektu nie ma.


Schemat jest taki: Gadamy z Józiem o "Malinach" (po rozpoczęciu tej rozmowy zmienia się warunek Jasiowi na stanie na warcie pod celą). Jasio zagaduje nas jeśli jesteśmy obok niego, a potem prowadzi nas w dane miejsce. Nie ma tak, że najpierw otwiera drzwi, a potem gada. Gada i potem sobie idzie nie otwierając ich.


PS. W czym konkretnie pomogłaby ta funkcja i gdzie dokładniej została zastosowana?

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
to zrób żeby po dialogu z hero co gadali pod celą, jasiu wszedł do celi po hero, po czy powidział choćmy i zaczął prowadzić hero, jeśli nie pomoże ci patent Bogdana :D
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
var string door; door = Npc_GetDetectedMob(Jasiu);
AI_UseMob (Jasiu, door, 1);
 
: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.

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Gdyby było to jako osobny skrypt to musiałbym wtedy dodawać w spacerze odniesienie się przy tych drzwiach (mobie) do tej funkcji, czy nie?

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Nie wydaje mi się.
 
: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.

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
No to tak jakby nie działa :D

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Npc rusza tyłek czy po prostu stoi? Wiem, że strażnicy khorinis używają czasami drzwi wierz, jak mają klucz. Zaś z drugiej strony, niektóre npc uważają drzwi jako nic i próbują przez nie przechodzić. Chyba, że jest gdzieś jakiś warunek odnośnie drzwi, albo trzeba ustawić drzwiom która gildia może je otwierać poza hero?
 
: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.

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Drzwi jako mob są całkowicie nowym modelem. Npc nas zagaduje kończy się dialog i idzie dalej (prowadzić nas). A przed zagadaniem nie otwiera drzwi.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Znalazłem w sumie coś takiego w oCMobLockable:

    //oCMob
      var string _oCMob_name;               
      var int    _oCMob_bitfield;
      var string _oCMob_visualDestroyed;   
      var string _oCMob_ownerStr;           
      var string _oCMob_ownerGuildStr;     
      var int    _oCMob_owner;             
      var int    _oCMob_ownerGuild;         
      var int    _oCMob_focusNameIndex;     
      var int    _oCMob_ignoreVobList_data;
      var int    _oCMob_ignoreVobList_next;

Spoiler
class oCMobLockable
{
    //zCVob {
      //zCObject {
      var int    _vtbl;
      var int    _zCObject_refCtr;
      var int    _zCObject_hashIndex;
      var int    _zCObject_hashNext;
      var string _zCObject_objectName;
      //}
      var int    _zCVob_globalVobTreeNode;
      var int    _zCVob_lastTimeDrawn;
      var int    _zCVob_lastTimeCollected;
      var int    _zCVob_vobLeafList_array;
      var int    _zCVob_vobLeafList_numAlloc;
      var int    _zCVob_vobLeafList_numInArray;
      var int    _zCVob_trafoObjToWorld[16];
      var int    _zCVob_bbox3D_mins[3];
      var int    _zCVob_bbox3D_maxs[3];
      var int    _zCVob_bsphere3D_center[3];
      var int    _zCVob_bsphere3D_radius;
      var int    _zCVob_touchVobList_array;
      var int    _zCVob_touchVobList_numAlloc;
      var int    _zCVob_touchVobList_numInArray;
      var int    _zCVob_type;
      var int    _zCVob_groundShadowSizePacked;
      var int    _zCVob_homeWorld;
      var int    _zCVob_groundPoly;
      var int    _zCVob_callback_ai;
      var int    _zCVob_trafo;
      var int    _zCVob_visual;
      var int    _zCVob_visualAlpha;
      var int    _zCVob_m_fVobFarClipZScale;
      var int    _zCVob_m_AniMode;
      var int    _zCVob_m_aniModeStrength;
      var int    _zCVob_m_zBias;
      var int    _zCVob_rigidBody;
      var int    _zCVob_lightColorStat;
      var int    _zCVob_lightColorDyn;
      var int    _zCVob_lightDirectionStat[3];
      var int    _zCVob_vobPresetName;
      var int    _zCVob_eventManager;
      var int    _zCVob_nextOnTimer;
      var int    _zCVob_bitfield[5];
      var int    _zCVob_m_poCollisionObjectClass;
      var int    _zCVob_m_poCollisionObject;
   
    //oCMob
      var string _oCMob_name;               
      var int    _oCMob_bitfield;
      var string _oCMob_visualDestroyed;   
      var string _oCMob_ownerStr;           
      var string _oCMob_ownerGuildStr;     
      var int    _oCMob_owner;             
      var int    _oCMob_ownerGuild;         
      var int    _oCMob_focusNameIndex;     
      var int    _oCMob_ignoreVobList_data;
      var int    _oCMob_ignoreVobList_next;
     
    //oCMobInter:
      var int _oCMobInter_optimalPosList_data;
      var int _oCMobInter_optimalPosList_next;
      var string _oCMobInter_triggerTarget;
      var string _oCMobInter_useWithItem;       
      var string _oCMobInter_sceme;         
      var string _oCMobInter_conditionFunc;
      var string _oCMobInter_onStateFuncName;   
      var int _oCMobInter_state;               
      var int _oCMobInter_state_num;           
      var int _oCMobInter_state_target;     
      var int _oCMobInter_rewind;               
      var int _oCMobInter_mobStateAni;     
      var int _oCMobInter_npcStateAni;     
      var int _oCMobInter_bitfield;
      var int _oCMobInter_tmpStateChanged;
      var int _oCMobInter_Direction;       
      var int _oCMobInter_onInterruptReturnToSlotPos;   
      var int _oCMobInter_startPos[3];             
      var int _oCMobInter_aniCombHeight;               
      var int _oCMobInter_inUseVob;                 
      var int _oCMobInter_timerEnd;                 
   
    //oCMobLockable 
   
    var int bitfield;
   
    var string keyInstance;     // zSTRING //Schlüsselinstanzname
    var string pickLockStr;     // zSTRING //linksrechtscombo
};

Zdaje mi się, że coś trzeba pokombinowac, ale ja niestety nie wiem.
 
: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.

bgb

bgb

Użytkownicy
posty848
Propsy593
Profesjabrak
  • Użytkownicy
var string door; door = Npc_GetDetectedMob(Jasiu);
AI_UseMob (Jasiu, door, 1);
A spróbuj dać po prostu w dialogu:
AI_UseMob(self,"DOOR",1);


Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
var string door; door = Npc_GetDetectedMob(Jasiu);
AI_UseMob (Jasiu, door, 1);
A spróbuj dać po prostu w dialogu:
AI_UseMob(self,"DOOR",1);

Kurcze, faktycznie. Dzięki i do zamknięcia.


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