Jak działa mainflag i inne 3332 7

O temacie

Autor Toworish

Zaczęty 19.02.2016 roku

Wyświetleń 3332

Odpowiedzi 7

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Siema, chciałem prosić o prostą definicję mainflag w sensie co ona dokładnie robi, czy ona daje silnikowi instrukcję działania itemu?

chodzi o to że chciałem sobię zrobic poradnik na temat czaru pod klawisz ale bez waszej pomocy się nie objdzie

wywołam sobię B_ReadySpell (hero, 87, 0); i działa...
Ale kurwa tylko wtedy jak mam runę w eq i właściwie w skrypcie runy wymagane jest tyle:
INSTANCE ItRu_Towo (C_Item)
{
mainflag = ITEM_KAT_RUNE;
spell = SPL_Skull;
};

mainflaga i spell. chyba że macie jakiś pomysł na ominiecie tego. bo robienie efektem, to łooo w chuj roboty i to chyba bezsensownej, chyba że w ikarusie się da, bo takto efekty lecą nie z ręki a z łokcia hero, a jak stoi plecami to z pleców xd, chyba ze da się zwyczajnie ukryć item w eq jakoś ikarusem?
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Zapewne jest to określenie jakiego typu jest ten przedmiot... Cała Class'a oCItem:class oCItem {
//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;
 
// Für alle Items
VAR INT id ;
VAR STRING  name,nameID ;
VAR INT hp,hp_max ;

VAR INT     mainflag,flags ; // Hauptflag und weitere Flags
VAR INT weight,value ;

// Für Waffen
VAR INT damageType ; // Welche Schadensarten
VAR INT damageTotal ;
VAR INT damage [DAM_INDEX_MAX] ;

// Für Rüstungen
VAR INT wear ;
VAR INT protection [PROT_INDEX_MAX];

// Für Nahrung
VAR INT nutrition ; // HP-Steigerung bei Nahrung

// Benötigte Attribute zum Benutzen des Items
VAR INT cond_atr [3] ;
VAR INT cond_value [3] ;

// Attribute, die bei anlegen des Items verändert werden
VAR INT change_atr [3] ;
VAR INT change_value [3] ;

// Parserfunktionen
VAR int magic ; // Parserfunktion zum "Magie Header"
VAR int on_equip ; // Parserfunktion, wenn Item equipped wird.
VAR int on_unequip ; // Parserfunktion, wenn Item unequipped wird.
VAR int on_state [4] ; //

// Besitzer
VAR int owner ; // Besitzer : Instanz-Name
VAR INT ownerGuild ; // Besitzer : Gilde
VAR INT disguiseGuild ; // Zur Schau getragene Gilde durch Verkleidung

// Die 3DS-Datei
VAR STRING visual ;

// Veränderung des NSC-Meshes beim Anlegen dieses Gegenstandes
VAR STRING  visual_change ; // ASC - File
VAR STRING  effect; // Effekt Instanz

VAR INT visual_skin ;

VAR STRING scemeName ;
VAR INT material ;
// VAR STRING pfx ; // Magic Weapon PFX
VAR INT munition ; // Instance of Munition

var int spell ;
var int range ;

var int mag_circle ;

VAR STRING description ;
VAR STRING text [ITM_TEXT_MAX] ;
VAR INT count [ITM_TEXT_MAX] ;

// inventory darstellungs geschichten, wird nur benutzt, falls von 0 abweichend
var int     inv_zbias; //  wie weit ist das item im inventory richtung far plane verschoben (integer scale 100=1)
var int inv_rotx; //  wieviel grad um die x achse ist das item im inv gedreht
var int inv_roty; //  wieviel grad um die y achse ist das item im inv gedreht
var int inv_rotz; //  wieviel grad um die z achse ist das item im inv gedreht
var int inv_animate; //  soll das item in inv rotiert werden

