Scripting Diskussion - Seite 2 - SpellForce - Official Board

News:
08-17-2017, 15:02: SpellForce 3 OUT NOW! + Alle Trailer | Update: Alle Patchinfos
01-17-2017, 20:52: alte Forenlinks "reparieren"
07-04-2012, 21:36: SpellForce-Datenbank ist wieder da - Ein WiKi soll entstehen
08-30-2009, 20:03: Patchübersicht

Herzlich Willkommen im offiziellen SpellForce Forum!

Du betrachtest das Forum zur Zeit als Gast, was deine Zugriffsrechte bei Diskussionen und anderen Dingen enorm einschränkt. Wenn du dich hier registrierst, was natürlich völlig kostenlos ist, dann wirst du Beiträge und Themen erstellen, Private Konversationen mit anderen Mitgliedern führen, bei Umfragen abstimmen, Inhalte uploaden und vielen andere Dinge können. Die Anmeldung geht schnell von Statten, ist enorm einfach und kostenlos, daher würden wir dich ersuchen, dich zu registrieren!

Falls es Probleme mit der Anmeldung oder dem Zugriff auf einen Account gibt, stehen wir dir gerne über die Kontaktseite mit Rat und Tat zur Verfügung.

SpellForce Newsletter
Gib deine E-Mail Adresse in das Feld ein, um immer über die letzten Neuigkeiten zu SpellForce informiert zu werden

Zurück   SpellForce - Official Board > SpellForce - Deutsches Forum > SpellForce 2 - Shadow Wars > Editor & Modding
Registrieren Hilfe Benutzerliste Kalender Suchen Heutige Beiträge Alle Foren als gelesen markieren

Editor & Modding Alles zum Editor und zum Thema Modding

Antwort
 
Themen-Optionen
Alt 07-07-2006, 00:29   #21
Kubi
Resurrected
 
Benutzerbild von Kubi
 
Registriert seit: Oct 2003
Ort: Stark Raving Sick Sad Little World
Alter: 29
Beiträge: 14.281
Hi

Funktioniert der GiveXP Befehl bei dir? Ich tüftle schon seit Tagen daran, aber bei mir will keine Variante laufen.

Zu den Quests:
Das Problem ist, dass da einfach zuviel über die DB läuft, worauf wir (noch) keinen Zugriff haben.

Gruß
-kubi
__________________
Attention: PMs arent possible. For contacting me use this thread
DESPITE ALL MY RAGE I AM STILL JUST A RAT IN A CAGE

Kubi ist offline   Mit Zitat antworten
Alt 07-07-2006, 00:32   #22
Veri
Registered User
 
Registriert seit: Jul 2006
Alter: 35
Beiträge: 23
Das AvatarXPGive geht einwandfrei bei mir, habs mit einer FigureIsDead-Condition erfolgreich mehrfach durchgeführt.

--------------
Zu den Quests:
Das Problem ist, dass da einfach zuviel über die DB läuft, worauf wir (noch) keinen Zugriff haben.
--------------
Ich befürchtete soetwas fast hoffe mal die Entwickler brauchen nicht mehr soooo lange

Kann es sein das in der 01.pak der Demo sehr viele Script-Befehle sehr fein beschrieben sind?

Geändert von Veri (07-07-2006 um 00:37 Uhr).
Veri ist offline   Mit Zitat antworten
Alt 07-07-2006, 00:39   #23
Kubi
Resurrected
 
Benutzerbild von Kubi
 
Registriert seit: Oct 2003
Ort: Stark Raving Sick Sad Little World
Alter: 29
Beiträge: 14.281
Gut, dann habe ich bei den XP wohl irgendetwas übersehen. Mist.

@ghost_zero5
Naja, ich weiß jetzt nicht, ob ich das ganz verstehe, was du meinst, aber wenn du kannst z.B. Flags setzen und diese, wenn sie einen bestimmten Wert erreicht haben, entsprechend weitere Ereignisse auslösen lassen.

Aber soetwas mit die Tags von allen Gebäuden eines Types auslesen hätte ich noch nicht gefunden.
__________________
Attention: PMs arent possible. For contacting me use this thread
DESPITE ALL MY RAGE I AM STILL JUST A RAT IN A CAGE

Kubi ist offline   Mit Zitat antworten
Alt 07-07-2006, 01:52   #24
ghost_zero5
Registered User
 
