Witam. Otóż jest to mój pierwszy tutorial na TheModders więc prosiłbym o wyrozumiałość.
W tym tutku pokażę wam jak można zrobić w prosty sposób monolog do przedmiotu.Wymagane jest znanie podstaw dialogów.A więc zaczynajmy.
Po pierwsze musimy utworzyć zmienną. Np.:
var int naszazmienna;
Jak widzimy mamy zmienną którą dajemy do Story_globals.d w content/Story/Story_Globals.d
Następnym krokiem jest utworzenie przedmiotu z funkcją on_state;
INSTANCE ItMi_naszprzedmiot(C_Item)//unikalny kod przedmiotu
{
name = "Multi Teleport"; //nazwa ;d
mainflag = ITEM_KAT_NONE;
flags = ITEM_MULTI;//Flaga do użytku(nie jestem pewny)
value = 1000;//Cena naszego przedmiotu
visual = "ItMi_Nugget.3ds";//Wygląd :w tym wypadku bryłka rudy
material = MAT_STONE;
on_state[0] = monolog_naszejzmiennej; //używana funkcja po użyciu...
scemeName = "MAP"; //używa jak mapy-Animacja użycie
wear = WEAR_EFFECT;//Mniej ważne:oznacza to efekt na przedmiocie
effect = "SPELLFX_MANAPOTION";//Przypisujemy efekt
description = name;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
Gdy to zrobiliśmy dodajemy funkcję on_state.
func void monolog_naszejzmiennej() // to co z one state
{
naszazmienna = 1; //Zmienna zwraca na 1 czyli rozpoczyna monolog
Ai_ProcessInfos(self); //Kończy dialog ??-Musi być bo monolog się nie pojawi...
};
No to teraz warunki jakie muszą być spełnione aby się wyświetlił np. napis Teleport do...
//********************PIERWSZY DIALOG/MONOLOG***************************************
//Dodajemy najpierw warunek if
if (naszazmienna == 1) //Czyli jeśli naszazmienna jest równa 1 to się pojawi napis
{
return 1;
};
func VOID q_Info()//Funkcja dialogowa (Tak jak w dialogach tylko bez rozmów)
{
//musimy dać przypisać zmiennej wartość 2 (musicie to sami zrobić, aby się czegoś nauczyć :P)
//I zakończyć dialog... wyżej macie (kombiujcie :lol2:)
};
//********************PIERWSZY DIALOG/MONOLOG***************************************
//********************DRUGI DIALOG/MONOLOG***************************************
FUNC INT Telepory_Condition()//Robimy drugi dialog który... wyświetli nam możliwe miejsca teleportacji
{
Na początku dajemy warunek : Jeżeli zmienna == naszej wartości którą przypisaliśmy wyżej (np.2)
{
return 1;
};
};
func VOID Telepory_Info()
{
// Ustawiamy zmienną na 0 (naszazmienna=0)
//Oraz kończymy dialog tak jak wcześniej :P
//I Teraz co ma się wydarzyć czyli teleport na farmę...
AI_Teleport (self, "BIGFARM");//Pol. Teleportuj samego siebie (hero) na Waypoint o nazwie BIGFARM
};
//********************DRUGI DIALOG/MONOLOG***************************************
Możecie też dodać efekty wizualne podczas teleportacji

Ale to sami zrobicie

To by było na tyle. Nie zabraniam kopiowania Tutka ale pod warunkiem że napiszecie kto jest jego autorem.
W razie problemów pisać pod tym postem postaram się pomóc w ich rozwiązaniu.