Oswojenie orka 7725 24

O temacie

Autor Sauron

Zaczęty 17.03.2012 roku

Wyświetleń 7725

Odpowiedzi 24

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy
zrobiłem sobie czar oswajający orka, ale nie działa. Oto skrypty:
IT_Scrolls:
INSTANCE ItSc_ORC_DOMES (C_Item)
{
name = "Oswojenie orka";

mainflag = ITEM_KAT_RUNE;
flags = ITEM_MULTI;

value = 6000;

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

spell = SPL_Orc_Domes;
cond_atr[2]   = ATR_MANA_MAX;
cond_value[2]   = SPL_Cost_Scroll;

wear = WEAR_EFFECT;
effect = "SPELLFX_WEAKGLIMMER";

description = name;


TEXT [1] = NAME_Mana_needed;
COUNT [1] = SPL_Cost_Scroll;

TEXT [5] = NAME_Value;
COUNT [5] = value;
};

i Spell_Orc_Domes:
// ************
// SPL_Orc_Domes
// ************

const int SPL_Cost_Orc_Domes            = 5;


INSTANCE Spell_Orc_Domes (C_Spell_Proto)
{
        time_per_mana               = 0;
        targetCollectType           = TARGET_TYPE_ORCS;
        self.aivar[AIV_PARTYMEMBER] = TRUE;
aivar[AIV_MM_RoamStart] = OnlyRoutine;
aivar[AIV_ToughGuy]         = TRUE;
start_aistate = ZS_MM_Rtn_Follow_Sheep;
};

func int Spell_Logic_Orc_Domes (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_Orc_Domes)
        {      
                return SPL_SENDCAST;
        }
        else //nicht genug Mana
        {
                return SPL_SENDSTOP;
        };
};

func void Spell_Cast_Orc_Domes()
{
        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_Orc_Domes;
        };
       
        self.aivar[AIV_SelectSpell] += 1;
};
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Oswojenie orka
#1 2012-03-17, 19:51(Ostatnia zmiana: 2012-03-17, 19:51)
Po pierwsze, nie napisałeś co się dokładnie dzieje. Po drugie, w obiekcie klasy C_Spell_Proto próbujesz ustawić pola aivar i start_aistate. Czy jesteś pewien że występują w tej klasie? Mam dziwne wrażenie że należą do klasy c_npc, a ty je skądś bezmyślnie kopiujesz...

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy

Sauron

Oswojenie orka
#2 2012-03-17, 19:56(Ostatnia zmiana: 2012-03-17, 20:18)
A, zapomniałem napisać. Wyskakuje że jest błąd w:
const int SPL_Cost_Orc_Domes            = 5;
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Ponieważ jestem hujem, nie podam Ci gotowego skryptu, ale coś tam Ci pomogę.

Sprawdź za pomocą warunku if czy npc jest orkiem (porównaj gildię), potem tą gildię zmień na inną np. GIL_FRIENDLY_ORC którą ma Urshak, opcjonalnie możesz dodać że jeżeli cel nie jest orkiem (else) wywala napis/ postać mówi "To nic nie da!".
 
Ż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

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy

Sauron

Oswojenie orka
#4 2012-03-17, 20:49(Ostatnia zmiana: 2012-03-17, 21:10)
"Ponieważ jestem hujem, nie podam Ci gotowego skryptu, ale coś tam Ci pomogę"
to się pisze przez "ch" :lol2:   :lol:  
A czy ludzie by atakowali tego orka?
EDIT: Tak dobrze?:
if (oth.guild == GIL_ORC)
{
oth.guild == GIL_FRIENDLY_ORC
}
else
{
PrintScreen ("To nic nie da!", -1, 25, _STR_FONT_ONSCREEN, 3 );
};
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Z tego co pamiętam nie, możesz to edytować w pliku Guilds.d

I pisze się przez ch jak się ma potrzebę by był dłuższy, JA kompleksów nie mam, nie wnikam jak jest z tobą.
 
Ż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

Gotyk

Gotyk

Użytkownicy
posty101
Propsy67
  • Użytkownicy
