PBeM-Spiele
Aktuelle Zeit: 19.03.2024 08:45

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 35 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3
Autor Nachricht
 Betreff des Beitrags: Re: allgemeine Fragen zu Vorlage
BeitragVerfasst: 07.08.2016 16:15 
Offline
Mitglied
Mitglied
Benutzeravatar

Registriert: 28.07.2003 10:05
Beiträge: 109
Wohnort: Wildeshausen
Hai!

Ich mache das in meinen Skripten wie folgt (z.B. in einer Funktion, die automatisch einen Text als Regionsbotschaft erzeugt):

Code:
#func BotschaftAnRegion $text
{
   ; Sendet $text als Regionsbotschaft. Zeilenumbrüche werden automatisch
   ; erzeugt und der Text wird korrekt nach Eressearegeln umgebrochen.
   ;
   ; Parameter:
   ;  $text  : ANY
   ;  RETURN : BOOLEAN

   #var $bef
   #var $result

   ; Parameter überprüfen und im Fehlerfall FALSE zurückgeben
   #if ''==$text
   {
      #call Fehler 'Regionsbotschaft: Kein Text angegeben' TRUE
      #return FALSE
   }

   ; Befehl generieren
   $bef='BOTSCHAFT AN REGION '+QUOTE+$text+QUOTE
   $result=BefehlEintragen(UNIT.Nummer,$bef)

   ; Ergebnis zurückgeben
   #return $result
}


Die Konstante QUOTE ist dabei wie folgt zu definieren (ich habe dafür ein eigenes vms-Modul, das alle notwendigen Konstanten enthält):
Zitat:
#const QUOTE '\34'
#const SINGLEQUOTE '\39'
#const DOUBLEBACKSLASH '\\'
#const AT '\64'


Gruß,
Thorsten


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: allgemeine Fragen zu Vorlage
BeitragVerfasst: 12.08.2016 22:16 
Offline
Etabliertes Mitglied
Etabliertes Mitglied

Registriert: 05.05.2005 21:32
Beiträge: 182
Danke für den schnellen Hinweis. Das werde ich direkt bei mir mal versuchen. Und die Idee, die Konstanten auszulagern finde ich auch elegant.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: allgemeine Fragen zu Vorlage
BeitragVerfasst: 13.08.2016 21:47 
Offline
Etabliertes Mitglied
Etabliertes Mitglied

Registriert: 05.05.2005 21:32
Beiträge: 182
Der "Umweg" über die Konstante mit der ASCII Nummer klappt wunderbar. Habe es diese Woche aber auch nochmal mit "|" versucht, allerdings gedreht:
Code:
#forever { BOTSCHAFT REGION '|Willkommen in '+region.Name+', wir grüßen Euch!|' }
Der Unterschied ist also, dass der Pipe diesmal innerhalb der einfachen Hochkommas steht.
Das Ergebnis:
Code:
BOTSCHAFT REGION  Willkommen~in~Sovengarde,~wir~grüßen~Euch!
8)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: allgemeine Fragen zu Vorlage
BeitragVerfasst: 11.04.2017 12:07 
Offline
Neuling
Neuling

Registriert: 19.08.2005 13:39
Beiträge: 6
Hiho,

ich habe in diesem Zusammenhang auch eine Frage, da ich auch die Skripte von Roman Benesch noch verwende, wenn auch mittlerweile in leicht abgewandelter Form. :wink:

Thoran1 hat geschrieben:
Ich mache das in meinen Skripten wie folgt (z.B. in einer Funktion, die automatisch einen Text als Regionsbotschaft erzeugt):

Code:
#func BotschaftAnRegion $text
{
   ; Sendet $text als Regionsbotschaft. Zeilenumbrüche werden automatisch
   ; erzeugt und der Text wird korrekt nach Eressearegeln umgebrochen.
   ;
   ; Parameter:
   ;  $text  : ANY
   ;  RETURN : BOOLEAN

   #var $bef
   #var $result

   ; Parameter überprüfen und im Fehlerfall FALSE zurückgeben
   #if ''==$text
   {
      #call Fehler 'Regionsbotschaft: Kein Text angegeben' TRUE
      #return FALSE
   }

   ; Befehl generieren
   $bef='BOTSCHAFT AN REGION '+QUOTE+$text+QUOTE
   $result=BefehlEintragen(UNIT.Nummer,$bef)

   ; Ergebnis zurückgeben
   #return $result
}


Die Konstante QUOTE ist dabei wie folgt zu definieren (ich habe dafür ein eigenes vms-Modul, das alle notwendigen Konstanten enthält):
Zitat:
#const QUOTE '\34'
#const SINGLEQUOTE '\39'
#const DOUBLEBACKSLASH '\\'
#const AT '\64'



Welche Ausgabeform nutzt Du? Ich verwende Vorlage, um meinen CR zu bearbeiten und einen neuen CR auszuspucken. Doch da funktioniert das leider nicht mit den Anführungszeichen. Jedes Mal werden die bei der CR-Erzeugung von Vorlage durch Leerzeichen ersetzt. Lasse ich Vorlage eine reine Befehlsdatei erstellen, funktioniert das mit den Anführungszeichen. Aber bei der Befehlsdatei habe ich den Nachteil, dass ich da wieder Hand anlegen muss, um die Zugvorlage zum CR hinzuzufügen. Außerdem geht mir die automatische Einheitenbestätigung über den #tag-Befehl verloren.

Weiß da jemand Rat für mich und meine CRs?

Beste Grüße und vielen Dank im Voraus
Martin


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: allgemeine Fragen zu Vorlage
BeitragVerfasst: 16.04.2017 00:24 
Offline
Neuling
Neuling

Registriert: 19.08.2005 13:39
Beiträge: 6
So, aus Zufall habe ich entdeckt, dass der Eressea-Server auch mit Hochkommata als Textbegrenzern klar kommt.

Soll heißen:
Wenn man Vorlage verwendet, um einen CR zu erzeugen, so kann man auch Hochkommata als Ersatz für Anführungszeichen verwenden und somit automatische Benennungen durchführen:

Code:
BENENNE EINHEIT '\''+$Name+'\''


Allerdings dürfte es schwierig werden, in diesem Beispiel $Name noch ein Hochkomma enthalten zu lassen. Aber das lässt sich für automatische Befehle sicher vermeiden. Und somit ist Vorlage weiterhin auch als CR-Exporteur ohne zusätzliches Handanlegen brauchbar.

Beste Grüße
Martin


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 35 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
Webhosting by sunrise design ohg