Siedler Portal  

Zurück   Siedler Portal > Die Siedler 5 Das Erbe der Könige > Die Siedler 5 Das Erbe der Könige Mapperecke > Die Siedler 5 Scriptecke für Fortgeschrittene

Antwort
 
LinkBack Themen-Optionen
Alt 09.08.2007, 17:05   #1 (permalink)
12 of 5
 
Registriert seit: 22.06.2007
Beiträge: 52
Eigene Funktion und Fehler!

Hi, ich hab mal was von dieser Chat-Funktion gelesen und da hab ich eine Funktion für Passwort-Tore geschrieben. Hier die Funktion:
Code:
function PasswortTor(_tor,_name,_entity,_nummer,_passwort,_text)
   if not _name then _name = nil end
   if not _entity then _entity = 0 end
   if not _nummer then _nummer = 1 end
   if not _passwort then _passwort = "KeinPasswort" end
   gvTor = gvTor or {TorJob = StartSimpleJob("CheckTor")};
   local TorTab = {
      Name = _tor,
      EntName = _name,
      Entity = _entity,
      Nummer = _nummer,
      Passwort = _passwort,
      Text = _text,
   };
   table.insert(gvTor,TorTab);
end

function CheckTor()
   for Gate = 1, table.getn(gvTor) do
      if AreEntitiesInArea(1,gvTor[Gate].Entity,GetPosition(gvTor[Gate].Name),1000,gvTor[Gate].Nummer) or
         IsNear(gvTor[Gate].EntName,gvTor[Gate].Name,1000) then
         XGUIEng.ShowWidget(XGUIEng.GetWidgetID("ChatInput"),1)
         GameCallback_GUI_ChatStringInputDone = function (_ChatString)
            if _ChatString == gvTor[Gate].Passwort then
               ReplaceEntity(gvTor[Gate].Name,GetGateType(gvTor[Gate].Name))
               Message(gvTor[Gate].Text)
            else
               Message("Passwort ist falsch!")
            end
         end
      else
         XGUIEng.ShowWidget(XGUIEng.GetWidgetID("ChatInput"),0)
      end
   end
   if table.getn(gvTor) == 0 then
      gvTor = nil
      return true
   end
end

function GetGateType(_gate)
  local Type = Logic.GetEntityTypeName(Logic.GetEntityType(GetEntityId(_gate)))
--Gate Auf-Zu
   if Type == "XD_WallStraightGate" then
      return Entities.XD_WallStraightGate_Closed
--Gate Zu-Auf
   elseif Type == "XD_WallStraightGate_Closed" then
      return Entities.XD_WallStraightGate
--DarkGate Auf-Zu
   elseif Type == "XD_DarkWallStraightGate" then
      return Entities.XD_DarkWallStraightGate_Closed
--DarkGate Zu-Auf
   elseif Type == "XD_DarkWallStraightGate_Closed" then
      return Entities.XD_DarkWallStraightGate
--PalisadeGate Auf-Zu
   elseif Type == "XD_PalisadeGate2" then
      return Entities.XD_PalisadeGate1
--PalisadeGate Zu-Auf
   elseif Type == "XD_PalisadeGate1" then
      return Entities.XD_PalisadeGate2
--Zugbrücke1 Auf-Zu
   elseif Type == "XD_DrawBridgeClosed1" then
      return Entities.PB_DrawBridgeOpen1
--Zugbrücke2 Auf-Zu
   elseif Type == "XD_DrawBridgeClosed2" then
      return Entities.PB_DrawBridgeOpen2
--Zugbrücke1 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen1" then
      return Entities.PB_DrawBridgeClosed1
--Zugbrücke2 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen2" then
      return Entities.PB_DrawBridgeClosed2
   end
end
Wenn ich nun mehrere dieser Funktion starte passt alles, außer das ich nur an ein Tor laufen kann und wenn ich dann das richtige Passwort eingebe, öffnet sich nur bei dem richtigen Passwort für dieses eine Tor das Tor! Hab schon so viel versucht aber es funktioniert einfach nicht. Hoffentlich hat einer ne Idee!
VG TOSHMAX
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
TOSHMAX ist offline   Mit Zitat antworten
Alt 09.08.2007, 17:49   #2 (permalink)
Hauptmann
 
Registriert seit: 27.03.2005
Ort: Reference Manual
Beiträge: 1.856
AW: Eigene Funktion und Fehler!

