FANDOM


Dialogowy skrypt losującyEdytuj

/*
  cn_rnd14
  Skrypt rozpoczynający konwersacje, linia ma 25 % szans na wymówienie.
  Upewnij się, że umiejscowiłeś warunki węzłów dialogowych od najmniej do najbardziej ważnego.
  Stworzone przez Ghostdreamer pod NW1, zmodyfikowane przez Paula V dla Wiedźmina, przetłumaczone przez Quartiesa.
*/
int StartingConditional()
{
    int iResult;
    iResult = d100() < 26;
    return iResult;
}

Powyższy skrypt jest przykładem dialogowego skryptu szansy. Ten przykład zostanie ustalony jako skrypt warunkowy pierwszego z czterech węzłów konwersacji. Drugi węzeł konwersacji będzie posiadał podobny skrypt warunkowy, z tą różnicą, że

iResult = d100() <26;

zostanie zmienione na:

iResult = d100() <51;

To każe D'jnniemu rzucić 100-ścienną kostką podczas inicjacji dialogu. Jeśli wynik jest mniejszy niż 26 (czyli szanse wynoszą 25 %) węzeł dialogowy się odtworzy. Jeżeli wynik jest większy niż 25 przechodzi do następnego węzła i rzuca jeszcze raz.

To ważne aby skrypt był uporządkowany od najmniej do najbardziej prawdopodobnej możliwości,  
kolejno od początku do końca, w węzłach dialogowych w pliku *.dlg. Musi tak być, ponieważ D'jinni czyta plik od początku 
do końca i jeśli początek węzła iResult = d100() < 100; wtedy dialog będzie miał 
100 % całego czasu, co niszczy cel skryptu.


Ponadto, węzeł konwersacje w pliku *.dlg będzie miał osobny skrypt szansy, każdy z równą szansą na rozpoczęcie, zależnie od liczby węzłów dialogowych. Co to znaczy? Więc jeśli masz 10 węzłów dialogowych i chcesz mieć taką samą szanse na wypowiedzenie każdego przez Geralta, wtedy skrypt będzie miał taką samą składnie, ale z takimi opcjami:

  • iResult = d100() < 11;
  • iResult = d100() < 21;
  • iResult = d100() < 31;
  • iResult = d100() < 41;
  • iResult = d100() < 51;
  • iResult = d100() < 61;
  • iResult = d100() < 71;
  • iResult = d100() < 81;
  • iResult = d100() < 91;
  • iResult = d100() < 100;

Konwencja nazewnictwa skryptówEdytuj


Jeśli masz dużo takich skryptów zapisanych na twoim dysku twardym określenie ich może być trudne. Żeby było łatwiej, ja podpisuje skrypt specjalną nazwą, oznaczającą szanse.

cn_rnd14 (To oznacza warunek szansy-1 na 4. a iResult= <26)
cn_rnd24 (To oznacza warunek szansy-2 na 4. a iResult= <51)
cn_rnd15 (To oznacza warunek szansy-1 na 5. a iResult= <21)
etc.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Więcej z Fandomu

Losowa wiki