Benutzer-Werkzeuge

Webseiten-Werkzeuge


playground:playground

PlayGround

Screentool

<codelua> function Init_Screentool() StartSimpleJob(„Screentools_extension“) Camera.RotSetFlipBack(0) Screentool_Kamerawinkel = 46 Screentool_Kameradistanz = 1000 Screentool_Gui = 1 gvCamera.ZoomDistanceMin = Screentool_Kameradistanz gvCamera.ZoomDistanceMax = Screentool_Kameradistanz GroupSelection_SelectTroops_Orig = GroupSelection_SelectTroops

function GroupSelection_SelectTroops(_count)
 if (_count == 9)then
if (Screentool_Kamerawinkel > -3)then
   Screentool_Kamerawinkel = Screentool_Kamerawinkel - 1
   gvCamera.ZoomAngleMin = Screentool_Kamerawinkel
   gvCamera.ZoomAngleMax = Screentool_Kamerawinkel
end
 elseif (_count == 10)then
  if (Screentool_Kamerawinkel < 90)then
   Screentool_Kamerawinkel = Screentool_Kamerawinkel + 1
   gvCamera.ZoomAngleMin = Screentool_Kamerawinkel
   gvCamera.ZoomAngleMax = Screentool_Kamerawinkel
end
 elseif (_count == 7)then
  if (Screentool_Kameradistanz > 30)then
 Screentool_Kameradistanz = Screentool_Kameradistanz - 12
   gvCamera.ZoomDistanceMin = Screentool_Kameradistanz
   gvCamera.ZoomDistanceMax = Screentool_Kameradistanz
  end
 elseif (_count == 8)then
  if (Screentool_Kameradistanz < 2000)then
 Screentool_Kameradistanz = Screentool_Kameradistanz + 12
   gvCamera.ZoomDistanceMin = Screentool_Kameradistanz
   gvCamera.ZoomDistanceMax = Screentool_Kameradistanz
  end
 elseif (_count == 6)then
  Screentool_Gui = 1 - Screentool_Gui
XGUIEng.ShowWidget("Normal",Screentool_Gui)
 elseif (_count == 1)then
  XGUIEng.ShowWidget(XGUIEng.GetWidgetID("ChatInput"),1)
   function GameCallback_GUI_ChatStringInputDone(_Eingabe)
    local posX,posY = GUI.Debug_GetMapPositionUnderMouse()
    DestroyEntity("Mausposition")
    AMausposition = Logic.CreateEntity(Entities.XD_ScriptEntity,posX,posY,0,1)
    SetEntityName(AMausposition,"Mausposition")
    local X = math.floor(GetPosition("Mausposition").X/100)*1
    local Y = math.floor(GetPosition("Mausposition").Y/100)*1
    local offsetX = -5 + X *100
    local offsetY = -5 + Y *100
    local CreateChatEnti={{"".._Eingabe.."",offsetX+0,offsetY+0,0,1,""},}
  local i=1
    Logic.CreateEntity(Entities[CreateChatEnti[i][1]],CreateChatEnti[i][2],CreateChatEnti[i][3],CreateChatEnti[i][4],CreateChatEnti[i][5],CreateChatEnti[i][6])
   end
 elseif (_count == 2)then
  local Selected = {GUI.GetSelectedEntities()}
  if (table.getn(Selected) == 1)then
 if (Logic.GetEntityTypeName(Logic.GetEntityType(GetEntityId(Selected[1]))) == "CU_BlackKnight")then
  GUI.SettlerInflictFear(GetEntityId(Selected[1]))
    Logic.CreateEffect(GGL_Effects.FXKerberosFear,GetPosition(GetEntityId(Selected[1])).X,GetPosition(GetEntityId(Selected[1])).Y,1)
 elseif (Logic.GetEntityTypeName(Logic.GetEntityType(GetEntityId(Selected[1]))) == "PU_Hero4")then
  GUI.SettlerCircularAttack(GetEntityId(Selected[1]))
 elseif (Logic.GetEntityTypeName(Logic.GetEntityType(GetEntityId(Selected[1]))) == "PU_Hero3")then
  Logic.CreateEffect(GGL_Effects.FXSalimHeal,GetPosition(GetEntityId(Selected[1])).X,GetPosition(GetEntityId(Selected[1])).Y,1)
    GUI.SettlerAffectUnitsInArea(GetEntityId(Selected[1]))
 end
end
 else
  GroupSelection_SelectTroops_Orig(_count)
 end
end

end function Screentools_extension() Display.SetRenderFogOfWar(0) Display.SetRenderSky(1) end </code>

Anleitungen für Fortgeschrittene

Anleitungen für Fortgeschrittene

Die Themen auf dieser Seite bauen nicht aufeinander auf, man muss sie nicht in der Reihenfolge lesen wie sie hier stehen. Suche dir einfach ein Thema heraus, welches dich interessiert.

Übersicht

Verhalten von KI Armeen verbessern

KI Armeen Verhalten sich normalerweise sehr monoton und berechenbar. In diesem Tutorial soll dieses Verhalten verbessert werden. Es gibt zuerst einen kleinen Rückblick auf die Standard-Comfort-Funktionen zum Kontrollieren von Armeen. Danach wird anhand eines Beispieles eine Methode zur systematischen Erstellung einer eigenen KI-Kontroll-Funktion vorgestellt.

Zum Tutorial

Questfunktionen

Für viele Aufgaben im Spiel benötigt man Jobs oder andere Auslöser, die immer wieder verwendet werden können. Für die häufigsten dieser Aufgaben bietet das Spiel bereits einige Comfort-Funktionen an. Dieses Tutorial erklärt an Beispielen, wie man sich für alle anderen Fälle solche Funktionen selbst erstellen kann.

Zum Tutorial

GFX-Sets

In dieser Anleitung soll versucht werden, ein eigenes GFX-Set zu erstellen. GFX-Sets sorgen für die Lichtverhältnisse, den Nebel und haben Einfluss auf das Wetter. Noch düsterer als Evelance? Später Abend oder Mitternacht? Gefährlich roter Nebel über dem Boden? - Der Fantasie sind keine Grenzen gesetzt.

Zum Tutorial

Cutscenes

Wie erstellt man eine Cutscene und wofür sollte man sie einsetzen? Darum geht es in diesem Tutorial.

Zum Tutorial

playground/playground.txt · Zuletzt geändert: 2021/09/18 19:15 (Externe Bearbeitung)