Nowy świat-runa teleport 6160 15

O temacie

Autor nikotynos

Zaczęty 2.02.2010 roku

Wyświetleń 6160

Odpowiedzi 15

nikotynos

nikotynos

Użytkownicy
posty8
  • Użytkownicy
Witam!
Jestem, na tym forum od niedawna, ale o moddingu co nieco wiem (dodać nowego NPC, broń, pancerz).
Ale do rzeczy. O tusz chciałem dodać nowy świat (mały żeby pomieścił trzy domki, ognisko i takie tam duperele).
A moje pytanie brzmi: czy da się zrobić, żeby zamiast przechodzić do tego świata tak jak np. przez portal do Jarkendaru . Tylko żeby dostać się tam przez runę teleportującą? A jak by się dało mógł by mi ktoś to opisać, lub podać link do tutoriala?
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Ciekawe pytanie. Musiałbyś sprawdzić najpierw, jak działają wyzwalacze (triggery), które przenoszą np. przez portal do innego świata. Później jakoś napisać skrypt i przetestować.

nikotynos

nikotynos

Użytkownicy
posty8
  • Użytkownicy
Hmm... Tylko jest problem ja w Spacerze (o ile te triggery są w Spacerze), tylko sprawdzałem skrypty i dodawałem dialogi. Wiec za bardzo nie wiem jak się zabrać do tego "sprawdzenia działania wyzwalaczy".
 


nikotynos

nikotynos

Użytkownicy
posty8
  • Użytkownicy
Teraz, próbuje zrobić runę teleportującą, ale nie mam pojęcia która linijka odpowiada za miejsce do którego się teleportujemy
np. runa do tawerny:

INSTANCE ItRu_TeleportTaverne (C_Item)
{
   name             =   NAME_Rune;

   mainflag          =   ITEM_KAT_RUNE;
   flags             =   0;
   
   value            =   Value_Ru_TeleportTaverne;
   
   visual            =   "ItRu_Teleport_2.3ds";   
   material         =   MAT_STONE;

   spell            =    SPL_TeleportTaverne;


   wear            =    WEAR_EFFECT;
   effect            =   "SPELLFX_WEAKGLIMMER";

   description         =    NAME_SPL_TeleportTaverne;
   
   TEXT   [1]         =   NAME_Manakosten;         
   COUNT   [1]         =   SPL_COST_TELEPORT;
   TEXT   [5]         =   NAME_Value;               
   COUNT   [5]         =   value;
};

Mógł by ktoś pomóc mi ją wyznaczyć?
 


nikotynos

nikotynos

Użytkownicy
posty8
  • Użytkownicy
