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 - Graveir

Strony: [1] 2 3 ... 12
1
Hai. Mam taki dziwny problem, że dodałem sobie parę postaci i w ich rutynach pododawałem TA_Smalltalk w bliskich sobie Freepointach, żeby było wiadomo, która postać gada z którą. Jednak o ile Jesse(pierwszy skrypt) o godzinie 14 poprawnie wykonuje swoją rutynę i staje w danym freepoincie, to kopacz(skrypt drugi) stoi jak wryty i się nie rusza. Dopiero jak wejdę za pomocą marvina w jego ciało i podejdę +- 4 cm w stronę Jessiego, to odblokowuje się i normalnie prowadzi rozmowę. Gdzie jest pies pogrzebany?
instance VLK_564_Jesse (Npc_Default)
{
//-------- primary data --------

name = "Jesse";
npctype = npctype_main;
guild = GIL_NONE;     
level = 4;


voice = 20;
id = 7038;


//-------- abilities --------

attribute[ATR_STRENGTH] = 20;
attribute[ATR_DEXTERITY] = 10;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX] = 88;
attribute[ATR_HITPOINTS] = 88;

//-------- visuals --------
// animations
Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self,"Humans_Tired.mds");
// body mesh, head mesh, hairmesh, face-tex, hair-tex, skin
Mdl_SetVisualBody (self,"hum_body_Naked0",2,1,"Hum_Head_FatBald", Face_N_NormalBart_Huno,  1,VLK_ARMOR_L);

fight_tactic = FAI_HUMAN_COWARD;


//-------- Talents  --------                                   

////Npc_SetTalentSkill (self, NPC_TALENT_1H,1);

//-------- inventory --------                                   

EquipItem (self, ItMw_1h_Nailmace_01);
CreateInvItem (self, ItMwPickaxe);
CreateInvItem (self, Itfo_Potion_Water_01);

aivar[AIV_GUILD] = KOP;
//-------------Daily Routine-------------
daily_routine = Rtn_Start_7038;
};



FUNC VOID Rtn_start_7038 ()
{
TA_Stand_Drinking (08,00,12,00,"OCR_OUTSIDE_HUT_66");
TA_Cook_Pan (12,00,14,00,"OCR_OUTSIDE_HUT_63_COOK");
TA_Smalltalk (14,00,17,00,"FP_SMALLTALK_A_EFIRE_D");
TA_Sit_All (17,00,20,00,"SIT_1");
TA_Sleep (20,00,08,00,"OCR_HUT_66");
};
A tu skrypt Kopacza
instance VLK_575_Buddler (Npc_Default)
{
//-------- primary data --------

name = "Kopacz";
npctype = npctype_ambient;
guild = GIL_NONE;     
level = 4;


voice = 20;
id = 7039;


//-------- abilities --------

attribute[ATR_STRENGTH] = 20;
attribute[ATR_DEXTERITY] = 10;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX] = 88;
attribute[ATR_HITPOINTS] = 88;

//-------- visuals --------
// animations
Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self,"Humans_Tired.mds");
// body mesh, head mesh, hairmesh, face-tex, hair-tex, skin
B_SetNpcVisual (self, MALE, "Hum_Head_Bald", Face_N_NormalBart17, BodyTex_N, NO_ARMOR);
Mdl_SetModelFatness (self, 0);

fight_tactic = FAI_HUMAN_COWARD;

//-------- Talents --------                                   
aivar[AIV_GUILD] = KOP;

//-------- inventory --------                                   

EquipItem (self, ItMw_1h_Club_01);
CreateInvItem (self, ItFoApple);


//-------------Daily Routine-------------
daily_routine = Rtn_start_7039;
};

FUNC VOID Rtn_start_7039 ()
{
TA_Sleep (22,45,06,30,"OCR_HUT_67");
TA_Stand_Eating  (06,30,14,00,"OCR_OUTSIDE_HUT_67");
TA_Smalltalk (14,00,17,00,"FP_SMALLTALK_B_FIRE_E");
TA_Sit_All (17,00,22,45,"SIT_3");
};
2)Dodatkowo, jest jakiś "ludzki" sposób na zamienie instancji przedmiotu potrzebnego do otwierania skrzyni, jeśli nie ma się bazowego? Coś na zasadzie, że jeśli gra odczyta, że nie mamy w ekwipunku wytrychu(itke_lockpick), ale mamy przedmiot (itmi_wytrych), to nadal możemy próbować włamać się do skrzyni(i przy porażce tracimy ten drugi przedmiot)?
3)Pamięta ktoś, gdzie się włączało te boxy do dialogów "zewnętrznych", typu właśnie SmallTalk? Że widzimy, o czym rozmawiają postacie "między sobą"
4)I chwilowo ostatnie pytanie - jeśli postać kopacza(dodana do Startup.d) stoi dość nienaturalnie po rozpoczęciu gry, to może być to wina podłoża(nierówności/krzywa mapa itp)? Na zdjęciu widać, że wygląda to tak, jakby stał na jednej nodze.
https://imgur.com/a/6XneMOP