Ich würde nach dem ShowWidget(...1) und der Funktionsänderung noch nen break setzen, damit der Chatinput nicht wieder bei einem weiteren Schleifendurchlauf entfernt wird.
Ausserdem wärs nicht schlecht die geöffneten Tore ausm Table zu entfernen, da du schon darauf prüfst.
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
Chromix ist offline   Mit Zitat antworten
Alt 09.08.2007, 19:23   #3 (permalink)
12 of 5
 
Registriert seit: 22.06.2007
Beiträge: 52
AW: Eigene Funktion und Fehler!

Hier ist der funktionierende Code:
Code:
function PasswortTor(_tor,_name,_entity,_nummer,_passwort,_text)
   if not _name then _name = nil end
   if not _entity then _entity = 0 end
   if not _nummer then _nummer = 1 end
   if not _passwort then _passwort = "KeinPasswort" end
   if not _text then _text = "Eure Männer haben das Tor geöffnet!" end
   gvTor = gvTor or {TorJob = StartSimpleJob("CheckTor")};
   local TorTab = {
      Name = _tor,
      EntName = _name,
      Entity = _entity,
      Nummer = _nummer,
      Passwort = Umlaute(_passwort),
      Text = _text,
   };
   table.insert(gvTor,TorTab);
end

function CheckTor()
   for Gate = 1, table.getn(gvTor) do
      if AreEntitiesInArea(1,gvTor[Gate].Entity,GetPosition(gvTor[Gate].Name),1000,gvTor[Gate].Nummer) or
         IsNear(gvTor[Gate].EntName,gvTor[Gate].Name,1000) then
         XGUIEng.ShowWidget(XGUIEng.GetWidgetID("ChatInput"),1)
         GameCallback_GUI_ChatStringInputDone = function (_ChatString)
            if _ChatString == gvTor[Gate].Passwort then
               ReplaceEntity(gvTor[Gate].Name,GetGateType(gvTor[Gate].Name))
               Message(gvTor[Gate].Text)
               table.remove(gvTor,Gate)
            else
               Message("Passwort ist falsch!")
            end
         end
         break;
      else
         XGUIEng.ShowWidget(XGUIEng.GetWidgetID("ChatInput"),0)
      end
   end
   if table.getn(gvTor) == 0 then
      gvTor = nil
      return true
   end
end

function GetGateType(_gate)
  local Type = Logic.GetEntityTypeName(Logic.GetEntityType(GetEntityId(_gate)))
--Gate Auf-Zu
   if Type == "XD_WallStraightGate" then
      return Entities.XD_WallStraightGate_Closed
--Gate Zu-Auf
   elseif Type == "XD_WallStraightGate_Closed" then
      return Entities.XD_WallStraightGate
--DarkGate Auf-Zu
   elseif Type == "XD_DarkWallStraightGate" then
      return Entities.XD_DarkWallStraightGate_Closed
--DarkGate Zu-Auf
   elseif Type == "XD_DarkWallStraightGate_Closed" then
      return Entities.XD_DarkWallStraightGate
--PalisadeGate Auf-Zu
   elseif Type == "XD_PalisadeGate2" then
      return Entities.XD_PalisadeGate1
--PalisadeGate Zu-Auf
   elseif Type == "XD_PalisadeGate1" then
      return Entities.XD_PalisadeGate2
--Zugbrücke1 Auf-Zu
   elseif Type == "XD_DrawBridgeClosed1" then
      return Entities.PB_DrawBridgeOpen1
--Zugbrücke2 Auf-Zu
   elseif Type == "XD_DrawBridgeClosed2" then
      return Entities.PB_DrawBridgeOpen2
--Zugbrücke1 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen1" then
      return Entities.PB_DrawBridgeClosed1
--Zugbrücke2 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen2" then
      return Entities.PB_DrawBridgeClosed2
   else
      return Entities.XD_WallStraightGate
   end
end
Für die die es interessiert ist hier ein Erklärung:
PasswortTor(_tor,_name,_entity,_nummer,_passwort,_ text)
_tor ist hier der Name des Tores, der Zugbrücke oder der Palisade die, sich wenn das Passwort _passwort richtig eingegeben ist, sich in ihr Gegenstück verwandelt! Wenn _name angegeben ist und _name sich in der Nähe des Tores befindet oder die angegebene _entity sich in der Nähe befindet öffnet sich die Passwort-Eingabe(Chat)! Wenn _entity 0 ist sind alle Entities gemeint! _nummer meint wieviele Entities der Art _entity sich in der Nähe befinden müssen. Wenn das Passwort richtig ist wird _text ausgegeben.

