Ikarus (Pakiet skryptów) 413423 1020

O temacie

Autor orcwarrior

Zaczęty 11.06.2010 roku

Wyświetleń 413423

Odpowiedzi 1020

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Ja po dziś dzień nie wiem co to AST i jakoś nie mam ochoty w ogóle tego szukać... #Lenistwo
 
: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.

Halicor

Halicor

Użytkownicy
Hauptsturmfuhrer
posty365
Propsy57
ProfesjaNierób
  • Użytkownicy
  • Hauptsturmfuhrer
https://www.youtube.com/watch?v=UCDKXqH5S_K
tutaj znajduje sie kilka filmików z wykorzystaniem AST :)

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Ja po dziś dzień nie wiem co to AST i jakoś nie mam ochoty w ogóle tego szukać... #Lenistwo
Narzędzie implementujące do Gothica masę innowacji, między innymi słynne celowanie z łuku, pasek skrótów, tworzenie zrzutów ekranu, ptaki (latające po niebie), kradzież kieszonkowa z G1, wierzchowce i sporo przydatnych funkcji, które można wywoływać z poziomu skryptów. Z tego co wyczytałem, to będzie też możliwe zadawanie obrażeń bronią do walki wręcz na podstawie kolizji, jak w Czasie Zapłaty. Będą 3 wersje AST - podstawowa, rozszerzona i najbardziej napakowana (ultimate). Każdą oferowaną rzecz będzie można włączyć lub wyłączyć wedle życzenia. Pakiety skryptowe nie będą kompatybilne, chyba że ktoś przepisze na nowo wszystkie adresy.

Temat: http://worldofplayers.ru/threads/39266/
 
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
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Obecnie sam korzystam z niepublicznej wersji AST (z Returning'a 0056) Powiem, że mam bardzo miłe odczucia.  Używałem min. funkcji Menu_ReadInt()- Do np. wyłączania XP_bar w menu. Działa to natychmiast i nie potrzebuje ReInitu gry.
Używałem też funkcji Ext_PutInSlot do kołczanów. Świetne! Zwłaszcza że nie muszę jej debugować w Startup.d
Ogólne funkcji jest mnóstwo i jeszcze nie miałem czasu wszystkich przetestować, ale naprawdę świetna biblioteka.
Celowanie nie wiem na jakiej zasadzie działa :I Wiem, że trzeba je wywołać w Menu_Opt.d ale wszelkie prób u mnie nie dają skutku.
Mimo to czekam ciągle na wersję Ultimate która myślę że pozwoli na naprawdę dużo. Ale coś Rosjanie nie śpieszą się z premierą :/
P.S gdy będę miał dostęp do swojego PC to może założę tu temat o AST i poproszę o danie mu priorytetu :) (Coś Mam nadzieje że Administratorzy udzielą takiego pozwolenia])
 

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

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Cytuj
Do np. wyłączania XP_bar w menu. Działa to natychmiast i nie potrzebuje ReInitu gry.
Bez AST też dało się to zrobić.
http://themodders.org/index.php?topic=22560.0
 
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
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Wiem, próbowałem, ale  u mnie to nie działało XDDDD Ale mniejsza i tak teraz bardziej podoba mi się AST, zwłaszcza że u mnie jakimś cudem działa z Ikarusem .__.
 

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

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Właśnie opatentowałem coś, co w łatwy sposób załatwia problem ograniczonej liczby aivarów. Zastosowań pakietu PermMem jest cała masa, i to co chcemy zrobić jest zależne tylko od naszej wyobraźni (i rozumu). Dla tego znalazłem już kilka zastosowań, między innymi mikstury o czasowym efekcie, działające także na npc oraz bardzo rozbudowany system trucizn. Do wyboru do koloru. Więcej wyjaśnię później, jeśli ktoś ma jakieś pytania.
const int MAX_ADDITIONAL_AIVARS = 20; //można więcej
const int AIV_AivarsData = 99;

class MoreAivars
{
    var int aivar[MAX_ADDITIONAL_AIVARS];
};