2
Pytanie krótkie i zwięzłe. Czy ciągłe wyskakiwanie AV po wyłączeniu gry może uszkodzić zapisy gry? A jeśli tak, to czy na 100% czy to kwestia losowości - jednym uszkodzi, a innym nie?

3
Pytania i problemy / Gothic 2 - pozycja gracza na mapie?
« dnia: 2020-02-13, 17:34 »
Takie pytanie. Czy można w jakiś w miarę prosty sposób ustawić pozycję gracza na danej mapce lokacji? Konkretnie chodzi mi o szkic świątyni z G1. Patrząc po skrypcie innych map zauważyłem, że chyba funkcja "Doc_SetLevelCoords" odpowiada za pokazanie się znacznika postaci po otwarciu mapy. No i zrobiłem mały dopisek, przez co mój skrypt wygląda tak:
INSTANCE ItWrTemplemap(C_Item)
{
name = "Mapa";

mainflag = ITEM_KAT_DOCS;
flags = ITEM_MISSION;

value = 30;

visual = "ItWr_Map_01.3DS";
material = MAT_LEATHER;

scemeName = "MAP";
on_state[0] = UseTemplemap;

description = "Szkic świątyni";
TEXT[4] = NAME_Value; COUNT[4] = value;
};

FUNC VOID UseTemplemap()
{
if (Npc_IsPlayer(self))
{
B_SetPlayerMap(ItWrTemplemap);
};

var int nDocID;

nDocID = Doc_CreateMap ()   ; // DocManager
Doc_SetPages ( nDocID, 1 );
Doc_SetPage ( nDocID, 0, "Map_Temple.tga", 1 );  //  1 -> DO NOT SCALE
Doc_SetLevel ( nDocID, "OldWorld\ORCTEMPEL1.ZEN" ); // Positionsanzeige funzt nicht!
Doc_SetLevelCoords  (nDocID, -43000, 50000, 170000, -29000);
Doc_Show ( nDocID );
};
I o ile znacznik faktycznie się pojawił, to różnica w położeniu gracza jest dość znacząca. Poniżej zdjęcie pokazujące, gdzie jest wskaźnik, a gdzie faktycznie znajdowała się postać.
https://imgur.com/Q5iU1mk
Żółta kreska pokazuje miejsce, gdzie naprawdę stałem(przed pierwszą bramą), a wskaźnik pozycji był na schodach do 1 sali. Więc czy jest możliwość, żeby wskaźnik był tak dokładny jak w zwykłych mapach?

4
Skrypty / [G2] Party member atakujący innego npc?
« dnia: 2019-12-25, 13:23 »
Czy istnieje jakiś sposób, żeby sprawdzić, czy bohater nie należy do instancji Other? Bo chciałbym zrobić tak, żeby postać, która posiada self.aivar[AIV_PARTYMEMBER] = TRUE; atakowała postać, którą my zaatakujemy lub która zaatakowała nas. Głównie chodzi o "globalny" aivar, żeby nie trzeba było rozpisywać tego do wszystkich skryptów. Coś na zasadzie:
Npc_SetTarget (self, other);
B_Attack (self, other, AR_NONE, 0);
Ale tak, żeby "other" nie był traktowany jako "pc_hero", tylko pozostałe postacie. Istnieje taka możliwość? Bo wiem, że w przypadku potworów wystarczyło zmienić nastawienie gildii, a z racji, że tutaj chciałbym u różnych postaci takie coś mieć, to zmiany nastawień w dialogach mijają się z celem.

5
Hej. Takie pytanie - gdzie można zmienić/stworzyć skrypt podobny do skryptu bryły lodu/lodowej fali dla konkretnej instancji czaru? Chodzi mi dokładnie o coś takiego, że npc po oberwaniu czarem załącza animację S_FIRE_VICTIM na powiedzmy 10 sekund, w tym czasie traci 10 hp(czyli po 1 hp/s) i atakuje nas? Próbowałem przerobić ZS_MagicFreeze, ale coś nie wyszło.
// *****************
// B_StopMagicFreeze1
// *****************

func void B_RestartFreeze1()
{
if (Npc_GetLastHitSpellID(self) == SPL_IceCube)
|| (Npc_GetLastHitSpellID(self) == SPL_IceWave)
{
Npc_SetStateTime(self,0);
};
};


