Idee: Spieler entfernen/hinzufügen

Entwicklung und Vorstellung von LUA Skripten für ASC oder den Mapeditor

Moderator: Moderatoren2

Benutzeravatar
GAMER
General
General
Beiträge: 8852
Registriert: Sa 7. Mär 2009, 14:49
Einheitenset: Teccnols - SY

Idee: Spieler entfernen/hinzufügen

Beitrag von GAMER »

Für alle LUA Kenner (ich gehöre leider nicht dazu)

Für die SVs wäre es sehr hilfreich ein Script zu haben, welchen einen Spieler komplett von einen PBP Planeten entfernt und dabei mit bestimmten Auswahlkriterien einige zusätzlichen Aufgaben ausführt. Es werden immer wieder einige DInge durcheinandergebracht und die könnten mit so einem Script vereinheitlicht und auch viel schneller ausgeführt werden.

z.B.
Löschen eines Spielers
-Städte/nicht baubare Gebäude auf Neutral stellen, rest löschen oder auch auf neutral stellen
-Spieler namen entfernen
-email entfernen
-Allianz auf War stellen
-replay löschen
-Nachrichten löschen
-Einheiten löschen
-Technologie/Adapter löschen
-View löschen

Anlegen eines neuen Spielers
-je nach Typ (Kolonie/HB/Support) bestimmte Aufgaben ausführen
1. HB/Kolonie anlegen
2. Name/email/PW/Allianz(bei Support)
3. Raumschiff einbauen
4.Technologie
5. Adapter (Rohstoffe/Infrastruktiur)
6. PU als Bauoption einfügen, wenn vorhanden

Einbau eines Raumschiffs
1. File auswählen
2. auf orbital setzen (wenn kein gebäude)
3. Besitzer anpassen
[enjoy the future!]
Hanni
Oberstabsfeldwebel
Oberstabsfeldwebel
Beiträge: 2898
Registriert: Sa 31. Jan 2009, 13:04
Einheitenset: Cromoner MK4
Wohnort: Leipzig

Re: Idee: Spieler entfernen/hinzufügen

Beitrag von Hanni »

Das dürfte aktuell mit LUA nicht möglich sein. Soviel ich weiss geht z.B. das folgende mit LUA nicht
GAMER hat geschrieben: Löschen eines Spielers
-Spieler namen entfernen
-email entfernen
-Allianz auf War stellen
-replay löschen
-Nachrichten löschen
-Technologie/Adapter löschen
-View löschen

Anlegen eines neuen Spielers
2. Name/email/PW/Allianz(bei Support)
3. Raumschiff einbauen
5. Adapter (Rohstoffe/Infrastruktiur)
6. PU als Bauoption einfügen, wenn vorhanden

Einbau eines Raumschiffs
1. File auswählen
Eine zusätzliche Schwierigkeit dürfte das "Erkennen nicht zu löschender Gebäude" sein.

Es wird also in absehbarer Zeit keine Alternative zu einer ordentlichen SV Einweisung und SV Arbeit vorhanden sein. Gegebenenfalls könnten die angesprochenen Punkte ja als Schwerpunkte in der SV Hilfe auftauchen. Dieses sollte dann aber jemand tun, der
a) weniger Betriebsblind wie ein eingesessener SV ist und
b) natürlich einer ist ...

Grüße,
Hanni
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!
Benutzeravatar
itaker
Oberstabsfeldwebel
Oberstabsfeldwebel
Beiträge: 2505
Registriert: Sa 13. Jun 2009, 23:02
Einheitenset: Rehaner
Wohnort: Karlsruhe

Re: Idee: Spieler entfernen/hinzufügen

Beitrag von itaker »

Hanni hat geschrieben:Das dürfte aktuell mit LUA nicht möglich sein. Soviel ich weiss geht z.B. das folgende mit LUA nicht

Es wird also in absehbarer Zeit keine Alternative zu einer ordentlichen SV Einweisung und SV Arbeit vorhanden sein. Gegebenenfalls könnten die angesprochenen Punkte ja als Schwerpunkte in der SV Hilfe auftauchen. Dieses sollte dann aber jemand tun, der
a) weniger Betriebsblind wie ein eingesessener SV ist und
b) natürlich einer ist ...
Grüße,
Hanni

gute idee!! denn das vorhandene SV hilfe setzt meines Erachtens zu viel voraus
Benutzeravatar
Shadow
Oberfeldwebel
Oberfeldwebel
Beiträge: 824
Registriert: Sa 13. Jun 2009, 20:51
Einheitenset: Terraner MK3
Wohnort: Hamburg
Kontaktdaten:

Re: Idee: Spieler entfernen/hinzufügen

Beitrag von Shadow »