var int amount; //int Wieviele Items sind das (Itemstapel)
var int instanz; //int Symbolindex
var int c_manipulation; //int ?
var int last_manipulation; //zREAL ?
var int magic_value; //int ?
var int effectVob; //oCVisualFX*
var int next; //oCItem* sind wohl einfach verkettete Listen.
};
Flagi są różne takie jak 2h_sword itp.. wszystkie są zawarte w pliku constants.d, więcej zapewne jest zapisane w samym silniku...
const int ITEM_KAT_NONE = 1 <<  0;  // Sonstiges
const int ITEM_KAT_NF = 1 <<  1;  // Nahkampfwaffen
const int ITEM_KAT_FF = 1 <<  2;  // Fernkampfwaffen
const int ITEM_KAT_MUN = 1 <<  3;  // Munition (MULTI)
const int ITEM_KAT_ARMOR = 1 <<  4;  // Ruestungen
const int ITEM_KAT_FOOD = 1 <<  5;  // Nahrungsmittel (MULTI)
const int ITEM_KAT_DOCS = 1 <<  6;  // Dokumente
const int ITEM_KAT_POTIONS = 1 <<  7;  // Traenke
const int ITEM_KAT_LIGHT = 1 <<  8;  // Lichtquellen
const int ITEM_KAT_RUNE = 1 <<  9;  // Runen/Scrolls
const int ITEM_KAT_MAGIC = 1 << 31;  // Ringe/Amulette/Guertel
const int ITEM_KAT_KEYS = ITEM_KAT_NONE;
// weapon type (flags)
const int ITEM_DAG = 1 << 13;  // (OBSOLETE!)
const int ITEM_SWD = 1 << 14;  // Schwert
const int ITEM_AXE = 1 << 15;  // Axt
const int ITEM_2HD_SWD = 1 << 16;  // Zweihaender
const int ITEM_2HD_AXE = 1 << 17;  // Streitaxt
const int ITEM_SHIELD = 1 << 18;  // (OBSOLETE!)
const int ITEM_BOW = 1 << 19;  // Bogen
const int ITEM_CROSSBOW = 1 << 20;  // Armbrust
// magic type (flags)
const int ITEM_RING = 1 << 11;  // Ring
const int ITEM_AMULET = 1 << 22;  // Amulett
const int ITEM_BELT = 1 << 24;  // Guertel
// attributes (flags)
const int ITEM_DROPPED = 1 << 10;  // (INTERNAL!)
const int ITEM_MISSION = 1 << 12;  // Missionsgegenstand
const int ITEM_MULTI = 1 << 21;  // Stapelbar
const int ITEM_NFOCUS = 1 << 23;  // (INTERNAL!)
const int ITEM_CREATEAMMO = 1 << 25;  // Erzeugt Munition selbst (magisch)
const int ITEM_NSPLIT = 1 << 26;  // Kein Split-Item (Waffe als Interact-Item!)
const int ITEM_DRINK = 1 << 27;  // (OBSOLETE!)
const int ITEM_TORCH = 1 << 28;  // Fackel
const int ITEM_THROW = 1 << 29;  // (OBSOLETE!)
const int ITEM_ACTIVE = 1 << 30;  // (INTERNAL!)
Co do twojego skryptu... Spróbuj wywołać Spell_cast... nie wiem jak to by miało wyglądać musiałbym się przyjrzeć z bliska jak by ten skrypt wyglądał...
Ciekawią mnie te dwie rzeczy :
ITEM_THROW      - Ktoś już zdołał go aktywować do użytku? (W r2.0 jest chyba aktywowany dzięki SP 1.5 za jego pomocą są zrobione duale)
Oraz :
inv_animate...-Co to jest? animowany przedmiot w ekwipunku :lol2: zapewne związane coś z rotacją.
 

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

Toworish

Jak działa mainflag i inne
#2 2016-02-19, 20:19(Ostatnia zmiana: 2016-02-19, 20:27)
Spoko, byłem w constants.d ale to wszystko chuj, gdy mainflag jest inne niż rune to nie wywołuje spella. zara sprawdzę z castem ale to raczej nie ma logiki.

Edit: nie da się ze Spell_Cast
 
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.
Mainflag daje silnikowi polecenie, jak ma używać przedmiotu. Same mainflag określa także, gdzie ma być "użyty" przedmiot, czy to ma być runa, broń dystansowa, zbroja itp.
 
: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
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Nie wiem czy było by to możliwe ale spróbować tak: Pobrać Instancje runy z ekwipunku...
Następnie przypisać ją do klawisza i spróbować wysłać zaklęcie...
Jak będę miał trochę czasu to popróbuje z tym Spell_Cast i dam odpowiedź jak wygląda skrypt...
 

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
Tylko po co ?

Głównym celem tego tematu byłoby zlikwidowanie run, a jak mam runę w eq to spokojnie mogę odpalić czar na klawiszu tak jak mi się to widzi, jak pisałem wystarczy do tego runa bez tekstów i visuali z samym mainflag oraz spell

idąc na łatwiznę wystarczyłoby zrobić runę na którą nieda się najechać w eq, aką która udawałaby puste miejsce, ale działałaby
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota

Siemekk
Złote Wrota

Jak działa mainflag i inne
#6 2016-02-19, 21:35(Ostatnia zmiana: 2016-02-19, 22:17)
Tak, ale zauważ że w gothicu jest run aż nad to więc musiałbyś zrobić coś a'la quickslot aby przypisać maksymalną ilość czarów... Ikarus wywala błędy jak jeden klawisz jest przypisany do kilku funkcji... Zamienić wszystkie runy na zwykły item to chwila roboty w NotePad++


 

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

Toworish

Jak działa mainflag i inne
#7 2016-02-20, 15:07(Ostatnia zmiana: 2016-02-20, 15:18)
czyli właściwie chuj z tego wyjdzie, bez zawansowanego operowania ikarusem. tak to napisałoby się w chuj linijek kodu który nakazywaby jakoś aby hero uzył efektu z miejsca ręki itd xd. szkoda:D

edit: btw jak coś to już próbowałem z worzeniem runy i usuwaniem jej z eq. Jest bug gdy spell jest aktywowany i wejdzie się w eq mozna spokojnie zostawić runę, tym samym sposobem można kliknąć 4 i runa wsumie zostaje w eq xd
 edit2: btw chyba że jest jakiś warunek spełniający się podczas otwierania eq w g2?
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.


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