func void B_StopMagicFreeze1()
{
Npc_PercEnable (self, PERC_ASSESSMAGIC, B_AssessMagic);

Npc_ClearAIQueue(self);
AI_StandUp (self);

if (self.guild < GIL_SEPERATOR_HUM)
{
B_AssessDamage();
}
else
{
Npc_SetTempAttitude (self, ATT_HOSTILE); //falls nicht schon Gilden-Attitüde hostile ist
};

// nach Aufruf dieses Befehles wird die Loop über return LOOP_END beendet
};

// **************
// ZS_MagicFreeze1
// **************

func int ZS_MagicFreeze1()
{
Npc_PercEnable (self, PERC_ASSESSMAGIC, B_RestartFreeze1); // falls ein NSC nochmal von einem Freezespell getroffen wurde, so muss die State Time reseted werden

Npc_StopAni(self, "S_FIRE_VICTIM"); // falls der NSC am Zappeln ist, brich die Ani ab

// Opfer wird in Bodystate Unconscious versetzt
if (!C_BodyStateContains(self, BS_UNCONSCIOUS))
{
AI_PlayAniBS (self, "T_STAND_2_FREEZE_VICTIM", BS_UNCONSCIOUS);
Wld_PlayEffect("VOB_MAGICBURN",  self, self, 0, 0, 0, FALSE );
};
self.aivar[AIV_FreezeStateTime] = 0;
};



func int ZS_MagicFreeze1_Loop ()
{
// EXIT LOOP IF...

if (Npc_GetStateTime(self) >= 10)
{
B_StopMagicFreeze1();
return LOOP_END;
};

// LOOP FUNC
if (Npc_GetStateTime(self) != self.aivar[AIV_FreezeStateTime])
{
self.aivar[AIV_FreezeStateTime] = Npc_GetStateTime(self);

// ------ Damage abziehen, aber NICHT sterben (immer mindeststens 1 LE behalten) ------
if (self.attribute[ATR_HITPOINTS] > (self.attribute[ATR_HITPOINTS] - SPL_Damage_ChargeFireball1))
{
// feuer wesen erhalten doppelten schaden
if (self.guild == GIL_FIREGOLEM)
|| (self.aivar[AIV_MM_REAL_ID] == ID_FIREWARAN)
|| (self.aivar[AIV_MM_REAL_ID] == ID_DRAGON_FIRE)
{
B_MagicHurtNpc (other, self, SPL_Damage_ChargeFireball1/2);
return LOOP_CONTINUE;
};

// eis wesen erhalten halben schaden
if (self.guild == GIL_ICEGOLEM)
|| (self.aivar[AIV_MM_REAL_ID]==ID_DRAGON_ICE)
{
B_MagicHurtNpc (other, self, SPL_Damage_ChargeFireball1*2);
return LOOP_CONTINUE;
};

// rest ganz normal
B_MagicHurtNpc (other, self, 5);
};
};

return LOOP_CONTINUE;
};


func void ZS_MagicFreeze1_End()
{

};

Skrypt przerobionego ZS'a. Do tego skrypt czaru:
// ******************
// SPL_ChargeFireball1
// ******************

const int SPL_Cost_ChargeFireball1 = 20; //4*40
const int STEP_ChargeFireball1 = 5;
const int SPL_Damage_ChargeFireball1 = 30;

INSTANCE Spell_ChargeFireball1 (C_Spell_Proto)
{
time_per_mana = 100;
damage_per_level = SPL_Damage_ChargeFireball1;
damageType = DAM_MAGIC;
canTurnDuringInvest     = TRUE;
};

func int Spell_Logic_ChargeFireball1 (var int manaInvested)
{
if (self.attribute[ATR_MANA]<STEP_ChargeFireball1)
{
return SPL_DONTINVEST;
};

if (manaInvested <= STEP_ChargeFireball1*1)
{
self.aivar[AIV_SpellLevel] = 1; //Start mit Level 1
return SPL_STATUS_CANINVEST_NO_MANADEC;
}
else if (manaInvested > (STEP_ChargeFireball1*1))
&& (self.aivar[AIV_SpellLevel] <= 1)
{
self.attribute[ATR_MANA] = (self.attribute[ATR_MANA] - STEP_ChargeFireball1);

if (self.attribute[ATR_MANA]<0)
{
    self.attribute[ATR_MANA]=0;
};

self.aivar[AIV_SpellLevel] = 2;

return SPL_NEXTLEVEL; //Lev2 erreicht
}
else if (manaInvested > (STEP_ChargeFireball1*2))
&& (self.aivar[AIV_SpellLevel] <= 2)
{
self.attribute[ATR_MANA] = (self.attribute[ATR_MANA] - STEP_ChargeFireball1);

if (self.attribute[ATR_MANA]<0)
{
    self.attribute[ATR_MANA]=0;
};
self.aivar[AIV_SpellLevel] = 3;
return SPL_NEXTLEVEL; //Lev3 erreicht

}
else if (manaInvested > (STEP_ChargeFireball1*3))
&& (self.aivar[AIV_SpellLevel] <= 3)
{
self.attribute[ATR_MANA] = (self.attribute[ATR_MANA] - STEP_ChargeFireball1);

if (self.attribute[ATR_MANA]<0)
{
    self.attribute[ATR_MANA]=0;
};
self.aivar[AIV_SpellLevel] = 4;
return SPL_NEXTLEVEL; //Lev4 erreicht
}
else if (manaInvested > (STEP_ChargeFireball1*3))
&& (self.aivar[AIV_SpellLevel] == 4)
{
        return SPL_SENDCAST;
};



return SPL_STATUS_CANINVEST_NO_MANADEC;

};

