[SKRYPTY] Rozmiary klas i nieużywane zmienne. 4326 6

O temacie

Autor _Karol_

Zaczęty 16.07.2016 roku

Wyświetleń 4326

Odpowiedzi 6

K4R0L111

K4R0L111

Użytkownicy
posty31
Propsy14
ProfesjaSkrypter
  • Zbanowany
Poświęciłem trochę czasu żeby to osiągnąć. Ale już jest zrobione i oddaję to wam do wykorzystania.
Wszystko robiłem metodą prób i błędów.

Wszystko jest przeliczone na bity.

Rozmiar typów zmiennych:
int = 4
func = 4
float = 4
string = 20

Rozmiar klas:
C_NPC = 800
C_MISSION =
C_ITEM = 524
C_FOCUS =
C_INFO = 48
C_ITEMREACT
C_SPELL =

Nieużywane zmienne w klasach:
C_NPC - Rozmiar nieużywanychzmiennych = 156
{
·   var string name[1];
·   var string name[2];
·   var string name[3];
·   var string name[4];
·   var string slot;
·   var func mission[0];
·   var func mission[1];
·   var func mission[2];
·   var func mission[3];
·   var func mission[4];
·   var int weapon;
·   var int voicePitch;
·   var int bodymass;
·   var string spawnPoint;
·   var int spawnDelay;
};

C_ITEM - Rozmiar nieużywanych zmiennych = 68
{
·   var int id;
·   var string nameID;
·   var int nutrition;
·   var int change_atr[0];
·   var int change_atr[1];
·   var int change_atr[2];
·   var int change_value[0];
·   var int change_value[1];
·   var int change_value[2];
·   var func magic;
·   var int ownerGuild;
·   var int disguiseGuild;
·   var int inv_animate;
};
C_INFO - Rozmiar nieużywanych zmiennych = 0
{
};

FOgidel

FOgidel

Użytkownicy
posty60
Propsy100
ProfesjaSkrypter
  • Użytkownicy
W C_NPC nie dodałeś jeszcze części aivarów. Poza tym, czy jesteś absolutnie pewien, że nawet jeśli zmienna jest nieużywana w zwykłych skryptach, to czy na 100% jest zbędna w każdej sytuacji? I jeszcze: Czy nawet jeśli są 100% zbędne, to czy nie można ich użyć (tylko pod taką nazwą jaką mają)?
 

K4R0L111

K4R0L111

Użytkownicy
posty31
Propsy14
ProfesjaSkrypter
  • Zbanowany
Aivarów żadnych nie patrzyłem i nie dodałem. Nie jestem pewny na 100% dlatego napisałem że są to nieużywane a nie niewykorzystane.

Np. Inv_animate jest niewykorzystany w skryptach a można go użyć.
Wystarczy dodać do instance przedmiotu: inv_animate = TRUE; i wtedy przedmiot zacznie się obracać w ekwipunku.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1153
ProfesjaProgramista
  • Złote Wrota
Ja jednego nie rozumiem... C_NPC C_ITEM to są klasy tylko dla przedmiotów i npc.  Orginalne klasy są w silniku/kodzie źródłowym. To co podałeś to tylko zaledwie 4 klasy z którymi nie da się nic zrobić poza przedmiotami czy NPC'tami.
Orginalne/ prawdziwe klasy mają początek oC-Klasa
2) Klasy MUSZĄ się kiedyś skończyć.
C_SPELL ma rozmiar 44-48 nie jestem pewien.
Klasy to także odniesienia do zmiennych np. var oCNPC hiro; odniesienie do klasy oCNpc...
Cytuj
int = 4
func = 4
float = 4
string = 20
Zapomniałeś dopisać że są to bajty i służą do pracy w klasach i Ikarusie (tzw. pointery)
Klas orginalnie jest bardzo dużo a nie 7 bodajże ok. 100.
Więc poleciłbym dopisać do nazwy tematu (Bez Ikarusa)
 

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

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator
Nie trzeba pisać o Ikarusie, Ikarus to przecież tylko jeden ze sposobów dostępu do klas silnika.
Ale faktycznie można by chociaż wspomnieć że to klasy skryptowe. One są czymś w stylu minimalnego interfejsu na klasy silnika które były potrzebne do programowania rozgrywki.

To co pokazał przy rozmiarach prostych typów to nie pointery, to rozmiary - "sizeofy". Nie jestem pewien czy właśnie tyle wynoszą.
Klasy to nie "odniesienia do zmiennych". Zmienne są określonego typu, a typ może być zdefiniowany jako klasa.

Ten tutorial nie miał wyjaśniać niczego związanego z klasami silnika. Chodziło o pokazanie tego, jak bez ingerowania w działanie silnika można przechować w używanych w skryptach klasach dodatkowe informacje. Korzystając z tego że najwyraźniej klasy silnikowe są reinterpret-castowane na odpowiedniki opisane w skrypcie. Bo raczej żadnego mechanizmu "maszyny wirtualnej" z dynamicznymi klasami tam nie ma. Nie da się instancjonować obiektów własnej klasy, więc byłoby to zbędne.

Splash

Splash

Moderator
posty4208
Propsy3410
ProfesjaNierób
  • Moderator
Skoro poruszamy temat klas, to czy można bez żadnych problemów zwiększyć rozmiar tablicy w klasie wstrzykując zmodyfikowaną klasę przez bibliotekę? 7 wolnych aivarów to dla mnie za mało.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Karloss

Karloss

Użytkownicy
posty11
Propsy4
ProfesjaNierób
  • Zbanowany
Niedługo nieprawidłowy rozmiar klasy to będzie przeszłość.
Niech tylko wyjdzie ReGoth.
 
Pomogłem? Daj propsa :)


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