Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Pokaż wątki - carelion

Strony: [1]
1
Materiały / Oświetlenie efektów zaklęć
« dnia: 2016-11-30, 18:52 »
W miarę czytelny skrypt dodający oświetlenie zaklęć trzymanych w dłoni, jak i tych, które są rzucone (pociski).
Mam nadzieję, że komuś się przyda  :ok:
const int zCParticleFX__Load = 5959152; //0x005AEDF0
const int zCVobLight__zCVobLight = 6323472; //0x607D10
const int zCWorld__AddVobAsChild = 6440352; //0x6245A0
const int zCWorld__RemoveVob = 6441840; //0x624B70

const int oCVisualFX__DoMovements = 4814160; //0x00497550 / 6
const int oCVisualFX__EndEffect = 4803712; //0x00494C80 / 9

const int sizeof_zCVobLight = 392; //0x188

const int SPELL_DYNAMICLIGHT_RANGE = 150; //Range of light for Vobs
const float SPELL_STATICLIGHT_RANGE = 0.004; //Range of light for LevelMesh

func int GetPfxColor(var string pfxname)
{
CALL_zStringPtrParam(pfxname); //zCParticleFX name
CALL__cdecl(zCParticleFX__Load);
var int PFX_ptr; PFX_ptr = CALL_RetValAsInt(); //zCParticleFX
var int ParticleEm; ParticleEm = MEM_ReadInt(PFX_ptr+84); //zCParticleFX.m_pEm
var string ParticleColS; ParticleColS = MEM_ReadString(ParticleEm+412); //zCParticleEmitter.m_sVisTexColorStart
var string ParticleColE; ParticleColE = MEM_ReadString(ParticleEm+432); //zCParticleEmitter.m_sVisTexColorEnd

var int PFXColS[3]; var int PFXColE[3];
PFXColS[0] = STR_ToInt(STR_Split(ParticleColS, " ", 0)); PFXColE[0] = STR_ToInt(STR_Split(ParticleColE, " ", 0));
PFXColS[1] = STR_ToInt(STR_Split(ParticleColS, " ", 1)); PFXColE[1] = STR_ToInt(STR_Split(ParticleColE, " ", 1));
PFXColS[2] = STR_ToInt(STR_Split(ParticleColS, " ", 2)); PFXColE[2] = STR_ToInt(STR_Split(ParticleColE, " ", 2));

return RGBA((PFXColS[0]+PFXColE[0])/2, (PFXColS[1]+PFXColE[1])/2, (PFXColS[2]+PFXColE[2])/2, 255);
};

func int VFX_isSpell(var string vfx) {
var int vfx_l; vfx_l = STR_Len(vfx);
if(vfx_l<10) { return false; };
if(STR_Compare(STR_SubStr(vfx, 0, 3), "MFX")) { return false; };
if(!STR_Compare(STR_SubStr(vfx, vfx_l-5, vfx_l-1), "_INIT"))
||(!STR_Compare(STR_SubStr(vfx, vfx_l-5, vfx_l-1), "_CAST")) { return true; };

return false;
};

func int AddLightToVFX(var int VFXPtr) {
var int lightPtr; lightPtr = MEM_Alloc(sizeof_zCVobLight);
    CALL__thiscall(lightPtr, zCVobLight__zCVobLight);

var zCVobLight light; light = _^(lightPtr);

//Configure
light.lightColor = GetPfxColor(MEM_ReadString(ECX+288)); //PFX name
light.range = mkf(SPELL_DYNAMICLIGHT_RANGE);
light.rangeInv = castToIntf(SPELL_STATICLIGHT_RANGE);

light.bitfield = zCVobLight_bitfield_isTurnedOn;

MEM_CopyWords(VFXPtr+60, lightPtr+60, 16);

CALL_PtrParam(MEM_ReadInt(VFXPtr+36)); //zCVisualFX._zCVob_globalVobTreeNode
    CALL_PtrParam(lightPtr);
    CALL__thiscall(_@(MEM_World), zCWorld__AddVobAsChild);

return lightPtr;
};

func void VisualFX_DoMovements() {
var String PFXName; PFXName = MEM_ReadString(ECX+288);

if(!VFX_isSpell(PFXName)) { return; };
if(MEM_ReadInt(ECX+216)>0) { return; }; //Check if zCVobLight is created

MEM_WriteInt(ECX+216, AddLightToVFX(ECX));
};

func void VisualFX_EndEffect() {
var String PFXName; PFXName = MEM_ReadString(ECX+288);

if(!VFX_isSpell(PFXName)) { return; };
if(MEM_ReadInt(ECX+216)==0) { return; }; //Check if zCVobLight is not created

//Delete zCVobLight
CALL_PtrParam(MEM_ReadInt(ECX+216));
CALL__thiscall(_@(MEM_World), zCWorld__RemoveVob);
};