func void Spell_Cast_ChargeFireball1(var int spellLevel)
{
self.attribute[ATR_MANA] = (self.attribute[ATR_MANA] - STEP_ChargeFireball1);

if (self.attribute[ATR_MANA]<0)
{
self.attribute[ATR_MANA]=0;
};

self.aivar[AIV_SelectSpell] += 1;
};
No i wpis do B_AssessMagic:
if (Npc_GetLastHitSpellID(self) == SPL_ChargeFireball1)
{
Npc_ClearAIQueue (self);
//B_ClearPerceptions (self); //Sonst reagiert der NPC nicht!
AI_StartState(self, ZS_MagicFreeze1, 0, "");
return;
};
Problem jest tego typu, że po drugim trafieniu dopiero odgrywana jest animacja, która trwa w nieskończoność. Do tego na npc nie pojawia się efekt ognia(czyt. nie płonie) i nie zabiera mu tych dodatkowych hp[czyli zamiast dostać powiedzmy 40 dmg otrzymuje 30).

6
Witam, takie pytanie. Ostatnio udało mi się znaleźć na rosyjskim forum skrypty do telekinezy, jednak mam dziwny problem polegający na tym, że po wyciągnięciu runy zamiast efektu czaru w ręce pojawia się runa. Z racji, że w pliku PfxInstMagic.d znajdują się już pfxy odpowiedzialne za Telekinezę, to pomyślałem, że wystarczy dorobić instancję w pliku VisualFxInst.d(ponieważ w normalnym G2 nie występuje). Dlatego przeniosłem ją z G1, jednak o ile sam skrypt czaru i jego użycie działa w miarę dobrze, to po wyciągnięciu czaru do użytku jest pokazana runa(chyba, że przytrzyma się spację i pokaże się animacja czaru). Tutaj wpis do VisualFxInst.d
INSTANCE spellFX_Telekinesis(CFx_Base_Proto)
{
visname_S = "MFX_Telekinesis_INIT";
emtrjmode_s = "FIXED";
emTrjOriginNode = "ZS_RIGHTHAND";
emtrjnumkeys = 2;
emtrjnumkeysvar = 1;
emtrjangleelevvar = 2.;
emtrjangleheadvar = 0.;
emtrjeasefunc_s = "LINEAR";
emtrjloopmode_s = "NONE";
emtrjdynupdatedelay = 0.;
emFXInvestOrigin_S = "spellFX_Telekinesis_ORIGIN";
emTrjTargetRange = 0;
emTrjTargetElev = 0;
};

INSTANCE spellFX_Telekinesis_KEY_INIT (C_ParticleFXEmitKey)
{
visname_s = "MFX_Telekinesis_INIT";
emtrjeasevel   = 0.01;
};

INSTANCE spellFX_Telekinesis_KEY_INVEST_1 (C_ParticleFXEmitKey)
{
visname_s = "MFX_Telekinesis_TARGET";
emtrjeasevel   = 2000;
sfxid = "MFX_Telekinesis_STARTINVEST";
sfxisambient = 1;
};


INSTANCE spellFX_Telekinesis_KEY_CAST (C_ParticleFXEmitKey)
{
visname_s = "MFX_Telekinesis_TargetEnd";

};