Beispiel: PasswortTor("Gate","Dario",0,10,"Mount Everest ist ein Berg!","@color:0,0,0 Dario hat das Tor geöffnet!")
Wenn "Mount Everest ist ein Berg" eingegeben wird, während "Dario" oder irgendwelche "10" Entities sich in der Nähe von "Gate" befinden, wird "Gate" geschlossen/geöffnet und der Text "Dario hat das Tor geöffnet!" ausgegeben.
PS: Was bedeutet es eigentlich wenn "break" benutzt wird und warum kann man es nur an bestimmte Stellen in Skript setzten?
VG TOSHMAX
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo

Geändert von TOSHMAX (10.08.2007 um 08:58 Uhr)
TOSHMAX ist offline   Mit Zitat antworten
Alt 09.08.2007, 23:00   #4 (permalink)
Hauptmann
 
Registriert seit: 27.03.2005
Ort: Reference Manual
Beiträge: 1.856
AW: Eigene Funktion und Fehler!

Break beendet die aktuelle Schleife. In diesem Fall die for gate = ...

Die Umlaute lassen sich hinbekommen, nutz einfach das Umlaute Script aus dem Wiki und setz das in deine PasswortTor Funktion:
Passwort = Umlaute( _passwort ),

Dann ist mir noch aufgefallen, dass die Funktion eigentlich nicht Savegame sicher ist (GameCallback_GUI_ChatStringInputDone benutzt eine externe lokale Variable). Allerdings macht das in deinem Fall nichts, da du die Funktion jede Sekunde neu setzt.
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
Chromix ist offline   Mit Zitat antworten
Alt 10.08.2007, 09:04   #5 (permalink)
12 of 5
 
Registriert seit: 22.06.2007
Beiträge: 52
AW: Eigene Funktion und Fehler!

Vielen dank, ich hatte es zuerst auch mit Umlauten versucht, aber ich dachte da muss man dann im Passwort auch so etwas wie \195\182 eingeben. Es klappt jetzt alles super und die Funktion in meinem oberen Beitrag ist angepasst und funktioniert super. Zusätzlich muss noch der Umlaute Code aus dem Wiki ins Skript eingefügt werden.
http://www.chromix.de/dedk/dokuwiki/...orials:umlaute
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
TOSHMAX ist offline   Mit Zitat antworten
Alt 11.08.2007, 21:09   #6 (permalink)
Ein Siedler
Gast
 
Beiträge: n/a
AW: Eigene Funktion und Fehler!

@Hallo TOSHMAX

Wenn Function auf eine Brücke angewande wird, kann sie nicht funktionieren, weil der Mittelpunkt nicht erreicht werden kann.
Hier sollte noch eine Distance als Parameter angegeben werden können.
Code:
PasswortTor("Gate","Dario",0,10,"Mount Everest ist ein Berg!","@color:0,0,0 Dario hat das Tor geöffnet!")
PB_DrawBridgeClosed1 = breit=1200,tief=2100,hoch=1300
PB_DrawBridgeClosed2 = breit=2100,tief=1300,hoch=1300

Gruß
**********
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo

Geändert von Ein Siedler (11.08.2007 um 21:14 Uhr)
  Mit Zitat antworten
Alt 12.08.2007, 10:10   #7 (permalink)
12 of 5
 
Registriert seit: 22.06.2007
Beiträge: 52
AW: Eigene Funktion und Fehler!

Hier ist der Code: Ich habe ihn gerade nochmal getestet mit zwei verschiedenen Toren klappt super, allerdings würde ich euch nicht raten den Code mit DrawBridge zu machen. Ich kann diese Dinger nicht in meine Map tun. Immer wenn ich sie per Skript öffne/schließe ist sie weg und ich kann nichts mehr damit machen, genauso bei dieser Funktion, aber vielleicht kennt einer von euch das und hat es trotzdem geschafft. Aber hier ist der voll getestete Code mit Distance und er funktioniert super!
Code:
function PasswortTor(_tor,_name,_entity,_nummer,_distance,_passwort,_text)
   if not _name then _name = nil end
   if not _entity then _entity = 0 end
   if not _nummer then _nummer = 1 end
   if not _distance then _distance = 800 end
   if not _passwort then _passwort = "KeinPasswort" end
   if not _text then _text = "Eure Männer haben das Tor geöffnet!" end
   gvTor = gvTor or {TorJob = StartSimpleJob("CheckTor")};
   local TorTab = {
      Name = _tor,
      EntName = _name,
      Entity = _entity,
      Nummer = _nummer,
      Distance = _distance,
      Passwort = Umlaute(_passwort),
      Text = _text,
   };
   table.insert(gvTor,TorTab);