Na in der Theorie solltest du das mittlerweile ja beherrschen Itaker. Wie wäre es, wenn du die SV hilfe mal überarbeitest. Ich kann dir da sonst gerne schriftlich auch behilflich sein. Es ist nur so, das die SV-Hilfe so entstanden ist, als das die jetztigen SV ihre "Notizzettel" irgendwie mal aufgeschrieben haben
Ein Ring sie zu knechten, sie alle zu finden,
ins Dunkel zu treiben und ewig zu binden.

Komm auf die dunkle Seite - wir haben Kekse!
Benutzeravatar
GAMER
General
General
Beiträge: 8852
Registriert: Sa 7. Mär 2009, 14:49
Einheitenset: Teccnols - SY

Re: Idee: Spieler entfernen/hinzufügen

Beitrag von GAMER »

Trotzdem wäre sowas als Script sehr nützlich. (Zaunpfahlwink an Martin)
Es geht gar nicht mal so sehr darum, das alles richtig zu machen (selbst mit dem Landezonenscript sehe ich immer wieder "falsche Landezonen"). Um eine Beschreibung werden wir nicht herumkommen.
Es geht viel mehr darum, das ganze zu vereinfachen und zu beschleunigen. Es sind Arbeitsabläufe, die immer gleich sind und sie sind ja schon vorhanden. Sie müssen nur in der richtigen Reihenfolgen aneinandergehängt werden. Ohne sich erst durch die verschiedenen Menüs zu klicken.

Ich habe im Moment jede Menge anderer Sachen im Kopf, ansonsten würde ich mich selbst an das Thema setzen. DAS HIER ist auch nur als Ideengebung gedacht, falls einer nicht weiss, was er machen soll, mit seiner im überfluss vorhanden Freizeit .... *gg*
[enjoy the future!]
Benutzeravatar
itaker
Oberstabsfeldwebel
Oberstabsfeldwebel
Beiträge: 2505
Registriert: Sa 13. Jun 2009, 23:02
Einheitenset: Rehaner
Wohnort: Karlsruhe

Re: Idee: Spieler entfernen/hinzufügen

Beitrag von itaker »

Shadow hat geschrieben:Na in der Theorie solltest du das mittlerweile ja beherrschen Itaker. Wie wäre es, wenn du die SV hilfe mal überarbeitest. Ich kann dir da sonst gerne schriftlich auch behilflich sein. Es ist nur so, das die SV-Hilfe so entstanden ist, als das die jetztigen SV ihre "Notizzettel" irgendwie mal aufgeschrieben haben

ich denke hierfür ist meine Rechtschreibung nicht gut genung.. :?
Hanni
Oberstabsfeldwebel
Oberstabsfeldwebel
Beiträge: 2898
Registriert: Sa 31. Jan 2009, 13:04
Einheitenset: Cromoner MK4
Wohnort: Leipzig

Re: Idee: Spieler entfernen/hinzufügen

Beitrag von Hanni »

Die Rechtschreibung dürfte das geringste Problem sein.

Grüße,
Hanni
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!
Benutzeravatar
Shadow
Oberfeldwebel
Oberfeldwebel
Beiträge: 824
Registriert: Sa 13. Jun 2009, 20:51
Einheitenset: Terraner MK3
Wohnort: Hamburg
Kontaktdaten:

Re: Idee: Spieler entfernen/hinzufügen

Beitrag von Shadow »

Hanni hat geschrieben:Die Rechtschreibung dürfte das geringste Problem sein.

Grüße,
Hanni
Das sehe ich ganz genau so. Wenn du möchtest, kannst du es auch als Word - Datei oder von mir aus einfaches Textdokument erstellen und ich überarbeite es dann. Das ist doch kein Problem!

Gruß
Shadow
Ein Ring sie zu knechten, sie alle zu finden,
ins Dunkel zu treiben und ewig zu binden.

Komm auf die dunkle Seite - wir haben Kekse!
Benutzeravatar
motsch
Stabsfeldwebel
Stabsfeldwebel
Beiträge: 1512
Registriert: Mi 17. Jun 2009, 18:10
Einheitenset: Cromoner
Wohnort: Baiersdorf

Re: Idee: Spieler entfernen/hinzufügen

Beitrag von motsch »

Es ist mit gelungen, ein Skript für den mapeditor zu entwickeln, daß die Städte (Kartenbestandteile) eines wählbaren Spielers (Slot 1 - 7) auf neutral (Slot 8) stellt. Dazu habe ich mich verschiedener Codeschnipsel anderer Autoren bedient. Sie mögen mir verzeihen.
Dabei wird das Feld zuerst gelöscht und damit leider auch alle Objekte auf dem Feld. Das ist z. B. bei Mountain Entrance nicht gewünscht, aber das bekomme ich auch noch hin.
Wichtig wäre, welche Kartenbestandteile denn noch auf den Planetenkarten vorhanden sein können.