instance MoreAivars@ (MoreAivars);

func void SetAdditionalAivar (var c_npc slf, var int offset, var int value)
{
    if (!Hlp_IsValidHandle (MEM_ReadStatArr (slf.aivar, AIV_AivarsData)))
    {
    slf.aivar[AIV_AivarsData] = new (MoreAivars@);
    };

    MEM_WriteIntArray (getPtr (MEM_ReadStatArr (slf.aivar, AIV_AivarsData)), offset, value);
};

func int GetAdditionalAivar (var c_npc slf, var int offset)
{
    if (Hlp_IsValidHandle (MEM_ReadStatArr (slf.aivar, AIV_AivarsData)))
    {
    return MEM_ReadIntArray (getPtr (MEM_ReadStatArr (slf.aivar, AIV_AivarsData)), offset);
    };
};

func void ClearAdditionalAivars (var c_npc slf)
{
    if (Hlp_IsValidHandle (MEM_ReadStatArr (slf.aivar, AIV_AivarsData)))
    {
    var int i; i = 0;
    var int pos; pos = MEM_StackPos.position;

        if (i < MAX_ADDITIONAL_AIVARS)
        {
        SetAdditionalAivar (slf, i, 0);
i += 1;
MEM_StackPos.position = pos;
        };
    };
};
 
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
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Wystarczy slf.aivar[111] = True;
W ogóle czy na LeGo Wiki jest tutorial do PermMem???  Bo z chęcią bym napisał solidny system trucizn.
 

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

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Cytuj
Wystarczy slf.aivar[111] = True;
Nie wystarczy, bo jest 100 aivarów, z czego tylko kilka zostało nieużytych, a zwiększyć rozmiar tablicy nie da się poziomu skryptów.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič

Cytuj
Dla tego znalazłem już kilka zastosowań, między innymi mikstury o czasowym efekcie, działające także na npc oraz bardzo rozbudowany system trucizn. Do wyboru do koloru. Więcej wyjaśnię później, jeśli ktoś ma jakieś pytania.
@Splash
http://lego.worldofplayers.de/?Buffs
Chyba pojawy się w następnym LeGo
 


Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Póki co pakiet Buffs nie jest dostępny, a mój system działa dobrze :D
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
To prawda, ale ostatnio na forum pisali ze PermMem nie działa dobrze przy zmiane świata.
WoG
 


Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Nie powinno być problemów z tym, bo ten skrypt wykorzystuje znacznie mniej niż paski, z którymi nie ma problemów przy zmianie świata. Ale z pakietem Sprite niestety już tak.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
chodzi raczej o można stratę danych z permem przy levelchange. Sam mam z tym problem v G1-
 


Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Przed chwilą sprawdziłem i wszystko działa tak, jak powinno :ok:
 
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
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Wracając do kolizji broni z NPC... Carelion powiedział mi że ork zrobił taki myk, że przerobił vfx na vob i ustawił tak aby się wywoływał podczas ataku. Dzięki czemu pozycje broni nie były równe 0...
func int I_zCTreeSearchVFX(var int ptr)
{
if(ptr==0){printdebug("ERROR!!!");};
var string name;
        name = "R_SWORDDAMAGE VOB";
var int label; var int val; var int first_ptr; var int previous;
first_ptr = ptr;
val = MEM_ReadInt(ptr+16);//data zCVobVFX?
if(val)
{
if(MEM_ReadInt(val)==8200452)&&(Hlp_StrCmp(MEM_ReadString(val+16),name))
{
return val;           
};
};

MEM_InitLabels();
label = MEM_StackPos.position; 
if(previous)
{
ptr = MEM_ReadInt(ptr+12);//next               
}
else
{
ptr = MEM_ReadInt(ptr+8);//next
};
if(ptr==0)
{
previous=true;
ptr=first_ptr;
MEM_StackPos.position = label;
};
val = MEM_ReadInt(ptr+16);//data zCVobVFX?
if(val)
{
if(MEM_ReadInt(val)==8200452)&&(Hlp_StrCmp(MEM_ReadString(val+16),name))
{
return val;           
}
else if (first_ptr!=ptr)
{
MEM_StackPos.position = label; 
};
}
else
{
return 0;
};


};
To ta funkcja, post zedytuje gdy wejdę na swój PC (odnalazłem właściwe wskaźniki do G2 używając IDA.)
Teraz dalej. Ork w trigerze wywoływał WLD_PlayEffect(vfx) gdy ptr był równy 0.
Następnie pobierał wskaźniki do zCVob dzięki czemuś takiemu:
var int m11,var int m14;
var int m21,var int m24;
var int m31,var int m34;
var int dist;
//------------------
// Right Hand
//------------------

