Idee: Spieler sichern/ausbauen
Moderator: Moderatoren2
- motsch
- Stabsfeldwebel
- Beiträge: 1512
- Registriert: Mi 17. Jun 2009, 18:10
- Einheitenset: Cromoner
- Wohnort: Baiersdorf
Idee: Spieler sichern/ausbauen
Wie in Berlin besprochen, habe ich ein Skript begonnen, dass alle Einheiten eines Spielers in Raumschiffe verpackt. Damit soll es ermöglicht werden, eine Spielersicherung schnell durchzuführen oder einem Spieler auf Wunsch und gegen Gebühr einen schnelleren Abflug zu ermöglichen.
Zu meinem Bedauern musste ich schnell feststellen, dass mit LUA kein Zugriff auf den Editorbefehl CUT möglich ist. Somit habe ich diese Entwicklung vorerst eingestellt.
Zu meinem Bedauern musste ich schnell feststellen, dass mit LUA kein Zugriff auf den Editorbefehl CUT möglich ist. Somit habe ich diese Entwicklung vorerst eingestellt.
Gruß
motsch
motsch
- itaker
- Oberstabsfeldwebel
- Beiträge: 2505
- Registriert: Sa 13. Jun 2009, 23:02
- Einheitenset: Rehaner
- Wohnort: Karlsruhe
Re: Idee: Spieler sichern/ausbauen
Vielleicht kann der Heiliger San Martin Abhilfe schaffen??
-
- Generalmajor
- Beiträge: 2347
- Registriert: Mo 15. Jun 2009, 18:32
- Einheitenset: MK 4
- Wohnort: 74629
Re: Idee: Spieler sichern/ausbauen
Ich mache das alles sehr einfach und schnell. Ihr kennt mich ja - Gutsherrenart.
Viele Spieler die ich bisher ausgebaut habe, kamen ja gar nicht zurück.
Ich speichere einfach die Map ab.
z.B. SicherungSYPlanetAlaskaVolkZyklus120.map
dann stelle ich geschwind die Städte auf neutral und lösche den Spieler - fertig.
Das geht alles ruckzuck. Wenn mal tatsächlich später irgendwann ein Spieler wieder mit genau diesem Volk wieder einsteigen will, muss ich mir halt dann die Arbeit machen.
Macht bitte nicht immer alles so kompliziert und so perfekt.
Wir sollten uns mal lieber über Neuspielerwerbung Gedanken machen, habe gerade Turbomässig die Werbung bei Google hochgefahren.
Ich hoffe es kostet mich kein Vermögen ?
Viele Spieler die ich bisher ausgebaut habe, kamen ja gar nicht zurück.
Ich speichere einfach die Map ab.
z.B. SicherungSYPlanetAlaskaVolkZyklus120.map
dann stelle ich geschwind die Städte auf neutral und lösche den Spieler - fertig.
Das geht alles ruckzuck. Wenn mal tatsächlich später irgendwann ein Spieler wieder mit genau diesem Volk wieder einsteigen will, muss ich mir halt dann die Arbeit machen.
Macht bitte nicht immer alles so kompliziert und so perfekt.
Wir sollten uns mal lieber über Neuspielerwerbung Gedanken machen, habe gerade Turbomässig die Werbung bei Google hochgefahren.
Ich hoffe es kostet mich kein Vermögen ?
-
- Oberstabsfeldwebel
- Beiträge: 2898
- Registriert: Sa 31. Jan 2009, 13:04
- Einheitenset: Cromoner MK4
- Wohnort: Leipzig
Re: Idee: Spieler sichern/ausbauen
Prinzipiell müsste es auch ohne die CUT Funktion gehen. Beim erstellen eines passenden Minimalbeispieles habe ich den Karteneditor aber leider zum Absturz gebracht. Der Fehler an sich ist dem Programmiere gemeldet.
Grüße
R.
Grüße
R.
Die DIN 16554 regelt, dass eine Kugelschreibermine einen 200 m langen Strich ziehen können muss.
----------
Beiträge in meiner Funktion als Admin haben diese Farbe!
----------
Beiträge in meiner Funktion als Admin haben diese Farbe!
- motsch
- Stabsfeldwebel
- Beiträge: 1512
- Registriert: Mi 17. Jun 2009, 18:10
- Einheitenset: Cromoner
- Wohnort: Baiersdorf
Re: Idee: Spieler sichern/ausbauen
Einheiten innerhalb eines Transporters/Gebäudes lassen sich herausnehmen und in einen anderen Transporter hineinpacken. Einheiten, die allein auf einem Feld stehen, kann ich aber nur löschen. Sie lassen sich im Editor nicht aufnehmen und irgendwo anders hineinpacken.
Aber wenn Du eine Idee hast, dann nehme ich die gerne auf.
Aber wenn Du eine Idee hast, dann nehme ich die gerne auf.
Gruß
motsch
motsch
-
- Oberstabsfeldwebel
- Beiträge: 2898
- Registriert: Sa 31. Jan 2009, 13:04
- Einheitenset: Cromoner MK4
- Wohnort: Leipzig
Re: Idee: Spieler sichern/ausbauen
Fahzeug von einem beliebigen Feld aufnehmen:
aufgenommene Einheit in Transporter packen
Fahrzeug auf einem beliebigen Feld löschen
Mit dem folgenden Script kann ich den Mapeditor übrigens zum Absturz bringen (Voraussetzung: Auf Feld (1;11) steht ein SPS) ...
Grüße
R.
Code: Alles auswählen
map = asc.getActiveMap()
unit = map:getField(x,y):getVehicle()
Code: Alles auswählen
map = asc.getActiveMap()
unit = map:getField(x,y):getVehicle()
unit:addToCargo(map:getField(a,b):getVehicle())
Code: Alles auswählen
map = asc.getActiveMap()
map:getField(x,y):removeUnit()
Code: Alles auswählen
-- hole Kartenobjekt
map = asc.getActiveMap()
-- hole Objekt des Feldes auf dem das SPS steht
fld = map:getField(1,11)
-- hole Objekt vom SPS
sps = fld:getVehicle()
-- iteriere über alle Felder und packe Einheiten in das SPS
for y = 0, map:height()-1 do
for x = 0, map:width()-1 do
-- alle Fahrzeuge einpacken, die nicht auf dem Feld des SPS stehen
if x ~= 1 and y ~=11 then
fld = map:getField(x,y)
-- wenn ein Fahrzeug auf dem aktuellem Feld steht
if fld:getVehicle() then
unit = fld:getVehicle()
sps:addToCargo(unit)
end
end
end
end
R.
Die DIN 16554 regelt, dass eine Kugelschreibermine einen 200 m langen Strich ziehen können muss.
----------
Beiträge in meiner Funktion als Admin haben diese Farbe!
----------
Beiträge in meiner Funktion als Admin haben diese Farbe!
- motsch
- Stabsfeldwebel
- Beiträge: 1512
- Registriert: Mi 17. Jun 2009, 18:10
- Einheitenset: Cromoner
- Wohnort: Baiersdorf
Re: Idee: Spieler sichern/ausbauen
Editor zum Absturz bringen habe ich auch schon geschafft
Das folgende Skript sammelt nur Einheiten des Spielers 0 (rot) ein. Es sucht die map ab und verwendet eine gefundene Einheit als Transporter. Anschließend wird im Umkreis von 5 Feldern um den Transporter nach weiteren Einheiten gesucht, die dann in den Transporter gepackt werden sollen ( Zeile 56). Das funktioniert allerdings nicht. In der common.i wird bei dem Befehl removeUnitFromCargo ausdrücklich darauf hingewiesen, dass die Einheit weiter auf der map existiert. Der Befehl removeUnit (Zeile 59) löscht die Einheit von der map. Das ist nötig, weil der Editor sonst abstürzt.
Das folgende Skript sammelt nur Einheiten des Spielers 0 (rot) ein. Es sucht die map ab und verwendet eine gefundene Einheit als Transporter. Anschließend wird im Umkreis von 5 Feldern um den Transporter nach weiteren Einheiten gesucht, die dann in den Transporter gepackt werden sollen ( Zeile 56). Das funktioniert allerdings nicht. In der common.i wird bei dem Befehl removeUnitFromCargo ausdrücklich darauf hingewiesen, dass die Einheit weiter auf der map existiert. Der Befehl removeUnit (Zeile 59) löscht die Einheit von der map. Das ist nötig, weil der Editor sonst abstürzt.
Code: Alles auswählen
counter = 0
-- get the active map
map = asc.getActiveMap()
-- iterate over all fields of the map
for y = 0,map:height()-1 do
for x = 0,map:width()-1 do
fld = map:getField(x,y)
-- check if there is a unit on the field
if fld:getVehicle() then
-- check if the units belongs to red player (who is number 0)
if fld:getVehicle():getOwner() == 0 then
-- increase our counter
counter = counter + 1
-- die gefundene einheit soll als transporter dienen
transporter = fld:getVehicle()
-- Textausgabe zur Kontrolle
asc.infoMessage( ' Transporter gefunden ' )
-- Transporter ist Zentrum
centerpos = asc.MapCoordinate(x,y)
-- get all fields with a distance 1 to 5
for distance = 1, 5 do
-- Array für das Umfeld des Transporters
fields = asc.getFieldsInDistance( map, centerpos, distance )
-- note that this is a 1 based array, as is normal in Lua
for i = 1, fields:size() do
local pos = fields:getItem(i)
local feld = map:getField(pos)
-- check if there is a unit on the field
if feld:getVehicle() then
-- check if the units belongs to red player (who is number 0)
if feld:getVehicle():getOwner() == 0 then
-- Einheit im Umfeld des Transporters gefunden
local unit = feld:getVehicle()
-- Textausgabe zur Kontrolle
asc.infoMessage( ' Einheit gefunden ' )
-- Einheit im Umfeld in Transporter packen
transporter:addToCargo(unit)
-- Einheit im Umfeld löschen
feld:removeUnit()
-- Textausgabe zur Kontrolle
asc.infoMessage( ' Einheit geloescht ' )
end
end
end
end
end
end
end
end
asc.infoMessage( counter .. ' units on map' )
Gruß
motsch
motsch
-
- Oberstabsfeldwebel
- Beiträge: 2898
- Registriert: Sa 31. Jan 2009, 13:04
- Einheitenset: Cromoner MK4
- Wohnort: Leipzig
Re: Idee: Spieler sichern/ausbauen
Mit removeUnit fliegt die Einheit aber auch aus dem Cargo. Was hier meiner Meinung nach fehlt ist eine Clone Methode.
Grüße
R.
Grüße
R.
Die DIN 16554 regelt, dass eine Kugelschreibermine einen 200 m langen Strich ziehen können muss.
----------
Beiträge in meiner Funktion als Admin haben diese Farbe!
----------
Beiträge in meiner Funktion als Admin haben diese Farbe!
- motsch
- Stabsfeldwebel
- Beiträge: 1512
- Registriert: Mi 17. Jun 2009, 18:10
- Einheitenset: Cromoner
- Wohnort: Baiersdorf
Re: Idee: Spieler sichern/ausbauen
Genau das macht der CUT Befehl des Editors. Es ist wundervoll, mit Dir einer Meinung zu sein
Gruß
motsch
motsch
-
- Oberstabsfeldwebel
- Beiträge: 2898
- Registriert: Sa 31. Jan 2009, 13:04
- Einheitenset: Cromoner MK4
- Wohnort: Leipzig
Re: Idee: Spieler sichern/ausbauen
Ne, nicht so ganz. Hier fehlt nicht der CUT Befehl, sondern ein korrektes Handling beim Einfügen eines Fahrzeuges auf der Karte (bzw. im Cargo). Sinnvoll wäre hier eine Überprüfung, ob das entsprechende Objekt bereits auf der Karte vorhanden ist um dieses ggf. zu duplizieren. Es geht also nicht um CUT, sondern um PASTE
Nachtrag: Aber im Endeffekt ist das egal, da die Wirkung die selbe ist.
Grüße
R.
Nachtrag: Aber im Endeffekt ist das egal, da die Wirkung die selbe ist.
Grüße
R.
Die DIN 16554 regelt, dass eine Kugelschreibermine einen 200 m langen Strich ziehen können muss.
----------
Beiträge in meiner Funktion als Admin haben diese Farbe!
----------
Beiträge in meiner Funktion als Admin haben diese Farbe!