01.02.2010 05:29
Andunier hat geschrieben:Aktuell habe ich aber folgendes Problem: Ich möchte den Talentwert wissen, mit dem ich an der Burg $no weiterbauen kann.liefert aber als benötigten Talentwert fälschlicherweise 0 zurück (und resultiert dadurch in einer Division-by-zero). Möglicherweise muss hier auch im e3.cfg-file eine Änderung vorgenommen werden.
- Code:
building[$no].Talent
#config Buildings nested
#message 'Mindestbautalent: '+Buildings[region.building[0].Typ].Talent
01.02.2010 10:35
01.02.2010 16:02
#proc OnInit
{
#config ...
}
VERSION 64
"UTF-8";charset
"de";locale
"Eressea";Spiel
VERSION 65
"UTF-8";charset
"de";locale
"E3";Spiel
22.07.2010 15:44
Solthar hat geschrieben:sondern hauptsächlich die Skriptsammlung von Roman Benesch verwende.
06.04.2011 23:31
#proc learn $skill $maxskill
{
#if unit.$skill.Stufe<$maxskill { #call confirm }
#else { #message 'bis hier sollte ich lernen!' }
LERNEN $skill
}
#if building[unit.Bauwerk].Unterhalt>0 { BEZAHLEN NICHT }
07.04.2011 07:49
07.04.2011 08:29
building[unit.Bauwerk].Unterhalt
building[unit.Bauwerk].Besitzer
07.04.2011 08:37
07.04.2011 11:14
Andunier hat geschrieben:Mit unit.Bauwerk bekomme ich die ingame-Nummer des Gebäudes. Schön wäre jetzt wenn ich building[unit.Bauwerk].Unterhalt abrufen könnte umzu prüfen. Das geht aber irgendwie nicht?
- Code:
#if building[unit.Bauwerk].Unterhalt>0 { BEZAHLEN NICHT }
#proc GebaeudeUnterhaltOnUnit
{
; Ist Einheit Kommandant eines Gebaeude?
#if (UNIT.Bauwerk!=0)&(UNIT.Position==1)
{
; Ja - Gebaeudetyp auslesen
$Typ=BUILDING[UNIT.Bauwerk].Typ
; Wieviel Silber wird benoetigt?
$Silber=antoi(BUILDING[UNIT.Bauwerk].Unterhalt,10)
; Wird ausser Silber sonst noch etwas benoetigt?
$Menge=0
#if $Typ=='Schmiede'
{
$Material='Holz'
$Menge=1
}
; [snip] #else test Bergwerk, Karawanserei...
; Wird ueberhaupt etwas benoetigt?
#if ($Silber>0)|($Menge>0)
{
; [snip]
#if $Silber>0
{
#call Benoetige $Silber 'Silber'
}
#if $Menge>0
{
#call Benoetige $Menge $Material
}
}
}
}
}
07.04.2011 11:21
Andunier hat geschrieben:Nur wie prüfe ich das?
Mit unit.Bauwerk bekomme ich die ingame-Nummer des Gebäudes. Schön wäre jetzt wenn ich building[unit.Bauwerk].Unterhalt abrufen könnte umzu prüfen. Das geht aber irgendwie nicht?
- Code:
#if building[unit.Bauwerk].Unterhalt>0 { BEZAHLEN NICHT }
#func Unterhalt $geb
{
; Gibt die Kosten (nur Silber, keine anderen Ressourcen!) des Gebäudes $geb
; zurück.
;
; Parameter:
; $geb : NATURAL BASE 36
; RETURN : NATURAL
;
; Aufrufbsp.:
; #message 'Das Gebäude kostet '+Unterhalt(UNIT.Bauwerk)+' Silber Unterhalt.'
#call AddLogData 'Unterhalt' TRUE
#var $summe
#if GebaeudeEffekt('Zahn der Zeit',$geb) { $summe=0 }
#else
{
$summe=BUILDING[$geb].Unterhalt
; Workaround, solange Vorlage nicht die korrekten Unterhaltskosten
; zurückgibt:
#if BUILDING[$geb].Typ=='Leuchtturm' { $summe=100 }
#else
{
#if BUILDING[$geb].Typ=='Bergwerk' { $summe=500 }
#else
{
#if BUILDING[$geb].Typ=='Steinbruch' { $summe=250 }
#else
{
#if BUILDING[$geb].Typ=='Sägewerk' { $summe=250 }
#else
{
#if BUILDING[$geb].Typ=='Schmiede' { $summe=300 }
#else
{
#if BUILDING[$geb].Typ=='Pferdezucht' { $summe=150 }
#else
{
#if BUILDING[$geb].Typ=='Hafen' { $summe=250 }
#else
{
#if BUILDING[$geb].Typ=='Akademie' { $summe=1000 }
#else
{
#if BUILDING[$geb].Typ=='Magierturm' { $summe=1000 }
#else
{
#if BUILDING[$geb].Typ=='Karawanserei' { $summe=3000 }
#else
{
#if BUILDING[$geb].Typ=='Damm' { $summe=1000 }
#else
{
#if BUILDING[$geb].Typ=='Tunnel' { $summe=100 }
#else { $summe=0 }
}
}
}
}
}
}
}
}
}
}
}
}
#call AddLogData 'Unterhalt' FALSE
#return $summe
}
07.04.2011 14:07
#config Buildings nested
Buildings[BUILDING[UNIT.Bauwerk].Typ].Unterhalt.Silber
Thoran hat geschrieben:Damit gibt es in der Tat ein Problem. Ich weiß jetzt nicht mehr aus dem Kopf ab/bis zu welcher Version von Magellan das der Fall war.
07.04.2011 14:47
07.04.2011 22:41
#proc learn $skill $maxskill
{
#config Buildings nested
#if unit.$skill.Stufe<$maxskill { #call confirm }
#else { #message 'bis hier sollte ich lernen!' }
LERNEN $skill
#if (unit.Bauwerk!=0) {
;steht die Einheit in einem unterhaltspflichtigen Gebaeude?
#if Buildings[building[unit.Bauwerk].Typ].Unterhalt.Silber>0 { BEZAHLEN NICHT }
}
}
08.04.2011 09:43
Solthar hat geschrieben:Aha, das funktioniert also nicht. Hättet ihr ja gleich sagen können.tut es aber.
- Code:
#config Buildings nested
Buildings[BUILDING[UNIT.Bauwerk].Typ].Unterhalt.SilberThoran hat geschrieben:Damit gibt es in der Tat ein Problem. Ich weiß jetzt nicht mehr aus dem Kopf ab/bis zu welcher Version von Magellan das der Fall war.
Aber Magellan kann da ausnahmsweise mal wirklich nichts dafür, oder?
07.08.2016 14:06