func void SpellLight_Init() {
HookEngineF(oCVisualFX__DoMovements, 6, VisualFX_DoMovements);
HookEngineF(oCVisualFX__EndEffect, 9, VisualFX_EndEffect);
};
UWAGA: Skrypt do działania wymaga pakietów skryptowych Ikarus&LeGo.
Album

2
MDS i animacje / Nakładanie animowanych modelów na NPC
« dnia: 2015-07-11, 00:28 »
Nakładanie animowanych modelów na NPC

Witam, w tym tutorialu dowiesz się jak nałożyć dwa animowane modele o tych samych kościach na npc  :P


1. Otwórz plik mds wybranego przez ciebie potwora lub ludzi, w moim przypadku HumanS.mds
2. Prawie na początku pliku zobaczysz linijkę z tą zawartością:
Cytuj
meshAndTree ("Hum_Body_Naked0.ASC" DONT_USE_MESH)
meshAndTree odpowiada za ustawienie szkieletu na którym będą opierały się wszystkie animacje w tym MDS'ie

"Hum_Body_Naked0.ASC" zawiera model bazowy na którego kościach będą opierały się animacje

DONT_USE_MESH odpowiada za to czy model bazowy ma być widoczny

3. Zamiast Hum_Body_Naked0.ASC wpisz nazwe pliku ASC który zawiera takie same kości i ma być ciągle wyświetlany.

4. Usuń DONT_USE_MESH by model mógł się wyświetlać, wtedy to będzie wyglądać mniej więcej tak:
meshAndTree ("Nazwaplikuasc.ASC")
5. UWAGA! Wszystkie ustawione w skryptach npc, ciała lub zbroje będą traktowane jako drugi model.

6. Usuń skompilowaną wersje pliku mds w moim przypadku Humans.mds (pliki Humans.mdh i Humans.msb)

Odpal grę!

A oto jak prezentuje się w grze:
Spoiler

3
Unity / Używanie TreeEditor poza edytorem
« dnia: 2015-05-31, 23:04 »
Witam, stworzyłem sobię skrypt dzięki któremu model się deformuje:
using UnityEngine;
using System.Collections;
using TreeEditor;

public class Noise : MonoBehaviour {

public float scale = 1.0f;
public float speed = 1.0f;
private GameObject obj;

private Vector3[] baseVertices;
private Perlin noise;
void Start()
{
noise = new Perlin();
}

void Update()
{
Mesh mesh = GetComponent<MeshFilter>().mesh;

if (baseVertices == null)
baseVertices = mesh.vertices;

Vector3[] vertices = new Vector3[baseVertices.Length];

float time = Time.time * speed;

for(var i=0;i<vertices.Length;i++)
{
var vertex = baseVertices[i];
vertex.x += noise.Noise(time + vertex.x, time + vertex.x, time + vertex.x) * scale;
vertex.z += noise.Noise(time + vertex.z, time + vertex.z, time + vertex.z) * scale;
vertices[i] = vertex;
}
mesh.vertices = vertices;
}
}

