Problem ze skryptem butów - można ich założyć więcej niż jedną parę 5918 16

O temacie

Autor Draks

Zaczęty 15.07.2014 roku

Wyświetleń 5918

Odpowiedzi 16

Draks

Draks

Użytkownicy
Gothic 2 Nowy porządek
posty1715
Propsy766
ProfesjaGrafik 3D
  • Użytkownicy
  • Gothic 2 Nowy porządek
Witam, chciałbym zrobić skrypt do butów  i zrobiłem sobię przedmiot z takimi flagami   
mainflag = ITEM_KAT_NF;
flags = ITEM_THROW;
problem tkwi w tym że mogę założyć więcej niż jedne "buty". Chciałbym aby można było założyć tylko jedne, aby to wyglądało tak samo jak w przydpaku hełmu, że mogę załozyć tylko jedne, bardzo proszę o pomoc.
 

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
użyj zmienna i funkcje on_equip + on_unequp.  Ale wydaje mi się ze trzeba do tego ikarus by moc złożyć ich jak sie zakłada drugie buty 
 


Draks

Draks

Użytkownicy
Gothic 2 Nowy porządek
posty1715
Propsy766
ProfesjaGrafik 3D
  • Użytkownicy
  • Gothic 2 Nowy porządek
No niestety z fukcjami on_equip i on_unequip nie działa, Na Ikariusie się za bardzo nie znam.
 

gothic1210
  • Gość
A co dałeś w tych funkcjach?
 

Sawik

Sawik

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

Sawik
Moderator działu

Buty
1. W Globals wpisz sobie zmienną Shoes_Equipped
2. w On_Equip
If (Shoes_Equipped)
{
Print ("Nie możesz tego założyć");
//Tutaj też funkcja na zdejmowanie pary butów które próbujesz założyć, nie pamiętam jak się nazywała
}
else
{
Shoes_Equipped = true; 
}
3. W On_UnEquip 
{
Shes_Equipped = false;
}
4. Teraz działa. 
 
Ż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

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
1. W Globals wpisz sobie zmienną Shoes_Equipped
2. w On_Equip
If (Shoes_Equipped)
{
Print ("Nie możesz tego założyć");
//Tutaj też funkcja na zdejmowanie pary butów które próbujesz założyć, nie pamiętam jak się nazywała
}
else
{
Shoes_Equipped = true;
}
3. W On_UnEquip
{
Shes_Equipped = false;
}
4. Teraz działa.
przecież to samo mu napisałem i napisał ze nie działa  :pokerface:
Spoiler
no wiadomo ze kodu mi sie pisać nie chciało  :D
 


Sawik

Sawik

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

Sawik
Moderator działu

Buty
Raczej nie wiedział o co Ci chodziło.
W problematyce długo się nie udzielałem bo im trzeba łopatologicznie. 
Dragothic, akurat tym razem nic do Ciebie, ogólnie piszę (właściwie to dopiero sprawdziłem komu odpowiadałem :lol2:)
 
Ż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

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
Cytuj
W problematyce długo się nie udzielałem bo im trzeba łopatologicznie. 
 znam to uczucie :F, ale wydaje mi się ze bardzo mało ludzi odpowiada w problematyce. Co jest trochę smutne. Forum jest po to by pomagać. A wiec chyba zacznę częściej odwiedzać ten dział.   
 


Splash

Splash

Moderator
posty4211
Propsy3414
ProfesjaNierób
  • Moderator
W problematyce długo się nie udzielałem bo im trzeba łopatologicznie.
To zależy od problemu i doświadczenia w danej dziedzinie twórcy tematu.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Draks

Draks

Użytkownicy
Gothic 2 Nowy porządek
posty1715
Propsy766
ProfesjaGrafik 3D
  • Użytkownicy
  • Gothic 2 Nowy porządek
Narazie dałem sobie z tym spokój, ale wróce do tego na 100%, Sawik dzięki za skrypt zachowam go, prędzej czy później wróce do tego.
 

Sawik

Sawik

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

Sawik
Moderator działu

Buty
Forum jest po to by pomagać. A wiec chyba zacznę częściej odwiedzać ten dział.   
Pomagać, ok - nie ma problemu, robić za nich - niech spierdalają.
A niestety, większość osób nie chce się uczyć.