end

function CheckTor()
   for Gate = 1, table.getn(gvTor) do
      if AreEntitiesInArea(1,gvTor[Gate].Entity,GetPosition(gvTor[Gate].Name),gvTor[Gate].Distance,gvTor[Gate].Nummer) or
         IsNear(gvTor[Gate].EntName,gvTor[Gate].Name,gvTor[Gate].Distance) then
         XGUIEng.ShowWidget(XGUIEng.GetWidgetID("ChatInput"),1)
         GameCallback_GUI_ChatStringInputDone = function (_ChatString)
            if _ChatString == gvTor[Gate].Passwort then
               ReplaceEntity(gvTor[Gate].Name,GetGateType(gvTor[Gate].Name))
               Message(gvTor[Gate].Text)
               table.remove(gvTor,Gate)
            else
               Message("Passwort ist falsch!")
            end
         end
         break;
      else
         XGUIEng.ShowWidget(XGUIEng.GetWidgetID("ChatInput"),0)
      end
   end
   if table.getn(gvTor) == 0 then
      gvTor = nil
      return true
   end
end

function GetGateType(_gate)
  local Type = Logic.GetEntityTypeName(Logic.GetEntityType(GetEntityId(_gate)))
--Gate Auf-Zu
   if Type == "XD_WallStraightGate" then
      return Entities.XD_WallStraightGate_Closed
--Gate Zu-Auf
   elseif Type == "XD_WallStraightGate_Closed" then
      return Entities.XD_WallStraightGate
--DarkGate Auf-Zu
   elseif Type == "XD_DarkWallStraightGate" then
      return Entities.XD_DarkWallStraightGate_Closed
--DarkGate Zu-Auf
   elseif Type == "XD_DarkWallStraightGate_Closed" then
      return Entities.XD_DarkWallStraightGate
--PalisadeGate Auf-Zu
   elseif Type == "XD_PalisadeGate2" then
      return Entities.XD_PalisadeGate1
--PalisadeGate Zu-Auf
   elseif Type == "XD_PalisadeGate1" then
      return Entities.XD_PalisadeGate2
--Zugbrücke1 Auf-Zu
   elseif Type == "XD_DrawBridgeClosed1" then
      return Entities.PB_DrawBridgeOpen1
--Zugbrücke2 Auf-Zu
   elseif Type == "XD_DrawBridgeClosed2" then
      return Entities.PB_DrawBridgeOpen2
--Zugbrücke1 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen1" then
      return Entities.PB_DrawBridgeClosed1
--Zugbrücke2 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen2" then
      return Entities.PB_DrawBridgeClosed2
   else
      return Entities.XD_WallStraightGate
   end
end
Vielen Dank an alle die geholfen haben die Funktion so hinzukriegen!!!
VG TOSHMAX
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
TOSHMAX ist offline   Mit Zitat antworten
Alt 12.08.2007, 11:50   #8 (permalink)
Ein Siedler
Gast
 
Beiträge: n/a
AW: Eigene Funktion und Fehler!

Es liegt vll. daran, das es keine
XD_DrawBridgeClosed1
XD_DrawBridgeClosed2
gibt


es gibt nur zwei Zustände, für die jeweilige Brücke
Entities.XD_DrawBridgeOpen1 -- Open = Brücke Hoch
Entities.PB_DrawBridgeClosed1 -- Closed = Brücke runter

Entities.XD_DrawBridgeOpen2
Entities.PB_DrawBridgeClosed2

Gruß
**********
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo

Geändert von Ein Siedler (12.08.2007 um 11:53 Uhr)
  Mit Zitat antworten
Alt 12.08.2007, 12:52   #9 (permalink)
12 of 5
 
Registriert seit: 22.06.2007
Beiträge: 52
AW: Eigene Funktion und Fehler!