INSTANCE spellFX_Telekinesis_Origin (CFx_Base_Proto)
{
visname_S = "MFX_Telekinesis_BRIDGE";
emtrjmode_s = "TARGET LINE";
emtrjeasevel   = 0.001;
emTrjOriginNode = "BIP01 R Hand";
emtrjdynupdatedelay = 0.;
lightPresetname = "AURA";
sfxid = "MFX_Telekinesis_INVEST";
sfxisambient = 1;
};
Oraz Pfx z oryginalnego Gothica 2:
INSTANCE MFX_TELEKINESIS_INIT (C_PARTICLEFX)
{
     ppsvalue = 600.000000000;
     ppsscalekeys_s = "1";
     ppsislooping = 1;
     ppsissmooth = 1;
     ppsfps = 10.000000000;
     shptype_s = "SPHERE";
     shpfor_s = "object";
     shpoffsetvec_s = "0 0 0";
     shpdistribtype_s = "RAND";
     shpdim_s = "10";
     shpscalekeys_s = "1";
     shpscaleislooping = 1;
     shpscaleissmooth = 1;
     shpscalefps = 2.000000000;
     dirmode_s = "TARGET"; //TARGET
     dirfor_s = "object";
     dirmodetargetfor_s = "OBJECT";
     dirmodetargetpos_s = "0 0 0";
     dirangleheadvar = 180.000000000;
     dirangleelevvar = 180.000000000;
     velavg = 0.001000000;
     lsppartavg = 150.000000000;
     flygravity_s = "0 0 0";
     flycolldet_b = 0;
     visname_s = "MFX_SLEEP_STAR.TGA";
     visorientation_s = "NONE";
     vistexisquadpoly = 1;
     vistexanifps = 18.000000000;
     vistexaniislooping = 1;
     vistexcolorstart_s = "100 255 255";
     vistexcolorend_s = "255 255 0";
     vissizestart_s = "10 10";
     vissizeendscale = 0.010000000;
     visalphafunc_s = "ADD";
     visalphastart = 255.000000000;
     visalphaend = 255.000000000;
};

INSTANCE MFX_TELEKINESIS_BRIDGE (C_PARTICLEFX)
{
     ppsvalue = 250.000000000;
     ppsscalekeys_s = "1 2 3 2";
     ppsislooping = 1;
     ppsissmooth = 1;
     ppsfps = 2.000000000;
     shptype_s = "SPHERE";
     shpfor_s = "WORLD";
     shpoffsetvec_s = "0 0 0";
     shpdistribtype_s = "RAND";
     shpdim_s = "4";
     shpscalekeys_s = "1 3 5 3 1";
     shpscaleislooping = 1;
     shpscaleissmooth = 1;
     shpscalefps = 2.000000000;
     dirmode_s = "TARGET";
     dirfor_s = "WORLD";
     dirmodetargetfor_s = "WORLD";
     dirmodetargetpos_s = "0 0 0";
     dirangleheadvar = 180.000000000;
     dirangleelevvar = 180.000000000;
     velavg = 0.800000012;
     velvar = 0.200000003;
     lsppartavg = 500.000000000;
     flygravity_s = "0 0 0";
     visname_s = "MFX_SLEEP_STAR.TGA";
     visorientation_s = "NONE";
     vistexisquadpoly = 1;
     vistexanifps = 18.000000000;
     vistexaniislooping = 1;
     vistexcolorstart_s = "100 255 255";
     vistexcolorend_s = "100 255 255";
     vissizestart_s = "10 10";
     vissizeendscale = 2.000000000;
     visalphafunc_s = "ADD";
     visalphastart = 255.000000000;
     trltexture_s = "WHITECLOUD.TGA";
};

INSTANCE MFX_TELEKINESIS_TARGET (C_PARTICLEFX)
{
     ppsvalue = 1500.000000000;
     ppsislooping = 1;
     shptype_s = "SPHERE";
     shpfor_s = "object";
     shpdistribtype_s = "RAND";
     shpdistribwalkspeed = 0.000300000;
     shpdim_s = "40";
     dirmode_s = "RAND"; //RAND
     dirfor_s = "OBJECT";
     dirmodetargetfor_s = "OBJECT";
     velavg = 0.001000000;
     lsppartavg = 200.000000000;
     flygravity_s = "0";
     visname_s = "MFX_SLEEP_STAR.TGA";
     visorientation_s = "VELO";
     vistexisquadpoly = 1;
     vistexanifps = 10.000000000;
     vistexaniislooping = 1;
     vistexcolorstart_s = "255 255 255";
     vistexcolorend_s = "100 255 255";
     vissizestart_s = "30 30";
     vissizeendscale = 1.000000000;
     visalphafunc_s = "ADD";
     visalphaend = 255.000000000;
};