m11 =  MEM_ReadInt(R_SWDDMG_PTR+60);
m14 =  MEM_ReadInt(R_SWDDMG_PTR+72);

m21 =  MEM_ReadInt(R_SWDDMG_PTR+76);
m24 =  MEM_ReadInt(R_SWDDMG_PTR+88);

m31 =  MEM_ReadInt(R_SWDDMG_PTR+92);
m34 =  MEM_ReadInt(R_SWDDMG_PTR+104); 

item = Npc_GetReadiedWeapon(hero);
dist = mkf(item.range);
dist = negf(dist);//-N



HeroDamage_Hitpos1_X = mulf(dist,m11);
HeroDamage_Hitpos1_Y = mulf(dist,m21);
HeroDamage_Hitpos1_Z = mulf(dist,m31);

HeroDamage_Hitpos1_X = addf(HeroDamage_Hitpos1_X,m14);
HeroDamage_Hitpos1_Y = addf(HeroDamage_Hitpos1_Y,m24);
HeroDamage_Hitpos1_Z = addf(HeroDamage_Hitpos1_Z,m34);


dist = divf(dist,mkf(2));//-N/2

HeroDamage_Hitpos2_X = mulf(m11, dist);
HeroDamage_Hitpos2_Y = mulf(m21, dist);
HeroDamage_Hitpos2_Z = mulf(m31, dist);

HeroDamage_Hitpos2_X = addf(HeroDamage_Hitpos2_X,m14);
HeroDamage_Hitpos2_Y = addf(HeroDamage_Hitpos2_Y,m24);
HeroDamage_Hitpos2_Z = addf(HeroDamage_Hitpos2_Z,m34);         

I potem kolizja, tylko nie wiem jednego ;/
Po co ork dawał Aivar w kolizji ???
Spoiler
if(ret_sum/10>=3)||(ret_sum%10==3)
{
//Set New Aiviar
nPtr = ptr_npc+576;
nPtr = nPtr + AIV_DAMAGEID*4; 
hlp = MEM_ReadInt(nPtr);

//if(ret_sum%10==3)&&(ret_sum/10-(ret_sum%1)==3)

//      hlp = hlp%10;
if(hlp==HeroDamage_DamageID+2)
{
hlp = HeroDamage_DamageID+3;
}
else
{                             
hlp = HeroDamage_DamageID+1;
};
//      var int j;
//      j = hlp%10;
//      if(j>3)
//      {
//      hlp = hlp - j + 3;     
//      };
MEM_WriteInt(nPtr,hlp);
Czy bez Aivara ma szanse się nie bugować ?
 

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

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Pytaj Orka, nie nas.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Mogę się mylić bo widzę że skrypt jest brutalnie ucięty, ale jeżeli chodzi o obrażenia obszarowe to zakładam że unika problemu zadawania ich kilkukrotnie dla tej samej postaci.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Już mam :D tylko musze dodać poprawki, ale broń koliduje z npc.
@Splash mógłbyś opisać trochę PermMem?  Jak mówiłem, chciałbym zrobić Managera oraz trucizny,  a ty mówisz ze za jego pomocą można uzyskac takie efekty?  Więc było by miło gdybyś opisał chociaż podstawy :)
 

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

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
zajrzyj do lego i bars.d to dobry początek
 



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