Erst mal Hallo!
Hab das Spiel seit ein paar Tagen, kannte bisher nur genaugenommen SimCity und bin nach anfänglicher Langeweile (die ersten 1-2 Stunden) jetzt doch sehr angetan. Kenne Sims 1 oder 2 nicht, scheint aber etwas komplexere Interaktionen zuzulassen oder mehr Spieltiefe zu haben, wenn ich der Mainstream-Meinung hier vertraue. Singles 2 hat dafür den größeren Erosfaktor: liegt also uneinholbar vorne, hehe...
Jetzt aber der Grund, warum ich mich hier mal ins Forum einklinke: ich hätte gerne auch ein bißchen mehr "Spieltiefe" und hab hier mitbekommen, dass einige User ein wenig am Quellcode rumgeschraubt haben und so das Spiel beeinflussen können. Hab mir- weil ich ein bisserl programmieren kann – mal ein paar Quellcodes von der feinen Homepage von Morrigan runtergeladen, die wohl von R2K manipuliert wurden. Ich kenne zwar LUA nicht, erinnert aber vom logischen Ablauf alles an C oder C++ und die Variablen-, Funktions- und sonstigen Namen sind doch recht selbsterklärend.
So, jetzt will ich natürlich auch ein bißchen rumpfuschen und hab deswegen ein paar Fragen, um rauszufinden was geht und was nicht:
Erst mal kurz zur Syntax, in der Datei "character.lua" steht in der Funktion "manageJealousy" folgende Zeile:
local romanticTreshold = _G['TRIANGLE_REL_TRESHOLD_'..jealousyFlagName]
Was da passiert scheint klar, lokale Variable bekommt einen Wert aus nem Vektor/Matrix zugewiesen.
Erste Frage: bedeutet das "_" bei "_G" irgendwas besonderes, oder heißt der Vektor/Matrix so (scheint global zu sein, wurde nicht in die Funktion übergeben)?
Zweite Frage: "['TRIANGLE_REL_TRESHOLD_'..jealousyFlagName]", was bedeuten die ".." warum ist der erste Teil in Hochkomma gesetzt.
Dritte Frage: einige Zeilen sind mit zwei voranstehenden Minuszeichen versehen. Hat das den selben Effekt wie #?
Was noch wichtiger ist, würde das Spiel noch funktionieren, wenn ich beispielsweise folgende Änderung in der GLActivities object (Datei glActivities.agl) vornehme:
Tickle
{
...
}
relationshipInfluences
{
0
{
condition = REL_EROTIC
value = 0.099
failValue = -0.026
}
1
{
condition = REL_ROMANTIC
value = -0.005
failValue = -0.025
}
}
...
}
Bzgl. der Interpretation, wenn’s im Programm erlaubt ist, passiert dann folgendes: Beim Kitzeln Gibt’s im Falle eines "gelungenen Versuchs" einen klitzekleinen Romantikabzug (weil’s ja albern ist) und einen relativ großen, wenn die Anmache fehlgeschlagen ist (weil’s grad arg genervt hat)?
Sorry, das ist jetzt alles recht speziell, aber vielleicht können mir die Profis mal sagen, ob ich auf dem richtigen Dampfer bin. Dann kann ich meinen Elan schon im Vorfeld regulieren. Wenn’s so klappen würde, wie ich mir das denke, gäb’s als Gegenleistung ja irgendwann ne weitere Extension.
Ach so, weil ja auch Singles 2 Entwickler aktiv im Forum sind: viele Quellcodes sind ja offen, da scheint Geheimniskrämerei (die es verständlicherweise an einigen Stellen auch gibt) nicht notwendig zu sein, was indirekt auch zum modden einlädt. Gibt’s so was wie’n Referenzhandbuch – also welche Funktionen wo mit welchen Parametern zu finden sind etc.? Das wäre natürlich das Optimum...
Grüße aus Südhessen!