INSTANCE MFX_TELEKINESIS_TARGETEND (C_PARTICLEFX)
{
     ppsvalue = 1500.000000000;
     ppsscalekeys_s = "1";
     ppsfps = 10.000000000;
     shptype_s = "SPHERE";
     shpfor_s = "object";
     shpdistribtype_s = "RAND";
     shpdistribwalkspeed = 0.000300000;
     shpdim_s = "40";
     dirmode_s = "RAND";
     dirfor_s = "OBJECT";
     dirmodetargetfor_s = "OBJECT";
     velavg = 0.050000001;
     lsppartavg = 2000.000000000;
     flygravity_s = "0 -0.0008 0";
     flycolldet_b = 1;
     visname_s = "MFX_SLEEP_STAR.TGA";
     visorientation_s = "VELO";
     vistexisquadpoly = 1;
     vistexanifps = 10.000000000;
     vistexaniislooping = 1;
     vistexcolorstart_s = "200 255 255";
     vistexcolorend_s = "100 255 255";
     vissizestart_s = "30 30";
     vissizeendscale = 1.000000000;
     visalphafunc_s = "ADD";
     visalphastart = 255.000000000;
};
Do pliku Constants.d dodałem również:
const string spellFxInstanceNames[MAX_SPELL] =
{
"Telekinesis",  // 64 SPL_Reserved_64
Próbowałem również stworzyć osobną instancję(w VisualFx dopisując 1 do Telekinesis), ale wtedy czar zamiast focusować voby(itemy na ziemi) focusuje postacie.
TL:TR - dlaczego zamiast pokazać mi efekt czaru w ręce, pokazuje runę?

7
Hej, mam taki dziwny problem, a z racji, że nie wiem, czy to spacer czy jakiś dziwny konflikt ze skryptami umieszczam temat po prostu tutaj. A konkretnie chodzi o to, że chciałem trochę przestawić "punkt", po przekroczeniu którego dostajemy się do innego zena, jednak ... spacer go nie widzi. Ani na liście vobów, ani w pobliżu punktu docelowego(zawsze był taki mały, biały kwadracik, a teraz go zupełnie nie widać). Mimo wszystko, przejścia działają, a po otwarciu pliku świata przez notepada takowe występują. Ma ktoś pomysł, co tu się mogło odwalić? Bo bez zaznaczenia ich raczej nie zdołam ich przesunąć/usunąć, a edycja w notepadzie pod względem położenia osi XYZ mogłaby być w moim wypadku dość ryzykowna.

8
Cóż, nazwa tematu powinna mówić wszystko. Ale na wszelki wypadek - poszukuję kogoś, kto mógłby dla mnie przerobić zen Górniczej Doliny z G2 NK. A konkretnie - zamiast zamku i jego okolic zniszczonych przez orków wstawić nienaruszony Stary Obóz z G1(wiem, że to będzie ch*jowo wyglądać, ale cóż - taki mój mały wymysł). Nic poza zamkiem nie zmieniać.

9
Hej, takie durne pytanie, z którym męczę się od jakiegoś czasu. Jak ustawić w VisualFXInst efekt wyzwalanego czaru, żeby uderzył w cel tylko raz? Ponieważ chciałem zrobić czar podobny do Śmiertelnej Fali, z mniejszą ilością many wymaganej i innymi obrażeniami, jednak nie mogę visuala ustawić, przez co zamiast zadawać 350 obrażeń(jak w skrypcie czaru) zadaje 1400(4 x 350). Po wielu próbach przerobienia Visuala w/w czaru spróbowałem czegoś takiego:
INSTANCE spellFX_LightUndead(CFx_Base_Proto)
{

      visname_S = "MFX_MassDeath_INIT";
      emtrjmode_s = "FIXED";
emTrjOriginNode = "ZS_RIGHTHAND";
      emtrjloopmode_s = "NONE";

      emFXInvestOrigin_S = "spellFX_Icespell_Invest";
      };

INSTANCE spellFX_LightUndead_KEY_INIT(C_ParticleFXEmitKey)
{
visname_S = "MFX_MassDeath_INIT";
};

INSTANCE spellFX_LightUndead_KEY_CAST(C_ParticleFXEmitKey)
{
emCreateFXID = "spellFX_Icewave_WAVE";
pfx_ppsIsLoopingChg = 1;
sfxid = "MFX_MassDeath_Cast";
sfxisambient = 1;
};

INSTANCE spellFX_LightUndead_WAVE (CFx_Base_Proto)
{
visname_S = "MFX_MassDeath_WAVE";
emTrjOriginNode = "ZS_RIGHTHAND";
emActionCollDyn_S = "CREATEONCE";
      //emFXCollDyn_S = "spellFX_IceSpell_COLLIDEDYNFX";
      emFXCollDynPerc_S      = "spellFX_Icespell_SENDPERCEPTION";
      emFXCollDynAlign_S = "COLLISIONNORMAL";
      emCheckCollision = 1;
      LightPresetName = "WHITEBLEND";
};


INSTANCE spellFX_LightUndead_WAVE_KEY_OPEN (C_ParticleFXEmitKey)
{
LightRange = 0.01;
};

INSTANCE spellFX_LightUndead_WAVE_KEY_INIT (C_ParticleFXEmitKey)
{
LightRange = 0.01;
};


INSTANCE spellFX_LightUndead_WAVE_KEY_CAST (C_ParticleFXEmitKey)
{
LightRange = 100;
};



INSTANCE spellFX_LightUndead_SUB(CFx_Base_Proto) // vorrübergehend, bis er hardcodiert nicht mehr gesucht wird
{
      visname_S = "";
      emtrjmode_s = "FIXED";
emTrjOriginNode = "BIP01 HEAD";
};
I w tym wypadku czar zadaje 350 obrażeń(czyli tak, jak powinien), jednak po wyzwoleniu pojawia się efekt lodowej fali(co jest logiczne). Ale jak ten efekt lodowej fali zamienić na efekt Śmiertelnej Fali, żeby znowu 4 razy nie uderzał w postać? Trochę chaotycznie, ale mam nadzieję, że ktoś zrozumie mój problem.

10
Takie pytanie - czy ktoś posiada któreś ze słuchawek niżej wymienionych i mógłby się wypowiedzieć na ich temat? Ponieważ muszę kupić sobie nowy zestaw(przy poprzednim karta graficzna wywołuje zakłócenia dźwięku, przez co nie da się normalnie korzystać na full głośności). Wybrane zestawy nie są droższe niż 200 złotych, bo tylko tyle planuje na nie wydać.
https://www.komputronik.pl/product/325238/creative-sound-blaster-blaze.html
https://www.komputronik.pl/product/430056/creative-sound-blasterx-h3.html
https://www.komputronik.pl/product/420027/genesis-argon-500.html
https://www.komputronik.pl/product/483113/cooler-master-masterpulse-mh320.html
https://www.komputronik.pl/product/420025/genesis-argon-570.html
https://www.komputronik.pl/product/309317/msi-ds501.html
Ktoś posiada któreś z w/w lub po specyfikacji mógłby któryś zestaw polecić? Nie wiem, czy to ma jakiekolwiek znaczenie, ale zestaw będzie podpięty do karty Sound Blaster Audigy FX.

11
Spacer / [G2 NK] Otworzenie bramy w wyciągniętym zenie?
« dnia: 2018-10-07, 17:22 »
Wpadam z takim durnym pytaniem. Otóż ukradłem/wyciągnąłem/wykorzystuję(określcie jak to chcecie) z modyfikacji Unnamed zen Świątyni Śniącego i w pewnym miejscu znalazłem lekki bug/problem związany z bramą. Otóż po wejściu do pewnego pomieszczenia odpalał się jakiś trigger, który powodował zamknięcie się bramy za Bezim, jednak można było normalnie przez nią przejść(przez Spacer zauważyłem, że nie miał zaznaczonej opcji cdDyn, co przerobiłem). Jednak teraz mam taki problem, że nie mogę rozgryźć, jak zrobić, żeby po przełączeniu trzech kolumn otworzyła się dana brama(próbowałem nawet na zasadzie bramy w więzieniu Garonda zrobić zwykły przełącznik, jednak po użyciu go nie otwiera się brama). Czy trzeba edytować jakieś triggery/triggerlisty czy zrobić od zera bramę, a inne trigery z pobliża bramy usunąć?

12
Hej, takie durne i szybkie pytanie. Czy istnieje jakaś funkcja/warunek, która umożliwia przyznanie expa podwójnego za NPC'a tak, jak to miało miejsce w Gothic 1? Mam na myśli sytuację, że po dobiciu postaci(po tym, jak ją pobijemy przy pomocy broni białej) przy pomocy magii lub łuku/kuszy dostajemy dodatkowy exp(przykładowo - za dobicie magią dostajemy 50 expa, a za łuk/kuszę 100)?

13
Takie pytanie z kwestii techniczej. Aktualnie posiadam płytę główną MSI H81M-P33, na której jest Realtek ALC887 z 3 wejściami mini-jack, a moje słuchawki niby obsługują dźwięk 5.1 i posiadają 4 wejścia mini-jack. I tak się zastanawiam, czy do 100/150 złotych dałoby radę znaleźć jakąś kartę dźwiękową, która poprawiłaby jakość dźwięku(i może mikrofonu, w co wątpię), która byłaby w stanie "uaktywnić" pełen potencjał słuchawek?

14
Heyo. Ostatnio w czasie wizyty w Biedrze wyhaczyłem grę jak w tytule za 4 dychy i postanowiłem sobie zainstalować i ściągnąć(klucz steam). Ale nie mogę grać, bo:
1)Zmienię ustawienia dźwięku i wyłączę grę, to po ponownym jej odpaleniu wszystko znowu jest na ustawieniach domyślnych(100%, a ustawiam na ok. 10%).
2)Po rozpoczęciu gry i przejściu misji początkowej powinna zapisać mi się gra, jednak jest taki sam problem, jak w punkcie 1(czyli po wyłączeniu gry muszę zaczynać od 0).
3)Gra ma we właściwościach język polski, ale niezależnie od wyboru(czy to polski czy japoński) cały czas jest po angielsku.
Grał ktoś w nią albo ma jakiś pomysł, jak można by to naprawić?