"Ponieważ jestem hujem, nie podam Ci gotowego skryptu, ale coś tam Ci pomogę"
to się pisze przez "ch" :lol2:   :lol:  
A czy ludzie by atakowali tego orka?
EDIT: Tak dobrze?:
if (oth.guild == GIL_ORC)
{
oth.guild == GIL_FRIENDLY_ORC
}
else
{
PrintScreen ("To nic nie da!, -1, 25, _STR_FONT_ONSCREEN, 3 );

Z tego co ja wiem to i "huj" i "chuj" są oba poprawne.

A co do tego to wystarczy zrobić by ork miał zmienianą gildię na ludzką, czyż nie tak sawik?
 

Sawik

Sawik

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

Sawik
Moderator działu

Oswojenie orka
#7 2012-03-17, 21:24(Ostatnia zmiana: 2012-03-17, 21:27)
W przypisaniu gildii daj pojedynczy znak równania, podwójny jest porównaniem. Teraz musisz mu dodać rutynę follow_player i team membera.

Gotyk nie, on chce zrobić normalnego orka i oswoić go czarem, więc musi dać mu pierw gildię ork a potem ją zmienić na np. ludzką bądź friendlyorc.


Edit: Jeszcze upewnij się że w oth jest zapisany instance nakierowanej postaci.
 
Ż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

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy
Savik, po raz pierwszy napisałem coś prawie bezbłędnie
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

Gotyk

Gotyk

Użytkownicy
posty101
Propsy67
  • Użytkownicy
No właśnie o to mi chodziło :ok:  
Kiedyś to zrobiłem z (nie)wielką pomocą osoby trzeciej...  :lol2:
 

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy
zmieniłem to i jest dalej ten sam błąd:
Redefined identifier : SPL_COST_ORC_DOMES
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Redefined identifier znaczy że coś się powtarza, zmień nazwę tej stałej i będzie ok.
 
Ż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

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy
jak edytowałem plik Spell_lightAlle to to przez przypadek zapisałem i teraz są dwa pliki stąd błąd. Mógłby mi ktoś pokazać orginalną zawartość tego pliku?
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Spoiler
// *********
// SPL_Light
// *********

const int SPL_Cost_PalLight         = 10;
const int SPL_Cost_LIGHT         = 10;

const int SPL_Duration_PalLIGHT      = 5;   //fester Wert wird nur für die IT_Runenverwendet (Zeit in Minuten)
const int SPL_Duration_LIGHT      = 5;   //fester Wert wird nur für die IT_Runenverwendet (Zeit in Minuten)   


INSTANCE Spell_Light (C_Spell_Proto)
{
   time_per_mana         = 500;
   spelltype             = SPELL_NEUTRAL;
   targetCollectAlgo      = TARGET_COLLECT_NONE;
   targetCollectRange      = 0;
   targetCollectAzi      = 0;
   targetCollectElev      = 0;
};


INSTANCE Spell_PalLight (C_Spell_Proto)
{
   time_per_mana         = 500;
   spelltype             = SPELL_NEUTRAL;
   targetCollectAlgo      = TARGET_COLLECT_NONE;
   targetCollectRange      = 0;
   targetCollectAzi      = 0;
   targetCollectElev      = 0;
};


// ------ SPL_PalLight ------
func int Spell_Logic_PalLight(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_PalLight)
   {   
      return SPL_SENDCAST;
   }
   else //nicht genug Mana
   {
      return SPL_SENDSTOP;
   };
};


func void Spell_Cast_PalLight()
{
   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_PalLight;
   };
   
   self.aivar[AIV_SelectSpell] += 1;
};

// ------ SPL_LIGHT ------
func int Spell_Logic_Light(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_Light)
   {   
      return SPL_SENDCAST;
   }
   else //nicht genug Mana
   {
      return SPL_SENDSTOP;
   };
};

func void Spell_Cast_Light()
{
   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_Light;
   };
   
   self.aivar[AIV_SelectSpell] += 1;
};

O ten plik chodzi?
 
Ż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

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy
no to ten dzięki
Avallach miał rację teraz jest błąd: Unknow identyficed guild
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

maciejh

maciejh

Rzeka
posty779
Propsy258
ProfesjaScenarzysta
  • Rzeka
Cytuj
Savik, po raz pierwszy napisałem coś prawie bezbłędnie                                        

Kropki na końcu nie ma.
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Avallach miał rację teraz jest błąd: Unknow identyficed guild
Nie żeby miało to coś wspólnego z tym co napisałem :lol2:
Ale rację mam naprawdę, jeśli próbujesz odpalić taki skrypt jaki jest w pierwszym poście, to dojdą błędy z aivar i start_aistate.

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy

Sauron

Oswojenie orka
#17 2012-03-18, 09:45(Ostatnia zmiana: 2012-03-18, 09:53)
to co zrobić?
EDIT:Z aivar'em też jest błąd
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
kilka aivar`ów nie odwołuje się do konkretnego obiektu klasy C_NPC

Ale jestem wredny (napisać odp tam żeby pytający nie zrozumiał xD)

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy

Sauron

Oswojenie orka
#19 2012-03-18, 11:19(Ostatnia zmiana: 2012-03-22, 14:00)
zrobiłem tak żeby sprawdzić czy w ogóle to coś robi, ale nawed napis sie nie wywołuje
INSTANCE Spell_Orc_Domes (C_Spell_Proto)
{
 time_per_mana               = 0;
 targetCollectType = TARGET_TYPE_ALL;
 other.aivar[AIV_PARTYMEMBER] = TRUE;
 print ("Ork oswojony!");
 AI_StartState (other, ZS_MM_Rtn_Follow_Sheep, 0, "");
};

EDIT: Ale błędu nie ma
kilka aivar`ów nie odwołuje się do konkretnego obiektu klasy C_NPC
coś z self albo other?

EDIT2:Ten czar nie bierze nawed many, co jest nie tak?
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.


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