Registriert seit: Dec 2003
Alter: 31
Beiträge: 774
Tja naja sowas in die Richtung bzw. für Units dasselbe... Dann könntem an nämlich alle diese Units oder Gebäude durch andere ersetzen und das ohne, dass diese Gebäude bereits im Editor vorkommen...

Sogar beim Warcraft III Editor gabs diese Möglichkeit und das sogar mit GUI.

Das müsste doch auch irgendwie hier möglich sein. Immerhin kann man auch ganz normales LUA-Scripting verwenden, da wäre halt nur die Frage wie.
Oder auch Random-Units auswählen oder dergleichen.

Oder z.B. eine Einheit betritt ein gewisses Gebiet und sobald das passiert, will man diese Einheit durch eine andere ersetzen oder ihr mehr Leben geben (z.B. irgendein lebensverstärkendes Gebiet oder Heilbrunne oder dergleichen) und dazu müsste man diese irgendwie von der Condition speichern können oder mittels LUA-Befehl auslesen können, welche Einheiten sich in diesem Gebiet befinden....

Ohne solche Möglichkeiten sind ein Haufen wirklich interessanter Scripting-Möglichkeiten nämlich vollkommen unmöglich.

Oder auch die entsprechende Einheit die das Gebiet betritt zu einem gewissen Zielpunkt zu teleportieren oder zu einem gewissen Punkt gehen zu lassen...

Geändert von ghost_zero5 (07-07-2006 um 01:59 Uhr).
ghost_zero5 ist offline   Mit Zitat antworten
Alt 07-07-2006, 12:58   #25
Mister Mister
Mister
 
Registriert seit: Nov 2005
Beiträge: 353
Hmm... Jedesmal, wenn ich versuche ein Script zu machen, kommt beim Starten der Map eine Access Violation!

Kann mir irgendwer sagen, wie man das behebt?
Mister Mister ist offline   Mit Zitat antworten
Alt 07-07-2006, 13:54   #26
ghost_zero5
Registered User
 
Registriert seit: Dec 2003
Alter: 31
Beiträge: 774
Sicher, dass die Access Violation nicht auch OHNE Script kommt..? Weil wenn es ein Script-Fehler wäre, dann wäre es ein LUA-Fehler...
Falls du eine CoOp-Map machst, dann solltest du mal das Team-Setup ändern, am besten mittels Create Coop-Team-Setup oder so ähnlich, weil da ist er recht kleinlich...
ghost_zero5 ist offline   Mit Zitat antworten
Alt 07-07-2006, 15:00   #27
Kubi
Resurrected
 
Benutzerbild von Kubi
 
Registriert seit: Oct 2003
Ort: Stark Raving Sick Sad Little World
Alter: 29
Beiträge: 14.281
Hi

@ghost_zero5
Einheiten ersetzen hätte ich wirklich noch nicht gefunden. Gebiete kannst du im Editor setzen und z.B. über den Befehlt FigureIsInEntityRange {Tag = "", TargetTag = "", Range = } oder über FigureIsInRange {Tag = "", Range = , X, Y} aufrufen.

Lebensenergie von Figuren kannst du z.B. mit FigureHealthAdd {Tag ="", Percent = } setzen.

Ich denke, dass die Möglichkeiten sehr wohl gegeben ist. Als WC3 Modder muss man sich nur entsprechend umgewöhnen.

Gruß
-kubi
__________________
Attention: PMs arent possible. For contacting me use this thread
DESPITE ALL MY RAGE I AM STILL JUST A RAT IN A CAGE

Kubi ist offline   Mit Zitat antworten
Alt 07-07-2006, 15:14   #28
Mister Mister
Mister
 
Registriert seit: Nov 2005
Beiträge: 353
Zitat:
Zitat von ghost_zero5
Sicher, dass die Access Violation nicht auch OHNE Script kommt..? Weil wenn es ein Script-Fehler wäre, dann wäre es ein LUA-Fehler...
Falls du eine CoOp-Map machst, dann solltest du mal das Team-Setup ändern, am besten mittels Create Coop-Team-Setup oder so ähnlich, weil da ist er recht kleinlich...

Ok... War wirklich ein Fehler im Teamsetup...
Danke für den Hinweis!
Mister Mister ist offline   Mit Zitat antworten
Alt 07-07-2006, 15:43   #29
ColdDragon
Registered User
 
Benutzerbild von ColdDragon
 