Wszystko działa dobrze, jednak przy próbie budowania projektu wyskakuje komunikat o treści:
error CS0246: The type or namespace name `TreeEditor' could not be found. Are you missing a using directive or an assembly reference?Z tego co wyczytałem w internecie 'TreeEditor' jest dostępne tylko z poziomu edytora, ale czy da się użyć klasy Perlin itp. w grze? A jeśli tak to jak?

4
Skrypty / Pola przedmiotów w ekwipunku
« dnia: 2014-08-25, 19:47 »
Witam. Czy jest możliwa modyfikacja tła jednego z pól w ekwipunku tylko dla jednego przedmiotu oraz czy jest możliwe sprawdzanie położenia danego pola(x, y)?

5
Skrypty / Pobieranie instance przedmiotu w ekwipunku
« dnia: 2014-08-05, 10:40 »
Witam. Potrzebuje pobrać  instance namierzonego przedmiotu w ekwipunku. Niestety kiedy próbuje pobrać instance przedmiotu z mainflag ITEM_KAT_MAGIC nie działa.
Oto skrypt który jest wywoływany w oCNpc__EquipItem przez HookEngine:
var c_npc slf; slf = MEM_PtrToInst(ECX);
var oCNpc _slf; _slf = Hlp_GetNpc(slf);
Npc_GetInvItemBySlot(_slf, 0, _slf.inventory2_oCItemContainer_selectedItem);
print(item.name);
A tu drugi skrypt który też nie działa:
var int itemPtr; itemPtr = MEM_ReadInt(ESP+4);
var c_item _item; _item = MEM_PtrToInst(itemPtr);
print(_item.name);
Czy ktoś ma jakiś pomysł?

6
Pytania i problemy / Jesli jestesmy w menu statystyk
« dnia: 2013-12-13, 18:39 »
Witam, czy wie ktoś może jak nazywa się warunek gdy bohater jest w menu statystyk?

7
Pytania i problemy / [C_ItmHasFlag]Undefined function
« dnia: 2013-11-24, 20:34 »
Witam mam problem z parsowaniem skryptu ponieważ wyskakuje mi błąd :
[F] 00:24 Fatal:-1 U:    PAR: Undefined function : C_ITMHASFLAG ( line 197 ) .... <zParser.cpp,#599>a oto część skryptu :
var int itm_id;
itm_id = Hlp_Getinstanceid(item);
if !C_ItmHasFlag(item,1<<30)
{
//zawartość...
};

Dodam że chodzi tu o gothica 2.

8
Pytania i problemy / Znikający pasek
« dnia: 2013-11-21, 15:05 »
Witam, od kiedy zainstalowałem na nowo gothica na innym komputerze wgrałem Ikarusa, LeGo i fixa 2.6
wszystkie paski zrobione przeze mnie znikają ale reszta działa np. Kursor,FrameFunctions itp.

Czy wie ktoś czym to może być spowodowane?

EDIT:Problem został rozwiązany musiałem przeinstalować gothica Temat do Zamknięcia.

9
Pytania i problemy / Funkcja Npc jest podczas dialogu
« dnia: 2013-11-13, 11:34 »
Witam otóż mój problem jest taki że niewiem jaka jest funkcja odpowiadająca za to że NPC jest podczas dialogu.

10
Pytania i problemy / Tekstura paska
« dnia: 2013-07-06, 10:33 »
Witam czy wie ktoś może jak zrobić by tekstury pasków się nie zwężały tylko ucinały wraz z mniejszą ilością.

11
Skrypty / [LeGo] MiniMap
« dnia: 2013-06-02, 13:53 »
Witam otóż próbowałem zrobić mini-mapę z tego tematu ale wywołuję mi błąd przy wczytywaniu Topics.d
a dokładniej taki:
U:PAR: Unknown identifier : MEM_ARRAYSORTFUNC ( line 173 )
w skrypcie w pobliżu tej linijki:
   if(l > Topics_MaxTargets) {
        ExternalAcceptVobs();

        MEM_ArraySortFunc(t.positionsList, _Topics_DistCalculator);

        ExternalDenyVobs();
        p.numInArray = Topics_MaxTargets;
    };
czy wie ktoś może jak to naprawić?

12
Pytania i problemy / Lego - FrameFunctions
« dnia: 2013-06-01, 11:04 »
Witam czy mógłby ktoś podesłać mi frame functions z lego gdyż nie wyświetla mi strony.

13
Pytania i problemy / Chodzenie po wodzie
« dnia: 2013-04-26, 15:24 »
Witam mam pytanie czy wie ktoś jak zrobić że jak nacisne przycisk lub zmienna będzie na 1 to postać będzie potrafiła chodzić po wodzie.

14
Pytania i problemy / Brak reakcji
« dnia: 2013-04-12, 20:59 »
witam napisałem skrypt ale nie wywołuje MDSa
skrypt:
   var int ckeey;  
        ckeey  = MEM_KeyState(KEY_G);
                 
if (ckeey == KEY_HOLD)                
{
                Mdl_ApplyOverlayMDS        (self, "HUMANS_SPRINT.MDS");
       
};
   
przy dodaniu samego print screena pod klawisz też się nic nie dzieje posiadam ikarus 1.2 i LeGo 2.2.1

15
Skrypty / Zmiana nazwy NPC
« dnia: 2013-04-08, 16:17 »
Witam mam pytanie jak zrobić by po dialogu dany NPC zmieniał nazwę na inną.
Np. Rozmawiamy z Nieznajomym i po pewnym dialogu jego nazwa "Nieznajomy" zmienia się na np. "Xardas"

16
Pytania i problemy / Blender
« dnia: 2013-03-18, 21:47 »
Witam wszystkich mam problem gdyż jak zrobi zbroje do gothica i wyeksportuje kerraxem to zapisuje jedną teksture a nie 2
(mam ustawione 2) czy wie ktoś jak rozwiązać problem?

17
Witam czy wie ktoś jak zrobić że jak mamy 0 punktów many i nauczymy się specjalnej umiejętności to dalej da się czarować dalej tylko z ubytkiem na życiu.

18
Pytania i problemy / Losowe animacje śmierci
« dnia: 2013-03-10, 11:23 »
Witam otóż mam pytanie czy da się w gothic'u zrobić losowe animacje śmierci?

Chodzi mi na razie tylko dla ludzi.

19
Pytania i problemy / Pasek życia
« dnia: 2013-03-06, 15:14 »
Witam mam problem z paskiem życia otóż chciałbym go przenieść na inną pozycję ale nie wiem jak.

jak nie dało by się go przenieść chciałbym go ukryć tak jak się da za pomocą skryptu lehony na ciągle widoczny pasek many.

20
Pytania i problemy / Pasek skrótów
« dnia: 2013-02-22, 14:06 »
Czy ktoś wie jak zrobić taki pasek skrótów? (screen poniżej)


Strony: [1]
Do góry