Broń handlarzy (G2) 3112 9

O temacie

Autor Zucklov

Zaczęty 29.01.2014 roku

Wyświetleń 3112

Odpowiedzi 9

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Pewnie to trywialne, ale niezbyt wiem jak to zrobić...
Otóż zawsze mnie denerwowało, że zawsze kiedy pierwszy raz poprosimy handlarza bronią o pokazanie swoich towarów to następnym razem kiedy go zobaczyliśmy to nakładał broń ze swojego ekwipunku, która służyła mu do handlu. Jest jakiś sposób aby to naprawić?
 
Lieb Vaterland magst ruhig sein

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Każdy NPC zakłada najlepszą broń jaką ma - to chyba oczywiste. Najlepiej daj dwie takie bronie i po sprawie.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Nie chodziło mi o coś w stylu obejścia tej zasady, a raczej o coś w stylu że kiedy NPC pojawi się "na horyzoncie" (kiedy bohater go zobaczy) to zakłada broń, którą ma w skrypcie, bo trochę głupio wygląda handlarz w ubraniu a na plecach ma wielki dwuręczny kordelas.
 
Lieb Vaterland magst ruhig sein

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator

Splash
Moderator

Broń handlarzy (G2)
#3 2014-01-29, 19:38(Ostatnia zmiana: 2014-01-29, 20:22)
Wystarczy w triggerze ustawić lub przez FF (LeGo) funkcję zakładania przedmiotu. Ze względu na nie zbyt dobre działanie funkcji EquipItem napisałem kiedyś nową funkcję dzięki Ikarusowi :

func void Equip_Item(var C_NPC slf, var int Item)
{
    if (!Npc_HasItems (slf, Item))
    {
        CreateInvItems (slf, Item, 1);
    };

    CALL_PtrParam(MEM_InstToPtr(Item));
    CALL__thiscall(MEM_InstToPtr(slf), 7545792);
};
Wystarczy w  trigerze wywołać funkcję :
func void NazwaFunkcji()
{
Equip_Item(kod handlarza, kod przedmiotu);
};
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Trochę noobskie pytanie, ale w jakiego triggera miałbym to dodać czy jaki nowy zrobić?
 
Lieb Vaterland magst ruhig sein

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Dobra, wyszedłem trochę na debila bo tick-tocki umiem robić, ale nasuwa mi się inne pytanie - bo zakładając itema, postać wykonuje na chwilę animację stania. Czy to nie będzie wyglądać dziwnie, kiedy co chwilę (np. 1 sekundę) koleś będzie drgał, czy może coś przeoczyłem?
 
Lieb Vaterland magst ruhig sein

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Nie wydaje mi się żeby tak się działo. Ale mam drugi i prostszy pomysł. Do opcji dialogowej "Pokaż mi swoje towary" dodaj tą funkcję :
Equip_Item(kod handlarza, kod przedmiotu);
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
No tak, ale nie wydaje mi się, aby za każdym razem kiedy gracz spotyka handlarza gadał z nim, albo nie do końca zrozumiałem Twoją funkcję XD
 
Lieb Vaterland magst ruhig sein

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Polecałbym taki skrypt:

(w triggerze)
var int Ziemniaczek; //tutaj możesz napisać cokolwiek, ja lubię ziemniaki i to było moje pierwsze skojarzenie
if (Npc_GetDistToNpc(hero, kod handlarza) < 1250) && (Ziemniaczek == 0)
{
Equip_Item(kod handlarza, kod przedmiotu);
Ziemniaczek = 1;
}
else if (Npc_GetDistToNpc(hero, kod handlarza) > 1250) && (Ziemniaczek == 1)
{
Ziemniaczek = 0;
};
Skrypt piszę z innego komputera, nie mam przy sobie skryptów, więc mogłem coś źle napisać, sprawdź czy się gdzieś nie pomyliłem.
Napisałem skrypt tylko dlatego, że możesz nie chcieć grzebać w skryptach dialogu handlu, a czy go użyjesz to już twoja sprawa. 
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.


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