Registriert seit: Nov 2005
Beiträge: 43
ColdDragon eine Nachricht über ICQ schicken
Moin Jungs
Kann einer von euch der die Demo hat nicht mal für die anderen eine Map mitsammt unterordner zum download hir im forum bereitstellen?
Es gibt nähmlich auch leute , die die nicht haben und für die wäre das doch vorteilhaft oder??
__________________
Was ist weiss mit scharfen Zähnen und zwei Flügeln?
Keine Ahnung!
Ich auch nicht , aber es frisst grade deinen Kumpel!
-----------------------------------------
Wer mich spammt STIRBT!!
ColdDragon ist offline   Mit Zitat antworten
Alt 07-07-2006, 15:52   #30
Kubi
Resurrected
 
Benutzerbild von Kubi
 
Registriert seit: Oct 2003
Ort: Stark Raving Sick Sad Little World
Alter: 29
Beiträge: 14.281
Hi

Kein Problem. Ich habe dir ein default Paket angehängt.
Mapname muss sowohl beim Ordner als auch beim Platformscript (script/_mapname.lua) durch den entsprechenden Dateinamen der Map (ohne .map Endung) geändert werden.

Extrahiert wird das ganze Paket ins Verzeichnis "SpellForce 2\base\map\coopcommunity".

Gruß
-kubi
Angehängte Dateien
Dateityp: zip mapname.zip (967 Bytes, 75x aufgerufen)
__________________
Attention: PMs arent possible. For contacting me use this thread
DESPITE ALL MY RAGE I AM STILL JUST A RAT IN A CAGE

Kubi ist offline   Mit Zitat antworten
Alt 07-07-2006, 16:28   #31
ghost_zero5
Registered User
 
Registriert seit: Dec 2003
Alter: 31
Beiträge: 774
Zitat:
Zitat von Kubi
Hi

@ghost_zero5
Einheiten ersetzen hätte ich wirklich noch nicht gefunden. Gebiete kannst du im Editor setzen und z.B. über den Befehlt FigureIsInEntityRange {Tag = "", TargetTag = "", Range = } oder über FigureIsInRange {Tag = "", Range = , X, Y} aufrufen.

Lebensenergie von Figuren kannst du z.B. mit FigureHealthAdd {Tag ="", Percent = } setzen.

Ich denke, dass die Möglichkeiten sehr wohl gegeben ist. Als WC3 Modder muss man sich nur entsprechend umgewöhnen.

Gruß
-kubi
Das schon, aber wie kann ich irgendwelche Figure in Range verwenden, also ohne dass ich den Tag kenne..? Und wie kann ich diese dann in den Actions verwenden..?
Also wenn ich jetzt z.B. meinen gebauten Arbeiter in ein Heilgebiet schicke, dann wäre das irgendeine Einheit und diese irgendeine Einheit müsste dann geheilt werden..?
Das ist mein Problem zurzeit, man kann aus den Conditions keine Infos speichern bzw. in den Actions verwenden oder in den Actions selbst abrufen.
Bzw. geht es sicher, wenn man das State-Zeug nicht verwendet und direkt auf die LUA-Funktionen zugreft, wobei dann die Frage wäre, welche das sind...?

P.S.: Bekommen eigentlich alle Einheite irgendwelche Standard-Tags zugeordnet..?
z.B. dürfte der Avatar (zumindest in der sf_base01.pak) folgenden Tag:
pl_HumanAvatar oder pl_Human1Avatar oder pl_Human2Avatar oder ... (wobei pl_Human wohl der Player-Name ist, das wäre dann bei mir wohl pl_Human01Avatar gewesen)..?

Geändert von ghost_zero5 (07-07-2006 um 16:36 Uhr).
ghost_zero5 ist offline   Mit Zitat antworten
Alt 07-07-2006, 16:43   #32
Kubi
Resurrected
 
Benutzerbild von Kubi
 
Registriert seit: Oct 2003
Ort: Stark Raving Sick Sad Little World
Alter: 29
Beiträge: 14.281
Hi

Das müsste mit FigureUnitRtsIsInRange {UnitId = "", Range = , X, Y} gehen. Ich weiß aber nicht, ob die angegebenen Parameter so stimmen, da ich zur Zeit keine Möglichkeit zum Testen habe.

Gruß
-kubi
__________________
Attention: PMs arent possible. For contacting me use this thread
DESPITE ALL MY RAGE I AM STILL JUST A RAT IN A CAGE