Code: Alles auswählen

--
-- Dieses Script setzt alle Gebäude eines wählbaren Spielers die als Kartenbestandteil gelten auf neutral.
--
-- Verwendbar in: mapeditor
--
-- -------------------------------------------------------------------------------------------------------
--
-- globale Variable vorbelegen:
slotnr = 0
neutral = false
counter = 0
--
-- -------------------------------------------------------------------------------------------------------
--
-- Table für Kartenbestandteile erzeugen:
--
kartenbestandteile = {}
kartenbestandteile.Stadt1 = 24
kartenbestandteile.VillaDeng = 58
kartenbestandteile.MountainEntrance = 1009
--
-- -------------------------------------------------------------------------------------------------------
--
-- Funktionen:
--
-- Ermittle Gebäude ID
function GetGebaeudeID ( feldGebaeude )
   
   local gebaeudetyp = feldGebaeude:getType()
   local gebaeudeid   = gebaeudetyp:getID()
   
   return gebaeudeid

 end
--
--
-- Prüfe ob aktuelle GebäudeID Kartenbestandteil ist
function CheckGebaeudeID ( _index )

	if gebaeudeID == kartenbestandteile [ _index ] then
		neutral = true
		return neutral
	end

end
--
--
--
-- Dialog zur Auswahl der Slotnummer ---------------------------------------------------------------------
--
--  Dialog vorbereiten      
dlg = asc.PropertyDialog ( 'Auswahl des Spielers' )     
dlg:addInteger ( 'Geben Sie die Slotnummer ein' , slotnr )
--
-- Dialog starten
result = dlg:run()
--
-- Skript Abbruch mit "Cancel"
if result == false then
	asc.warningMessage ( "        Skript abgebrochen!" )

	return
end
--
-- Ergebnis des Dialogs in Variable slotnr speichern
slotnr = dlg:getInteger ( 'Geben Sie die Slotnummer ein' ) 
--
-- ungueltigen Spieler abfangen
if slotnr < 1 or slotnr > 7 then
	asc.warningMessage ( "Ungueltiger Spieler - (1-7 ist moeglich) - Skript abgebrochen!")

	return
end
--
-- Dialog Ende -------------------------------------------------------------------------------------------
--
-- Karte laden
map = asc.getActiveMap()
--
-- Absuchen der Karte Feld für Feld
for y = 0,map:height()-1 do
	for x = 0,map:width()-1 do

	--Zeiger auf Feld setzen
    feld = map:getField(x,y)

    	-- Prüfe ob ein Gebäudeeingang auf dem Feld ist
    	if feld:getBuildingEntrance() then

       		-- Prüfe ob das Gebäude dem ausgewählten Spieler gehört
       		if feld:getBuildingEntrance():getOwner() == slotnr then
       		
       		-- Zeiger auf Gebäude setzen
       		gebaeude = feld:getBuildingEntrance()
       		
       		-- Ermittle ID des Gebäudes per Funktion
       		gebaeudeID   = GetGebaeudeID( gebaeude )
       		 
       		
			-- Prüfe ob Gebäude Kartenbestandteil ist per Funktion
			table.foreach ( kartenbestandteile , CheckGebaeudeID )
				
				-- Gebäude ist Kartenbestandteil
				if neutral then
				
					-- Fülle Variable building
					building = asc.getBuildingType ( gebaeudeID )	
                
        	        -- Lösche Feld
        	        asc.clearField( map, asc.MapCoordinate(x,y)) 
				
					-- Setze neutrales Gebäude
					asc.placeBuilding( map, asc.MapCoordinate(x,y) , building , 8 )

    		       	-- Erhöhe Zähler 
     		      	counter = counter + 1
       			
      	 			-- Stelle Zeiger "Gebäude ist Kartenbestandteil" zurück
       				neutral = false
       			
       			end
       		end
    	end
	end
end
asc.infoMessage( counter .. ' Gebaeude neutral gestellt' )
Gruß
motsch
Benutzeravatar
GAMER
General
General
Beiträge: 8852
Registriert: Sa 7. Mär 2009, 14:49
Einheitenset: Teccnols - SY

Re: Idee: Spieler entfernen/hinzufügen

Beitrag von GAMER »

also wenn du die Stadt neutral setzen kannst, dann mjuß es auch möglich sein, sie in Spielerfarbe zu setzen, ergo muß es auch möglich sei, die Spielerfarbe zu ändern ohne das Gebäude zu löschen.
[enjoy the future!]
Antworten