Spacer wywoływanie funkcji 2412 3

O temacie

Autor Góral Żywiec

Zaczęty 10.01.2015 roku

Wyświetleń 2412

Odpowiedzi 3

Góral Żywiec

Góral Żywiec

Użytkownicy
Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
posty153
Propsy42
Profesjabrak
  • Użytkownicy
  • Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
Mam mały problem z wywołaniem funkcji w Spacerze przez tiggerscrips

Otóż chce wywołać funkcje ducha Ghost, lecz nie działa robiłem wszystko według poradnika, ale też nie działa.

Miałem zrobiony skrypt funkcji  który wkleiłem do  STROY/EVENTS/TRIGGERS:D
Func void Ghost ()
{
SetGhost(GRD_254_ORRY, 50);
};

Później wkleiłem do startup
Wld_SendTrigger("Ghost");

No i jeszcze Screen z Spacera
http://zapodaj.net/4af2b137613a9.bmp.html


Wie ktoś co poszło nie tak ?!?
 

kaczka

kaczka

RaveN Studio
Definitely not kaczka!
posty2280
Propsy2392
NagrodyV
ProfesjaLvl designer
  • RaveN Studio
  • Definitely not kaczka!
Primo. wg jakiego poradnika, bo jakaś twoja funkcja ghost nie mówi zbyt dużo. Wróżkiem nie jestem ani ja, ani nikt inny.
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Jaki efekt oczekujesz?
To ustawia półprzeźroczystość NPC'towi, nie wrzuca go do świata gry. 
 
Ż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

Góral Żywiec

Góral Żywiec

Użytkownicy
Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
posty153
Propsy42
Profesjabrak
  • Użytkownicy
  • Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
Odwietrzam wątek.
Efekt ma być taki że funkcja wywołuje się co kilka sekund w trakcie gry. Kiedy wejdę w npc na kodach klawiszem "O" to funkcja znika i już nie działa a chodzi mi o to żeby się ponownie włączyła w toku gry. Otóż nie wiem jaki popełniam błąd ale funkcja ogóle nie chce mi się włączyć.Pokaże wam materiał krok po kroku co robiłem.

Poradnik na którym robiłem te czynność: http://themodders.ovh/index.php?topic=89.0

O to główny skrypt funkcji.
Spoiler
/////////////////////
//------------TurnToGhost------------------------
// (Duch w Gothic 1)
// Pomysł i wykonanie funkcji Zysk & Orcwarrior.
// id = Instancja npc'ta
// visibility = widoczność ducha 0 = calkiem niewidoczny 19 = przeswitywanie prawie niezauwazalne
//
//Znane problemy:
//-Używając funkcji w startupie powoduje że cień pod duchem nadal występuje, aby cień znikł
// funkcje najlepiej dodać w timetriggerze, tak aby uruchamiała co kilka chwil.
// Pazdziernik 10, 2009 The Modders
//
//Funkcja bez problemów dziala na kazdym C_NPC, przeznaczona do dowolnego użytku w modyfikacjach
//miło by jednak było wspomnieć gdzieś o jej autorach
//-----------------------------------------------
func void TurnToGhost(var int id, var int visibility)
{
    var zCVob vob; vob = Hlp_GetNpc(id);   

  vob.bitfield[0] = vob.bitfield[0] & ~zCVob_bitfield0_castDynShadow;
  vob.bitfield[0] = vob.bitfield[0] & ~zCVob_bitfield0_collDetectionDynamic;
  vob.bitfield[0] = vob.bitfield[0] | (1<<2);
  //Bugfix

if(visibility == 24)
  {
  vob.visualAlpha = 1;
}
if(visibility == 23)
  {
  vob.visualAlpha = 1;
}
if(visibility == 22)
  {
  vob.visualAlpha = 1;
}
if(visibility == 21)
  {
  vob.visualAlpha = 1;
}
if(visibility == 20)
  {
  vob.visualAlpha = 1;
}
  if(visibility == 19)
  {
  vob.visualAlpha = 0.95;
}
  else if(visibility == 18)
  {
  vob.visualAlpha = 0.9;
}
  else if(visibility == 17)
  {
  vob.visualAlpha = 0.85;
}
  else if(visibility == 16)
  {
  vob.visualAlpha = 0.8;
}
  else if(visibility == 15)
  {
  vob.visualAlpha = 0.75;
}
  else if(visibility == 14)
  {
  vob.visualAlpha = 0.7;
}
  else if(visibility == 13)
  {
  vob.visualAlpha = 0.65;
}
  else if(visibility == 12)
  {
  vob.visualAlpha = 0.6;
}
  else if(visibility == 11)
  {
  vob.visualAlpha = 0.55;
}
  else if(visibility == 10)
  {
  vob.visualAlpha = 0.5;
}
  else if(visibility == 9)
  {
  vob.visualAlpha = 0.45;
}
  else if(visibility == 8)
  {
  vob.visualAlpha = 0.4;
}
  else if(visibility == 7)
  {
  vob.visualAlpha = 0.35;
}
  else if(visibility == 6)
  {
  vob.visualAlpha = 0.3;
}
  else if(visibility == 5)
  {
  vob.visualAlpha = 0.25;
}
  else if(visibility == 4)
  {
  vob.visualAlpha = 0.2;
}
  else if(visibility == 3)
  {
  vob.visualAlpha = 0.15;
}
  else if(visibility == 2)
  {
  vob.visualAlpha = 0.1;
}
else if(visibility == 2)
{
  vob.visualAlpha = 0.05;

}
else if(visibility == 1)
{
  vob.visualAlpha = 0;

}
else if(visibility == 0)
{
  vob.visualAlpha = 0;

};
};



Skrypt w trigger.D
Tu dopisałem na samym końcu te funkcje którą ma mi działać ze spacerem
Spoiler
Func void Ghost ()
{
TurnToGhost (GRD_254_Orry,5);
};

No i jeszcze zapisałem w startup.D chyba w dobrym miejscu.
Spoiler
//-------- eigentliche Startup des Spiels --------
FUNC VOID INIT_WORLD ()
{
   Wld_SendTrigger("Ghost");
   Wld_SetObjectRoutine(23,58,"SWORD_TRIG",1);
   Wld_SetObjectRoutine(23,59,"SWORD_TRIG",0);
   //Wld_SetObjectRoutine(00,00,"CALENDAR",1);
   //Wld_SendTrigger("ARENA_FEN");
   Wld_SetObjectRoutine(00,01,"ARENA_FEN",1);
   Wld_SetObjectRoutine(23,59,"ARENA_FEN",0);
   //Wld_SetObjectRoutine(00,05,"CALENDAR",0);
   //Wld_SetObjectRoutine (00,00,"PC_CRYSTALLIGHT_32",1);
   //Wld_SetObjectRoutine (20,00,"PC_CRYSTALLIGHT_32",1);
   //Wld_SetObjectRoutine (05,00,"PC_CRYSTALLIGHT_32",0);

No i jeszcze SS ze spacera.

 


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