15
Takie pytanie - dałoby radę w jakiś prosty sposób poszerzyć okienko dialogowe w G2(zainstalowany SP 1.7)? Ponieważ w skrypcie tytuł opcji dialogowej brzmi "Wyglądasz mi na skazańca z Górniczej Doliny. Co tu robisz i jakim cudem tu trafiłeś?", jednak w grze po zagadaniu do NPC nie widać końcówki(czyli jest "Wyglądasz mi na skazańca z Górniczej Doliny. Co tu robisz i jaki". Nie wiem, czy ktoś zrozumie o co mi chodzi, ale w końcu - nadzieja matką głupich.

16
Na nagraniu mam +- 2 sekundy przeskoku między obrazem, a dźwiękiem z gry i nie wiem, czym to może być spowodowane. O ile mikrofon nie robi problemu, to akurat dźwięk z gry znacząco przeszkadza. Widać to dobrze w 8 minucie filmiku:
https://www.youtube.com/watch?v=ywaJimAWikc

Czy to może być wina karty dźwiękowej(wbudowana w stacjonarkę/jakaś chińska usb) czy może bardziej wina programu(Amd Relive)? Sprzęt widać na początku nagrania(lewy dolny róg)

17
Mam takie pytanie - jaką płytę główną i jaką kość ram musiałbym kupić, żeby móc włożyć do niej części z zakupionej stacjonarki? Kupione na olx https://www.olx.pl/oferta/komputer-intel-c2q8200-ati-r7-360-4-gb-250-gb-win10-wroclaw-CID99-IDnJiCV.html, aczkolwiek pomyślałem, że 8 gb ramu nie zaszkodziłoby, ale do tego celu muszę wymienić płytę główną i dokupić 4 gb ram(przy założeniu, że bazowe 4 będą współgrać z nowymi). Jakieś propozycje?

18
Skrypty / [G2 NK] Aktualizacja samouczka?
« dnia: 2017-05-03, 21:29 »
Witam. Czy ktoś mógłby zaaktualizować/napisać od nowa ten tutorial?
http://themodders.org/index.php?topic=14744.0
Ponieważ żaden ze skryptów nie działa(zawsze wywala Menu selection not known). Nie wiedziałem, gdzie to umieścić, więc wybrałem dział skryptów.

19
Skrypty / Gothic 2 - licznik potworów w dzienniku
« dnia: 2017-04-24, 10:58 »
Może mi ktoś powiedzieć, jak napisać(albo w miarę zrozumiały sposób nakierować) na sposób tworzenia liczników zabitych potworów? Wiem, że w MT był licznik w książce, w Atariar Edition i chyba Returningu też on występował. Spróbowałem stworzyć coś takiego:
if (self.guild == GIL_ZOMBIE)
{
ZombieKilled = (ZombieKilled + 1);
var string d;
d = concatstrings("Zabite zombie: ", inttostring(ZombieKilled));
if (FirstZombie == FALSE)
{
FirstZombie = TRUE;
Log_CreateTopic (Topic_Licznik,LOG_NOTE);
B_LogEntry (Topic_Licznik,d);
};
};
Ale nie działa. W sensie nie zlicza mi zabójstw. Bo po zabiciu pierwszego zombiaka dostaję wpis, który pokazuje się jako "Zabite zombie: 1", ale później nie aktualizuje się liczba. Powyższy wpis dodany do ZS_Dead. Ktoś nakieruje?

20
Spacer / G2 - przejście do innego świata?
« dnia: 2017-04-01, 17:45 »
Mam pytanie - co jest potrzebne do zrobienia przejścia do innego zena? Bo niby mam docelowy zen(który spacer bez problemu odtwarza), niby zrobiłem trigger(tutaj zdjęcie http://imgur.com/a/cIXFX), ale kiedy jestem w pobliżu tej bryłki(tak ustawiłem, żeby nie zgubić), to nie teleportuje mnie do innego zena.

Strony: [1] 2 3 ... 12
Do góry