Warunek if(...) 132677 53

O temacie

Autor

Zaczęty 20.01.2008 roku

Wyświetleń 132677

Odpowiedzi 53

kaczka

kaczka

RaveN Studio
Definitely not kaczka!
posty2281
Propsy2392
NagrodyV
ProfesjaLvl designer
  • RaveN Studio
  • Definitely not kaczka!
Cytat: Diksu link=topic=79.msg118321#msg118321#msg118321#msg118321 date=1289418515
dzięki Adanosie  :D

P.s. A czy jest opcaj jeśli npc jest pobity (nie zabity)?

Jest, jest. Spójrz nawet na te dialogi ludzi z areny z G1. Pobijesz załóżmy Kirgo to Scatty gada coś tam, jaki to ty zajebisty jesteś itd. ;)
 

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Warunek if(...)
#21 2010-11-27, 11:36(Ostatnia zmiana: 2010-11-27, 11:38)
Cytat: kaczka link=topic=79.msg120524#msg120524#msg120524#msg120524 date=1290851660
Jest, jest. Spójrz nawet na te dialogi ludzi z areny z G1. Pobijesz załóżmy Kirgo to Scatty gada coś tam, jaki to ty zajebisty jesteś itd. ;)
Nie pamiętam jak tam to było zrobione, ale najprostszym rozwiązaniem wydaje się warunek w ZS_Unconscious.

pawbuj

pawbuj

Użytkownicy
posty1622
Propsy135
ProfesjaSkrypter
  • Użytkownicy
jak rzobic warunek do questu, ze mam 2 dni na zrobienie czegos tam..
 

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator
func int      Wld_GetDay                     ()                                                                                                                              { return 0; };Najpierw zawsze sprawdzaj w oryginalnych skryptach i na liście funkcji.

pawbuj

pawbuj

Użytkownicy
posty1622
Propsy135
ProfesjaSkrypter
  • Użytkownicy

pawbuj

Warunek if(...)
#24 2011-06-13, 16:55(Ostatnia zmiana: 2011-06-13, 17:31)
dość głupie pytanie, ale... gdzie jest praktycznie zastosowanie tego warunku celem podejrzenia?

w skryptacxh benneta jest cos takiego po oddaniu oka innosa do naprawy:

Bennet_RepairDay = Wld_GetDay ();   

 a póżniej warunek:
if (Bennet_RepairDay < Wld_GetDay())

, ale nie jest napisane, że mam się stawić za np. 2 dni , chyba bennet_repairday = 2 , dobrze główkuję?
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Funkcja Wld_GetDay () zwraca ci bieżący dzień. A to
if (Bennet_RepairDay < Wld_GetDay())oznacza jeśli minął dzień, nastąpiło jutro.
Jeśli chcesz, aby dialog pojawił się za x dni, to piszesz tak:
if (Bennet_RepairDay < Wld_GetDay() + x)

pawbuj

pawbuj