O.K. Zrobiłem runę
skrypt:
STANCE ItRu_Teleportmoje (C_Item)
{
name = NAME_Rune;

mainflag = ITEM_KAT_RUNE;
flags = 0;

value = 250;

visual = "ItRu_Teleport_2.3ds";
material = MAT_STONE;

spell = SPL_Teleportmoje;


wear = WEAR_EFFECT;
effect = "SPELLFX_WEAKGLIMMER";

description = NAME_SPL_Teleportmoje;

TEXT [1] = NAME_Manakosten;
COUNT [1] = SPL_COST_TELEPORT;
TEXT [5] = NAME_Value;
COUNT [5] = value;

I w pliku Spell_Teleport_Alle(był w folderze ...Scripts\Content\AI\Magic\Spells)
// ------ Moje ------
func int Spell_Logic_Teleportmoje (var int manaInvested)
{
if (Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
{
return SPL_SENDCAST;
}
else if (self.attribute[ATR_MANA] >= SPL_Cost_Teleport)
{
return SPL_SENDCAST;
};

return SPL_NEXTLEVEL;
};

func void Spell_Cast_Teleportmoje ()
{
B_PrintTeleportTooFarAway (NEWWORLD_ZEN);

if (Npc_GetActiveSpellIsScroll(self))
{
self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - SPL_Cost_Scroll;
}
else
{
self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - SPL_Cost_Teleport;
};

AI_Teleport (self, "NW_CITY_TO_FOREST_05");
AI_PlayAni (self, "T_HEASHOOT_2_STAND" );
};
// ----- neu 1.21 Verteiler für die Cast-Funcs -------
func void Spell_Cast_Teleport()
{
if (Npc_GetActiveSpell(self) == SPL_PalTeleportSecret ) { Spell_Cast_PalTeleportSecret (); };
if (Npc_GetActiveSpell(self) == SPL_TeleportSeaport ) { Spell_Cast_TeleportSeaport (); };
if (Npc_GetActiveSpell(self) == SPL_TeleportMonastery ) { Spell_Cast_TeleportMonastery (); };
if (Npc_GetActiveSpell(self) == SPL_TeleportFarm ) { Spell_Cast_TeleportFarm (); };
if (Npc_GetActiveSpell(self) == SPL_TeleportXardas ) { Spell_Cast_TeleportXardas (); };
if (Npc_GetActiveSpell(self) == SPL_TeleportPassNW ) { Spell_Cast_TeleportPassNW (); };
if (Npc_GetActiveSpell(self) == SPL_TeleportPassOW ) { Spell_Cast_TeleportPassOW (); };
if (Npc_GetActiveSpell(self) == SPL_TeleportOC ) { Spell_Cast_TeleportOC (); };
if (Npc_GetActiveSpell(self) == SPL_TeleportOWDemonTower) { Spell_Cast_TeleportOWDemonTower (); };
if (Npc_GetActiveSpell(self) == SPL_TeleportTaverne ) { Spell_Cast_TeleportTaverne (); };
if (Npc_GetActiveSpell(self) == SPL_Teleportmoje ) { Spell_Cast_Teleportmoje (); };
// if (Npc_GetActiveSpell(self) == SPL_Teleport_3 ) { Spell_Cast_XXX (); };

};

A gdy sprawdzam skrypty w spacerze wyskakuje błąd
U:PAR: \_WORK......ITEMS\IT_RUNEN.D; Unknown identyfier : SPL_TELEPORTMOJE
I nie mam pojęcia gdzie jest błąd.
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Nie zadeklarowałeś zmiennej SPL_TELEPORTMOJE.

maciejG

maciejG

Użytkownicy
posty450
Propsy1
  • Użytkownicy

maciejG

Nowy świat-runa teleport
#8 2010-02-02, 19:57(Ostatnia zmiana: 2010-02-02, 19:58)
Musisz dodać SPL_TELEPORTMOJE do Constants.d
Zmień w nim:
const int SPL_Reserved_99 = 99;

const int MAX_SPELL = 100;   // 59 (Gothic), 68 (Gothic2), 100 (G2Addon)
na:
const int SPL_Reserved_99 = 99;
const int SPL_Teleportmoje = 100;
const int MAX_SPELL = 101;   // 59 (Gothic), 68 (Gothic2), 100 (G2Addon)
następnie:
"Light", // 95 SPL_Reserved_95
"Light", // 96 SPL_Reserved_96
"Light", // 97 SPL_Reserved_97
"Light", // 98 SPL_Reserved_98
"Light" // 99 SPL_Reserved_99
};
To jest po spellfxNames czy coś takiego. To nazwy spellfx-ów. Nie musisz nic dodawać, wszystkie teleporty mają ten sam.
"Light", // 95 SPL_Reserved_95
"Light", // 96 SPL_Reserved_96
"Light", // 97 SPL_Reserved_97
"Light", // 98 SPL_Reserved_98
"Light", // 99 SPL_Reserved_99
"Teleport" // 100 SPL_Teleportmoje
};
Kolejno:
"XXX",  // 95 SPL_Reserved_95
"XXX",  // 96 SPL_Reserved_96
"XXX", // 97 SPL_Reserved_97
"XXX", // 98 SPL_Reserved_98
"XXX" // 99 SPL_Reserved_99
};
To są nazwy animacji, nic ważnego:
"XXX",  // 95 SPL_Reserved_95
"XXX",  // 96 SPL_Reserved_96
"XXX", // 97 SPL_Reserved_97
"XXX", // 98 SPL_Reserved_98
"XXX", // 99 SPL_Reserved_99
"HEA" // 100 SPL_Teleportmoje
};
Nie pamiętam o innych, to raczej wszystko.
 
Spoiler