Kubi ist offline   Mit Zitat antworten
Alt 07-07-2006, 17:11   #33
Skil
Registered User
 
Benutzerbild von Skil
 
Registriert seit: Feb 2004
Ort: nähe Bonn
Alter: 28
Beiträge: 148
mal so eine Frage, aber was für eine Programmiersprache steckt da hinter. Ich hab keine Ahnung wie die ganzen Befehle zustande kommen und würde mich auch gern näher damit befassen, aber für misch ist das alles Chinesisch.

Deshalb wäre es für mich Praktisch das zu wissen, damit ich mich noch mehr damit aueinadersetzten kann.
Skil ist offline   Mit Zitat antworten
Alt 07-07-2006, 17:11   #34
ColdDragon
Registered User
 
Benutzerbild von ColdDragon
 
Registriert seit: Nov 2005
Beiträge: 43
ColdDragon eine Nachricht über ICQ schicken
Ich steh momentan total neben mir aber wo kann ich da anfangen?

State
{
StateName = "INIT",

OnOneTimeEvent
{
Conditions =
{

},
Actions =
{

},
GotoState = "MAIN",
};
};



for i = 1, 3 do
local sPlayerName = "pl_Human" .. i


-- ************************************************** ******************
-- First Script
-- ************************************************** ******************
OnOneTimeEvent
{
Conditions =
{

},
Actions =
{

},
}
end