Użytkownicy
posty1622
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Funkcja Wld_GetDay () zwraca ci bieżący dzień. A to
if (Bennet_RepairDay < Wld_GetDay())oznacza jeśli minął dzień, nastąpiło jutro.
Jeśli chcesz, aby dialog pojawił się za x dni, to piszesz tak:
if (Bennet_RepairDay < Wld_GetDay() + x)
if (Bennet_RepairDay < Wld_GetDay() + 2)[/oznacza, że później jak 2 dni?
 


pawbuj

pawbuj

Użytkownicy
posty1622
Propsy135
ProfesjaSkrypter
  • Użytkownicy

pawbuj

Warunek if(...)
#28 2011-06-19, 21:51(Ostatnia zmiana: 2011-06-20, 08:53)
dałem funkcję do tick tocka, bo nie chcę aby była wywoływana przez dialog jednak nie działa poza dialogiem. wiesz jak można ją wywołać z tick tocka?

if (Wld_GetDay () > Gomez_DualDay + 2)
{
Points_OC = Points_OC - 100;
PrintScreen ("Gomez ci nie podaruje!", 8,46,"FONT_OLD_10_WHITE.TGA",3);
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
A gdzie przypisujesz wartość Gomez_DualDay? Chyba nie w tick-tocku?

pawbuj

pawbuj

Użytkownicy
posty1622
Propsy135
ProfesjaSkrypter
  • Użytkownicy

pawbuj

Warunek if(...)
#30 2011-06-20, 14:07(Ostatnia zmiana: 2011-06-20, 17:09)
juz rozumiem. w trakcie dialogu z gomezem muszę przypisać wartośc gomez_dualday do ticktocka. trochę to głupie bo wartośc gomez_dualday jest w story_globals i powinna być przypisana do każdej funkcji, gdzie jest wywołana.

działa! leci props
 

gothic1210
  • Gość
Szukam warunku dzięki któremu po przeczytaniu dokumentu pojawi się opcja dialogowa. Proszę o pomoc.  :D
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Najlepiej to utwórz zmienną i przy wywołaniu czytania przypisz jej jakąś wartość.

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Ja mam pytanie bo jak napisał Diegomir że funkcja if jest przydatna w pisaniu dialogów i questów, a ja chciałem dać taką funkcję w broni dokładniej w amunicji dla łuku i wywala mi błąd U:Par Undefined Function If i nie wiem czy po prostu ta funkcja nie może zostać użyta w skryptach broni czy ja coś sknociłem.
 
Ż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

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Warunek if(...)
#34 2011-06-26, 09:33(Ostatnia zmiana: 2011-06-26, 09:33)
if to nie funkcja, tylko słowo kluczowe. Za pomocą tego słowa konstruujemy instrukcję warunkową. Podaj lepiej skrypt.

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel

Sawik
Moderator działu

Warunek if(...)
#35 2011-06-26, 09:39(Ostatnia zmiana: 2011-06-26, 09:52)
INSTANCE ItRw_Sld_Bow(C_Item)
{
name = "Bogen";

mainflag = ITEM_KAT_FF;
flags = ITEM_BOW;
material = MAT_WOOD;

value = Value_Sldbogen;

damageTotal = Damage_Sldbogen;
damagetype = DAM_POINT;
munition = if (Npc_HasItems (other,ItRw_ArrowFire) >= 1)
{
return ItRw_ArrowFire }
else
{ ItRw_Arrow };

cond_atr[2]   = ATR_DEXTERITY;
cond_value[2]   = Condition_Sldbogen;
visual = "ItRw_Sld_Bow.mms";

description = name;
TEXT[2] = NAME_Damage; COUNT[2] = damageTotal;
TEXT[3] = NAME_Dex_needed; COUNT[3] = cond_value[2];
TEXT[5] = NAME_Value; COUNT[5] = value;
};

Tu skrypt, a napisałem funkcja kierując się błędem który mi wywalało.


Edit: Dodam że to jest oczywiście w It_RangedWeapons
 
Ż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

Zysk

Zysk

Użytkownicy
posty606
Propsy451
  • Użytkownicy
nie można w tym języku używać if'ów w wyrażeniach, czyli
a = if ...
nie jest nigdy poprawne.
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Co w takim razie byście polecili ??
Żeby było jasne nie proszę o skrypt tylko wskazówkę.
 
Ż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

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Musisz napisać po prostu funkcję :D

Pierwszy sposób.
func int funkcja()
{
   if (Npc_HasItems (other,ItRw_ArrowFire) >= 1)
   {
      return ItRw_ArrowFire;
   }
   else
   {
      return ItRw_Arrow;
   };
};

i w skrypcie broni
munition = funkcja();
Ale to chyba nie wypali :D

Drugi sposób:
func void funkcja()
{
   var C_ITEM Weapon;

   Weapon = NPC_GetEquippedRangedWeapon (hero);

   if (Npc_HasItems (other,ItRw_ArrowFire) >= 1)
   {
      Weapon.munition = ItRw_ArrowFire;
   }
   else
   {
      Weapon.munition = ItRw_Arrow;
   };
};

Tylko musisz gdzieś wywołać tą funkcję :D

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Musisz napisać po prostu funkcję :D

Pierwszy sposób.
func int funkcja()
{
   if (Npc_HasItems (other,ItRw_ArrowFire) >= 1)
   {
      return ItRw_ArrowFire;
   }
   else
   {
      return ItRw_Arrow;
   };
};

i w skrypcie broni
munition = funkcja();
Ale to chyba nie wypali :D

Drugi sposób:
func void funkcja()
{
   var C_ITEM Weapon;

   Weapon = NPC_GetEquippedRangedWeapon (hero);

   if (Npc_HasItems (other,ItRw_ArrowFire) >= 1)
   {
      Weapon.munition = ItRw_ArrowFire;
   }
   else
   {
      Weapon.munition = ItRw_Arrow;
   };
};

Tylko musisz gdzieś wywołać tą funkcję :D
Dzięki górna opcja nie pokazuje błędów ale można strzelać tylko z zwykłych strzał.

A co do drugiej to czy nie trzeba jej wywołać w \_Work\Data\Scripts\Content\AI\human\B_Human\selectweapons.d ??


Tak czy inaczej dzięki, ja używałem pierwszej opcji ale ja dawałem tak
Spoiler
const string arrow =
"{
   if (Npc_HasItems (other,ItRw_ArrowFire) >= 1)
   {
      return = ItRw_ArrowFire;
   }
   else
   {
     return = ItRw_Arrow;
   };"
 i miałem kilka dziwnych błędów.
Dalej powinienem dać sobie rade sam jak coś to będę pisał.
 
Ż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


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