nikotynos

nikotynos

Użytkownicy
posty8
  • Użytkownicy

nikotynos

Nowy świat-runa teleport
#9 2010-02-02, 21:20(Ostatnia zmiana: 2010-02-03, 11:44)
Zrobiłem wszystko jak napisaliście, tylko gdy kompiluje skrypty pojawia się błąd: U:PAR: Expected ',' (line 372).
Tylko ten błąd nienależy do pliku:
Spell_Teleport_Alle
Constants
IT_Runen
Sprawdziłem z pomocą metody "Enter i linijka jest niżej".
A gdy zapisałem te pliki gdzie indziej i zamieniłem foldery: Content i System na oryginalne (z paczki ze spolszczonymi skryptami) błędu nie było.
Wie może ktoś o co chodzi?
//////////////////
O.K poradziłem sobie.
Jak by ktoś jeszcze miał taki problem to w folderze story w pliku text
trzeba zamienić
"TXT_SPL_RESERVED_95", // 95 SPL_Reserved_95
"TXT_SPL_RESERVED_96", // 96 SPL_Reserved_96
"TXT_SPL_RESERVED_97", // 97 SPL_Reserved_97
"TXT_SPL_RESERVED_98", // 98 SPL_Reserved_98
"TXT_SPL_RESERVED_99", // 99 SPL_Reserved_99
na
"TXT_SPL_RESERVED_95", // 95 SPL_Reserved_95
"TXT_SPL_RESERVED_96", // 96 SPL_Reserved_96
"TXT_SPL_RESERVED_97", // 97 SPL_Reserved_97
"TXT_SPL_RESERVED_98", // 98 SPL_Reserved_98
"TXT_SPL_RESERVED_99", // 99 SPL_Reserved_99
"Do Miasta" // 100 SPL_Teleportmoje
i trochę niżej linijki
const string NAME_SPL_TeleportOWDemonTower = "Teleportacja do starej wieży demonów";
const string NAME_SPL_TeleportTaverne = "Teleportacja do tawerny";
const string NAME_SPL_Teleport_3 = "NAME_SPL_TELEPORT_3";
na
const string NAME_SPL_TeleportOWDemonTower = "Teleportacja do starej wieży demonów";
const string NAME_SPL_TeleportTaverne = "Teleportacja do tawerny";
const string NAME_SPL_Teleport_3 = "NAME_SPL_TELEPORT_3";
const string NAME_SPL_Teleportmoje = "Teleportacja do Miasta";

I jeszcze jedno mógby mi ktoś powiedzieć jak zrobić taki portal do przejścia w inne światy?
 

Askar

Askar

Użytkownicy
posty5
  • Użytkownicy
http://www.youtube.com/watch?v=2rSz62b6hKU Obejrzyj ten film, gdzieś w połowie jest dodawanie przejść do innych światów
 

nikotynos

nikotynos

Użytkownicy
posty8
  • Użytkownicy

nikotynos

Nowy świat-runa teleport
#11 2010-02-03, 23:54(Ostatnia zmiana: 2010-02-04, 15:36)
Mój następny problem to (jest ich coraz mniej  :D  ):
Tworzę nowy świat w 3d max 8 według poradnika poziomkaz. Znaczy z tworzyłem już świat. Eksportuje go ze skrótem 3ds. Potem kopiuje do folderu Meshes\Level, a gdy próbuje włączyć go przez spacera pojawia się błąd:
D: zFile3d()
: Mesh has polys without material!
 

maciejG

maciejG

Użytkownicy
posty450
Propsy1
  • Użytkownicy
Nałóż na świat byle jaki materiał 3ds maxie... Było na forum masę razy...
 
Spoiler

Pawciow

Pawciow

Użytkownicy
posty533
Propsy70
ProfesjaTłumacz
  • Użytkownicy
oczywiście powinieneś eksportować ten świat za pomocą plugina karrax;]


nikotynos

nikotynos

Użytkownicy
posty8
  • Użytkownicy
OK. Wielkie dzięki wszystkim którzy pomogli z modem!
Oczywiście (jeżeli mój mody wogule wyjdzie i jeżeli pozwolicie) Zostaniecie w nim umieszczeni.
 


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