State
{
StateName = "MAIN",

OnOneTimeEvent
{
Conditions =
{

},
__________________
Was ist weiss mit scharfen Zähnen und zwei Flügeln?
Keine Ahnung!
Ich auch nicht , aber es frisst grade deinen Kumpel!
-----------------------------------------
Wer mich spammt STIRBT!!
ColdDragon ist offline   Mit Zitat antworten
Alt 07-07-2006, 17:17   #35
ColdDragon
Registered User
 
Benutzerbild von ColdDragon
 
Registriert seit: Nov 2005
Beiträge: 43
ColdDragon eine Nachricht über ICQ schicken
Wie kriegt man ein Ausrufungs oder Fragezeichen bzw ein Actionszeichen auf Einheiten/Objekte?
__________________
Was ist weiss mit scharfen Zähnen und zwei Flügeln?
Keine Ahnung!
Ich auch nicht , aber es frisst grade deinen Kumpel!
-----------------------------------------
Wer mich spammt STIRBT!!
ColdDragon ist offline   Mit Zitat antworten
Alt 07-07-2006, 17:22   #36
Kubi
Resurrected
 
Benutzerbild von Kubi
 
Registriert seit: Oct 2003
Ort: Stark Raving Sick Sad Little World
Alter: 29
Beiträge: 14.281
Hi

@ColdDragon
Ich hab eine Art "Rohplatformscript" drinnen gelassen.
Unter "Conditions" kannst du die Bedingungsbefehle eingeben, die erfüllt sein müssen, damit ein Ereignis unter "Actions" ausgelöst wird.

Ausrufezeichen kannst du mit DialogSetEnabled {Tag = ""}, - wobei unter Tag der entsprechende Tag für einen NPC eingesetzt gehört. Weiters müsstest du dann ein Dialogscript schreiben, womit sich noch keiner (oder doch?) wirklich befasst hat.

Gruß
-kubi
__________________
Attention: PMs arent possible. For contacting me use this thread
DESPITE ALL MY RAGE I AM STILL JUST A RAT IN A CAGE

Kubi ist offline   Mit Zitat antworten
Alt 07-07-2006, 17:37   #37
ColdDragon
Registered User
 
Benutzerbild von ColdDragon
 
Registriert seit: Nov 2005
Beiträge: 43
ColdDragon eine Nachricht über ICQ schicken
Zitat:
Zitat von Kubi
Hi

@ColdDragon
Ich hab eine Art "Rohplatformscript" drinnen gelassen.
Unter "Conditions" kannst du die Bedingungsbefehle eingeben, die erfüllt sein müssen, damit ein Ereignis unter "Actions" ausgelöst wird.

Ausrufezeichen kannst du mit DialogSetEnabled {Tag = ""}, - wobei unter Tag der entsprechende Tag für einen NPC eingesetzt gehört. Weiters müsstest du dann ein Dialogscript schreiben, womit sich noch keiner (oder doch?) wirklich befasst hat.

Gruß
-kubi
Da legt man dann fest , dass jemand überhgaupt mit dir spricht ?!
Und das Symbol muss dann unter Dialogscript festlegen?
Und wie ist das mit Hebeln?
__________________
Was ist weiss mit scharfen Zähnen und zwei Flügeln?
Keine Ahnung!
Ich auch nicht , aber es frisst grade deinen Kumpel!
-----------------------------------------
Wer mich spammt STIRBT!!
ColdDragon ist offline   Mit Zitat antworten
Alt 07-07-2006, 17:44   #38
ghost_zero5
Registered User
 
Registriert seit: Dec 2003
Alter: 31
Beiträge: 774
Zitat:
Zitat von Kubi
Hi

Das müsste mit FigureUnitRtsIsInRange {UnitId = "", Range = , X, Y} gehen. Ich weiß aber nicht, ob die angegebenen Parameter so stimmen, da ich zur Zeit keine Möglichkeit zum Testen habe.

Gruß
-kubi
Das ist ein Action-Befehl..? Falls ja, was liefert der zurück..? Kann ich den mit einer For-Schleife durchgehen und die Tags bei einer anderen Funktion verwenden..?

EDIT:
Lt. .pak Datei ist das eine Condition und das bringt mir recht wenig, da ich dann zwar weiß, dass in dieser Range Einheiten sind, aber ich kann mit diesen Einheiten nichts anfangen, da ich sie ja nicht auswählen kann... Dazu müsste die Condition schon die Einheiten als return-Wert liefern (wobei ich glaube das es sowas wie einen return-Wert bei der Condition nicht gibt (bei normalen LUA-Funktionen sicher, aber bei der Condition nicht).

Geändert von ghost_zero5 (07-07-2006 um 17:51 Uhr).
ghost_zero5 ist offline   Mit Zitat antworten
Alt 07-07-2006, 18:22   #39
Kubi
Resurrected
 
Benutzerbild von Kubi
 
Registriert seit: Oct 2003
Ort: Stark Raving Sick Sad Little World
Alter: 29
Beiträge: 14.281
Hi

@ColdDragon
Das Ausrufezeichen müsste schon dieser Tag machen. Im Dialogscript muss dann allderdings erst definiert werden, was der NPC sagen soll.

Hebeln sind Scripttechnisch nur solche Sachen, wo das goldene Zahnrad darüber ist. Du kannst z.B. die Bedingung LeverIsOn {Tag = ""} verwenden, um Actions über Schalter zu steuern.

@ghost_zero5
Ein Action Befehl in der von dir gewünschten Art wäre mir leider nicht bekannt.
Genauso wenig weiß ich, ob und wie man das "richtige LUA" verwenden kann.

Gruß
-kubi
__________________
Attention: PMs arent possible. For contacting me use this thread
DESPITE ALL MY RAGE I AM STILL JUST A RAT IN A CAGE


Geändert von Kubi (07-09-2006 um 19:04 Uhr).
Kubi ist offline   Mit Zitat antworten
Alt 07-07-2006, 18:52   #40
ghost_zero5
Registered User
 
Registriert seit: Dec 2003
Alter: 31
Beiträge: 774
In der .pak Datei kommt das richtige LUA vor, dort sind auch die Funktionen enthalten zum Übersetzen der States und Events und Conditions und Actions auf LUA-Functionen.

Außerdem haben sie auch dann z.B. mittels normalem LUA (was man ohne State problemlos verwenden kann) Variablen entsprechend angepasste State-Teile zugewiesen. Also prinzipiell denke ich, dass das was ich will wohl auch so in etwa gehen wird, nur wäre die Frage, welche Funktionen man aufrufen muss, um die Tags der Einheiten zu bekommen. Obwohl, wenn alle Einheiten Standard-Tags haben, dann könnte man ja quasi mit den Conditions, LUA und dergleichen für jede mögliche Einheiten so einen State mit LUA-Scripting erzeugen ohne dass man solche entsprechenden Funktionen kennen muss, wobei solche entsprechenden Funktionen schon besser wären. Da gibts sicher irgendeine Möglichkeit, nur wäre halt die Frage, welche Funktionen das sind
ghost_zero5 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:12 Uhr.


Powered by vBulletin® Version 3.6.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
© 2015 Nordic Games GmbH, Austria. All Rights Reserved.
Style © by Kubi