Aber genauso steht es doch auch in der GetGateType-Funktion von mir drin?
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
TOSHMAX ist offline   Mit Zitat antworten
Alt 12.08.2007, 13:00   #10 (permalink)
Ein Siedler
Gast
 
Beiträge: n/a
AW: Eigene Funktion und Fehler!

Hi TOSHMAX

Diesen Brückenzustand meine ich
Code:
 
function GetGateType(_gate)
  local Type = Logic.GetEntityTypeName(Logic.GetEntityType(GetEntityId(_gate)))
--Gate Auf-Zu
   if Type == "XD_WallStraightGate" then
      return Entities.XD_WallStraightGate_Closed
--Gate Zu-Auf
   elseif Type == "XD_WallStraightGate_Closed" then
      return Entities.XD_WallStraightGate
--DarkGate Auf-Zu
   elseif Type == "XD_DarkWallStraightGate" then
      return Entities.XD_DarkWallStraightGate_Closed
--DarkGate Zu-Auf
   elseif Type == "XD_DarkWallStraightGate_Closed" then
      return Entities.XD_DarkWallStraightGate
--PalisadeGate Auf-Zu
   elseif Type == "XD_PalisadeGate2" then
      return Entities.XD_PalisadeGate1
--PalisadeGate Zu-Auf
   elseif Type == "XD_PalisadeGate1" then
      return Entities.XD_PalisadeGate2
--Zugbrücke1 Auf-Zu
   elseif Type == "XD_DrawBridgeClosed1" then
      return Entities.PB_DrawBridgeOpen1
--Zugbrücke2 Auf-Zu
   elseif Type == "XD_DrawBridgeClosed2" then
      return Entities.PB_DrawBridgeOpen2
--Zugbrücke1 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen1" then
      return Entities.PB_DrawBridgeClosed1
--Zugbrücke2 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen2" then
      return Entities.PB_DrawBridgeClosed2
   else
      return Entities.XD_WallStraightGate
   end
end
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
  Mit Zitat antworten
Alt 12.08.2007, 13:03   #11 (permalink)
12 of 5
 
Registriert seit: 22.06.2007
Beiträge: 52
AW: Eigene Funktion und Fehler!

Meinst du damit das man statt
Code:
   elseif Type == "XD_DrawBridgeClosed1" then
      return Entities.PB_DrawBridgeOpen1
--Zugbrücke2 Auf-Zu
   elseif Type == "XD_DrawBridgeClosed2" then
das schreiben muss
Code:
   elseif Type == "Entities.XD_DrawBridgeClosed1" then
      return Entities.PB_DrawBridgeOpen1
--Zugbrücke2 Auf-Zu
   elseif Type == "Entities.XD_DrawBridgeClosed2" then
???
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
TOSHMAX ist offline   Mit Zitat antworten
Alt 12.08.2007, 13:12   #12 (permalink)
Ein Siedler
Gast
 
Beiträge: n/a
AW: Eigene Funktion und Fehler!

Nein, sonder das es kein Entity-Typ mit dem Namen XD_DrawBridgeClosed1 u. XD_DrawBridgeClosed2 gibt, sondern nur PB_DrawBridgeClosed1 u. PB_DrawBridgeClosed2
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
  Mit Zitat antworten
Alt 12.08.2007, 15:35   #13 (permalink)
12 of 5
 
Registriert seit: 22.06.2007
Beiträge: 52
AW: Eigene Funktion und Fehler!

Jetzt hab ich verstanden auf was du hinaus willst! Ich hab vollkommen übersehen dass hier in diesem Abschnitt
Code:
   elseif Type == "PB_DrawBridgeClosed1" then
      return Entities.XD_DrawBridgeOpen1
--Zugbrücke2 Auf-Zu
   elseif Type == "PB_DrawBridgeClosed2" then
      return Entities.XD_DrawBridgeOpen2
--Zugbrücke1 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen1" then
      return Entities.PB_DrawBridgeClosed1
--Zugbrücke2 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen2" then
      return Entities.PB_DrawBridgeClosed2