@Splash, Tobie w miarę umiejętności chętnie akurat pomogę, bo widać że jak raz Ci się coś pokaże na przykładzie, następnym razem nie piszesz problemu o tym samym. I o to mnie się rozchodzi. Osoby które nie wiedzą co to instrukcja warunkowa, a chcą pisać duale czy obrażenia sferyczne mnie dobijają.
 
Ż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

Xitros

Xitros

Użytkownicy
posty41
Propsy2
Profesjabrak
  • Użytkownicy
Może spróbuj zrobić coś takiego:

var int buty;
var int buty2;
var int buty3;

FUNC VOID zaloz_buty()
{
if (Hlp_IsItem (self, INSTANCE_BUTY_1))
{
buty = true;
}
else if (Hlp_IsItem (self, INSTANCE_BUTY_2))
{
buty2 = true;
}
else if (Hlp_IsItem (self, INSTANCE_BUTY_3))
{
buty3 = true;
};

if (buty == true) && (buty2 == true)
|| (buty == true) && (buty3 == true)
|| (buty2 == true) && (buty3 == true)
{
Print ("Nie możesz nosić dwóch par butów!");
Npc_RemoveInvItem (other, INSTANCE_BUTY_1);
CreateInvItem (other, INSTANCE_BUTY_1);
Npc_RemoveInvItem (other, INSTANCE_BUTY_2);
CreateInvItem (other, INSTANCE_BUTY_2);
Npc_RemoveInvItem (other, INSTANCE_BUTY_3);
CreateInvItem (other, INSTANCE_BUTY_3);
};
};

FUNC VOID zdejmij_buty()
{
buty = false;
buty2 = false;
buty3 = false;
};
Do wszystkich butów, dajesz ten sam equip jak i unequip.
Tylko to Hlp_IsItem nie jestem pewien.

Edit.
Zapomniałem o unequip.
 

Splash

Splash

Moderator
posty4211
Propsy3414
ProfesjaNierób
  • Moderator
To nie ma prawa zadziałać :ok: Tam gdzie powinna być instancja przedmiotu, dałeś npc.
Powiedz mi, co przez to rozumiesz?
if (Hlp_IsItem (self, INSTANCE_BUTY_1))
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Xitros

Xitros

Użytkownicy
posty41
Propsy2
Profesjabrak
  • Użytkownicy
Cytuj
Tylko to Hlp_IsItem nie jestem pewien.
Grzebałem w externals. Po zmianie Hlp_IsItem to powinno działać. Zależy czy te same buty się ubiera.
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Cytuj
FUNC INT    Hlp_IsItem             (VAR C_Item item, VAR INT instanceName)
Zobacz jakie argumenty przyjmuje Hlp_IsItem i porównaj z tym, co napisałeś.... wrong type na starcie....
Oraz przeanalizuj, co Splash napisał.

Xitros

Xitros

Użytkownicy
posty41
Propsy2
Profesjabrak
  • Użytkownicy
No wiem, mój błąd, robiłem 2 rzeczy na raz :lol2: Ale jeśli się zmieni Hlp_IsItem tak aby sprawdzało czy mamy założony item, to powinno działać, chyba że da się założyć kilka takich samych butów  :lol2:

Trzeba jeszcze dopisać przy tworzeniu butów, że równa się true i dopiero tworzy dane buty, ponieważ zakładając np, buty 1 i 2 stworzy też buty 3, nie mając ich wcześniej.
 

GothicModer

GothicModer

Użytkownicy
Skrypter, grafik
posty105
Propsy23
ProfesjaSkrypter
  • Użytkownicy
  • Skrypter, grafik
Można to zrobić tak:

To do Story_Globals.d :

var int buty;
A to pod skrypt butów:

FUNC VOID Buty_Equip()
{
 Buty = Buty +1;

if Buty >= 2
{
 Npc_RemoveInvItem (self, BUTY2); //zamiast BUTY2 instancja butów założonych (lub jak kto woli zakładanych) :D :trollface:  :ok:
 CreateInvItem (self, BUTY2);

};

};

FUNC VOID Buty_UnEquip()
{
 Buty = Buty - 1;
};

Jeżeli działa liczę na  :ok: propsa  :cool:
 
Szukam testerów do moda i ludzi chętnych do pomocy w nim. Szczegóły PW


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