immer die PB mit den XD vertauscht habe! Nochmals vielen Dank an alle!
Hier ist der jetzt wirklich richtitge Code:
Code:
function PasswortTor(_tor,_name,_entity,_nummer,_distance,_passwort,_text)
   if not _name then _name = nil end
   if not _entity then _entity = 0 end
   if not _nummer then _nummer = 1 end
   if not _distance then _distance = 800 end
   if not _passwort then _passwort = "KeinPasswort" end
   if not _text then _text = "Eure Männer haben das Tor geöffnet!" end
   gvTor = gvTor or {TorJob = StartSimpleJob("CheckTor")};
   local TorTab = {
      Name = _tor,
      EntName = _name,
      Entity = _entity,
      Nummer = _nummer,
      Distance = _distance,
      Passwort = Umlaute(_passwort),
      Text = _text,
   };
   table.insert(gvTor,TorTab);
end

function CheckTor()
   for Gate = 1, table.getn(gvTor) do
      if AreEntitiesInArea(1,gvTor[Gate].Entity,GetPosition(gvTor[Gate].Name),gvTor[Gate].Distance,gvTor[Gate].Nummer) or
         IsNear(gvTor[Gate].EntName,gvTor[Gate].Name,gvTor[Gate].Distance) then
         XGUIEng.ShowWidget(XGUIEng.GetWidgetID("ChatInput"),1)
         GameCallback_GUI_ChatStringInputDone = function (_ChatString)
            if _ChatString == gvTor[Gate].Passwort then
               ReplaceEntity(gvTor[Gate].Name,GetGateType(gvTor[Gate].Name))
               Message(gvTor[Gate].Text)
               table.remove(gvTor,Gate)
            else
               Message("Passwort ist falsch!")
            end
         end
         break;
      else
         XGUIEng.ShowWidget(XGUIEng.GetWidgetID("ChatInput"),0)
      end
   end
   if table.getn(gvTor) == 0 then
      gvTor = nil
      return true
   end
end

function GetGateType(_gate)
  local Type = Logic.GetEntityTypeName(Logic.GetEntityType(GetEntityId(_gate)))
--Gate Auf-Zu
   if Type == "XD_WallStraightGate" then
      return Entities.XD_WallStraightGate_Closed
--Gate Zu-Auf
   elseif Type == "XD_WallStraightGate_Closed" then
      return Entities.XD_WallStraightGate
--DarkGate Auf-Zu
   elseif Type == "XD_DarkWallStraightGate" then
      return Entities.XD_DarkWallStraightGate_Closed
--DarkGate Zu-Auf
   elseif Type == "XD_DarkWallStraightGate_Closed" then
      return Entities.XD_DarkWallStraightGate
--PalisadeGate Auf-Zu
   elseif Type == "XD_PalisadeGate2" then
      return Entities.XD_PalisadeGate1
--PalisadeGate Zu-Auf
   elseif Type == "XD_PalisadeGate1" then
      return Entities.XD_PalisadeGate2
--Zugbrücke1 Auf-Zu
   elseif Type == "PB_DrawBridgeClosed1" then
      return Entities.XD_DrawBridgeOpen1
--Zugbrücke2 Auf-Zu
   elseif Type == "PB_DrawBridgeClosed2" then
      return Entities.XD_DrawBridgeOpen2
--Zugbrücke1 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen1" then
      return Entities.PB_DrawBridgeClosed1
--Zugbrücke2 Zu-Auf
   elseif Type == "XD_DrawBridgeOpen2" then
      return Entities.PB_DrawBridgeClosed2
   else
      return Entities.XD_WallStraightGate
   end
end
VG TOSHMAX
__________________

Bookmarke dieses Thema bei Mr. Wong Bookmarke dieses Thema bei Webnews Bookmarke dieses Thema bei Icio Bookmarke dieses Thema bei Oneview Bookmarke dieses Thema bei Yigg Bookmarke dieses Thema bei Linkarena Bookmarke dieses Thema bei Del.icoi.us Bookmarke dieses Thema bei Google Bookmarke dieses Thema bei Yahoo
TOSHMAX ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
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 hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
no rush funktion mit tribut funktion verknüpfen Header_SFC Die Siedler 5 Scriptecke für Fortgeschrittene 5 10.03.2007 09:45
Eigene Songs otter Die Siedler 5 Das Erbe der Könige Allgemein 1 24.01.2006 10:01
eigene HP erstellen Floh Die Siedler Technik Ecke 6 22.07.2005 17:40
Erste eigene S4 MAP! kleinerteufel90 Siedler 4 Mapvorstellungen 1 08.06.2005 16:23


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:37 Uhr.


Powered by vBulletin® Version 3.8.1 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
Powered by brainsworld.de und siedler-turnier.de