Hallo und herzlich willkommen!
Wenn der Button durch drücken der Taste Tab erreichbar ist kannst du auch folgendes versuchen:
[autoit]send("{TAB}")
send("{ENTER}")
Grüsse!
Hallo und herzlich willkommen!
Wenn der Button durch drücken der Taste Tab erreichbar ist kannst du auch folgendes versuchen:
[autoit]send("{TAB}")
send("{ENTER}")
Grüsse!
Bin ja langsam echt gespannt ![]()
Grüsse!
Alos laut Google ist eine .mtl Datei KEINE Texture sondern eine Materialdatei...
Deswegen bekommste bestimmt keine Texturen angezeigt!
[EDIT]
Wenn ich mich recht entsinne, dann war es so: Wenn das Objekt wie in deinem Falle '_test7.obj' heißt dann mußte ich die Texture in einen Ordner packen der ebenfalls '_test7' hieß. Die durfte auch nicht umbenannt werden, dann hat es bei mir geklappt. - Ich habe Modelle von SketchUp in´s .obj exportiert; kann auch sein das SketchUp eine Verlinkung auf die Texture innerhalb des .obj gesetzt hatte....
So Long!
Versuch mal:
[autoit]_IrrSetNodeMaterialTexture( $BSPNode, $MeshTexture, 0 )
[/autoit]
in
_IrrSetNodeMaterialTexture( $BSPNode, $MeshTexture, 1 )
[/autoit]
zu ändern.
Manchmal brauchte ich die Textur gar nicht angeben! Dann reicht es diese im RICHTIGEN Ordner zu belassen...
[EDIT]
bisste sicher das die .mtl Datei die Texture ist????
Hasste mal nen Source Schnipsel parat??
Mahlzeit!
Ich arbeite Momentan mit der SQLight, und geht auch ganz gut. Nur jetzt ist mir was aufgefallen, und zwar habe ich mehrere Tabellen erstellt, beschrieben, und auch verarbeitet. Doch hat sich jetzt ein Fehler eingeschlichen...
Ein Auszug aus den Tabellen:
Eine heißt: 'Sternenklassen'
eine andere: 'Sterne'
Beim beschreiben von 'Sterne' hat alles wunderbar geklappt, nur wenn ich jetzt die gesammte Tabelle auslesen will mit:
[autoit]$iRval = _SQLite_GetTable2d(-1, "SELECT * FROM 'Sterne';", $aResult, $iRows, $iColumns, -1, True)
[/autoit]Gibt er mir den Inhalt der Tabelle 'Sternenklassen' aus!
Liegt es daran das die Tabelle 'Sternenklassen' VOR der anderen liegt und die abfrage NICHT Case-Sensitiv ist - wiederum verstehe ich nicht warum er trotzdem in die richtige Tabelle schreibt (ist ja gut so, wiederspricht aber meiner Vermutung von Case-Sensitiv) ![]()
Und ich muß echt mal die erklärungen (der SQLight Befehle) der Hilfedatei bemeckern... Entweder bin ich zu Doof oder ich finde die SQL-Befehle einfach nicht... Nunja, habe mir die Hilfedatei von der SQLight runtergeladen wegen den Befehlen...
Also habe ich einfach nur den falschen Befehle zum Auslesen der gesammten Tabelle genommen; oder muß ich tatsächlich auf die Tabellenbezeichnungen mehr acht geben???
Ich hoff mir kann hemand helfen
Grüsse!
[EDIT]
Maaannnn, ich denke ich habe den Fehler selber erstellt:
Local $aResult, $iRows, $iColumns, $iRval
$iRval = _SQLite_GetTable2d(-1, "SELECT * FROM '"&$_section&"';", $aResult, $iRows, $iColumns, -1, True)
If $iRval = $SQLITE_OK Then Return $aResult
Ich hatte einfach die falsche Position im Array abgefragt; Denke ich ![]()
[EDIT2]
Jup, habe den Fehler selber verursacht... Aber die Hinweise (zu den SQL Befehlen) innerhalb der Hilfedatei zu SQLight sind echt dürftig ![]()
Ganz einfach, _Stringbetween gibt ein 0 Array zurück: $a[0]
Grüsse!
[Edit]
for $i = 0 to $a[0] ;<- $a[0] ist das ergebniss
Da war zwar jemand schneller, aber die Funktion von UEZ brauchte bei mir mit den gleichen 100 bmp´s 8,75sek.
Grüsse!
Also ich habe jetzt die Funktion von eukalypus eingebaut, diese braucht auf meinem ollen P4-1600 für 100 bmp´s 7.71 sek mit der freeimage brauchte er sogar 7.89 sek.
Also Danke nochmals an alle!
Grüsse!
Super, danke!
Ich werd heute mal alles Testen
name22:
Genau das habe ich auch gedacht, also wegen der Dateigrösse... Die schreibgeschwindigkeit ist eher 2.Rangig. Ihr kennt doch bestimmt dieses 'Mona-Lisa' ASM Script von Seubo - an sowas dachte ich.
misterspeed:
Fremdprogramme muß ich leider vermeiden, ich hatte ja auch mit Irfanview eine Funktion...
Meinste (fix)?!?!?
Hmmm muß ich wohl testen. Ich habe hier mehrere 1,5MB große bmp´s und muß diese Konvertieren, habe eigenlich vor gehabt das AU3 in der Zeit was anderes machen kann.
Nun ja, werds Abends mal testen!
Grüsse!
[EDIT]
Ich hab da noch was in Erinnerung: die Prospeed.dll beinhaltet auch eine Prospeed_bpm2jpg.dll - die kann ich doch bestimmt iwie ansprechen...
Hallo Community!
Also ich suche einen schnellen weg um Bilddateien vom bmp nach jpg zu konvertieren... Ich spreche jetzt nicht von GDI Funktionen, sondern denke eher so an einer asm Funktion, oder eine fixe DLL / exe. Und es soll auch kein Irfanview oder so sein :wacko:
Hat jemand vielleicht was parat oder ne Idee??
Grüsse!
P.S:
Ich habe ja selber schon gegoogelt, und auch iwelche basic schnippsel gefunden; da war aber iwie nichts wirklich bei...
Hallo!
Also ich will dich ja nicht verschrecken, aba ich sehe weder ein Character noch hällt sich dein Script beim Bewegen an Mauern - läuft also einfach durch, die GUI heißt 'Irrlicht Tutorial'
Für den Titel eines Jump´n Run - Rollenspiel habe ich etwas mehr erwartet...
Grüsse!
Nunja, ich währe nie drauf gekommen das du dieser Shayn bist
Ich hatte es damals auch mitbekommen, aber was solls
Du hattest mir sogar etwas Feedback zu meinem SpaceTrek Dingens gegeben, und der 15k Wettbewerb war auch Cool; also:
Zitat: Vergeben sei dir, kleiner Padawan ![]()
Grüsse!
[Edit]
@Mattthias: Wie bisste denn nu drauf gekommen?!?
Da der Wettbewerb ja abgeschloßen ist, Poste ich noch den 'Un-Obfuscierten' Source zu meiner Einsendung. Da ist auch noch die selbstgemachte Größenoptimierungs-Funktion mit drinne...
Grüsse!
Das Script von Marsi läuft auf meinem Rechner nicht... also ich sehe den Hintergrund, aber kein iwas was ich lenken könnte.
@Mattthias: Ich hab mir leider durch das ganze Optimieren (wegen der kleinen Grösse) 2 Bug´s eingefangen... Aber sonst ist es ein Aufbau-Strategie Spiel der alten Klasse, im Prinzip auf 'Text-Basis' ;D
Erhält eukalyptus 2 extra Punke für den einzigst lesbaren Source?
Grüsse!
Hallo!
Hier ist meine Einsendung: 14.996 Bytes groß!
...mußte viel Optimieren, hätte sonst nicht gepasst. Daher die kleine Verspätung ![]()
Func _4_($aj,$ak,$al,$am=-1)
Local $an=""
If $am=Default or $am=-1 then $an="(?i)"
Local $ao="(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)"
$ak=StringRegExpReplace($ak,$ao,"\\$1")
$al=StringRegExpReplace($al,$ao,"\\$1")
If $ak=""then $ak="\A"
If $al=""then $al="\z"
Local $ap=StringRegExp($aj,"(?s)"&$an&$ak&"(.*?)"&$al,3)
If @error then Return SetError(1,0,0)
Return $ap
EndFunc
Func _5_(ByRef $aq,$ar)
If Not IsArray($aq)then Return SetError(1,0,0)
Local $as=_UB($aq,1)-1
If Not $as then
$aq=""
Return 0
EndIf
If $ar<0 then $ar=0
If $ar>$as then $ar=$as
Switch _UB($aq,0)
Case 1
For $at=$ar to $as-1
$aq[$at]=$aq[$at+1]
Next
ReDim $aq[$as]
Case 2
Local $au=_UB($aq,2)-1
For $at=$ar to $as-1
For $av=0 to $au
$aq[$at][$av]=$aq[$at+1][$av]
Next
Next
ReDim $aq[$as][$au+1]
Case Else
Return SetError(3,0,0)
EndSwitch
Return $as
EndFunc
Func _6_(Const ByRef $aq,$aw,$ax=0,$ay=0,$az=0,$a0_=0,$a10=1,$a11=-1)
If Not IsArray($aq)then Return SetError(1,0,-1)
If _UB($aq,0)>2 or _UB($aq,0)<1 then Return SetError(2,0,-1)
Local $as=_UB($aq)-1
If $ay<1 or $ay>$as then $ay=$as
If $ax<0 then $ax=0
If $ax>$ay then Return SetError(4,0,-1)
Local $a12=1
If Not $a10 then
Local $a13=$ax
$ax=$ay
$ay=$a13
$a12=-1
EndIf
Switch _UB($aq,0)
Case 1
If Not $a0_ then
If Not $az then
For $at=$ax to $ay Step $a12
If $aq[$at]=$aw then Return $at
Next
Else
For $at=$ax to $ay Step $a12
If $aq[$at]==$aw then Return $at
Next
EndIf
Else
For $at=$ax to $ay Step $a12
If StringInStr($aq[$at],$aw,$az)>0 then Return $at
Next
EndIf
Case 2
Local $a14=_UB($aq,2)-1
If $a11>$a14 then $a11=$a14
If $a11<0 then
$a11=0
Else
$a14=$a11
EndIf
For $av=$a11 to $a14
If Not $a0_ then
If Not $az then
For $at=$ax to $ay Step $a12
If $aq[$at][$av]=$aw then Return $at
Next
Else
For $at=$ax to $ay Step $a12
If $aq[$at][$av]==$aw then Return $at
Next
EndIf
Else
For $at=$ax to $ay Step $a12
If StringInStr($aq[$at][$av],$aw,$az)>0 then Return $at
Next
EndIf
Next
Case Else
Return SetError(7,0,-1)
EndSwitch
Return SetError(6,0,-1)
EndFunc
Global Const $a15=-3
Opt("GUIOnEventMode",1)
Opt("GUICloseOnESC",1)
Global $a1m[6][3]=[["Wald","14",0x008800],["Wiese","41",0x10ff00],["Wüste","00",0xffff00],["Steppe","10",0x88ff00],["Berge","05",0xaa8888],["Wasser","50",0x6666ff]],$a1n=20,$a1o=20,$a1p=40,$a1q=30,$a1r=20,$a1s=20,$a1t[20][20],$a1u[20][20],$a1v[20][20],$a1w[20][20],$a1x[20][20],$a1y[16][2],$a1z[1][2],$a1_[1][2],$a20[3],$a21[3],$a22=20000,$a23,$a24=0,$a25=0,$a26=0,$a27=0
Global $a28[4][3]=[["Basis","002020","010101"],["Wohnhaus","000810","020201"],["Kaserne","102010","050505"],["Kraftwerk","202000","0005-9"]],$a29=4,$a2a=80,$a2b=30,$a2c=20,$a2d=642,$a2e[4]
Global $a2f[4][3]=[["Arbeiter","01020001","010000"],["Kundschafter","03050003","020000"],["Soldat","05100505","030000"],["Ingeneur","10105002","030101"]],$a2g=4,$a2h=80,$a2i=30,$a2j=20,$a2k=694,$a2l[4]
Global $a2m[3][2]=[["Nahrung",30],["Material",50],["Energie",70]],$a2n=150,$a2o=30,$a2p=850,$a2q=20,$a2r[3]
Global $a2s[3]=["Nahrung","Material","Energie"],$a2t=150,$a2u=30,$a2v=850,$a2w=135,$a2x[3]
Global $a2y[7]=["Name: ","Nahrung: ","Material: ","Energie: ","Bewegung: ","Coord X: ","Coord Y: "],$a2z=150,$a2_=30,$a30=850,$a31=250,$a32[7],$a33=GUICreate('15K-Strategie',1024,768,-1,-1)
$a34=GUICtrlCreateGroup("",$a1r-15,$a1s-15,$a1p*$a1n+20,$a1q*$a1o+20)
for $a35=0 to 19
for $a36=0 to 19
$a37=Random(0,5,1)
$a1w[$a36][$a35]=$a1m[$a37][0]
$a1x[$a36][$a35]=$a1m[$a37][1]
$a1t[$a36][$a35]=GUICtrlCreateLabel("",15+($a36*40),17+($a35*30),40,30)
GUICtrlSetBkColor(-1,$a1m[$a37][2])
GUICtrlSetonEvent(-1,"_8_")
Next
Next
$a38=GUICtrlCreateGroup("Bauwerke",$a2c-15,$a2d-10,$a2a*$a29+20,$a2b+22)
for $a36=0 to 3
$a2e[$a36]=GUICtrlCreateLabel($a28[$a36][0],$a2c+($a36*$a2a),$a2d+10,$a2a,$a2b)
GUICtrlSetonEvent(-1,"_9_")
Next
$a38=GUICtrlCreateGroup("Einheiten",$a2j-15,$a2k-10,$a2h*$a2g+20,$a2i+22)
for $a36=0 to 3
$a2l[$a36]=GUICtrlCreateLabel($a2f[$a36][0],$a2j+($a36*$a2h),$a2k+10,$a2h,$a2i)
GUICtrlSetonEvent(-1,"_a_")
Next
$a39=GUICtrlCreateGroup("Ressourcen",$a2p-15,$a2q-15,$a2n+20,$a2o*3+25)
for $a35=0 to 2
$a2r[$a35]=GUICtrlCreateLabel($a2m[$a35][0]&": "&$a2m[$a35][1],$a2p,$a2q+($a2o*$a35)+8,$a2n,$a2o)
Next
$a39=GUICtrlCreateGroup("Produktion",$a2v-15,$a2w-15,$a2t+20,$a2u*3+25)
for $a35=0 to 2
$a2x[$a35]=GUICtrlCreateLabel($a2s[$a35]&": ",$a2v,$a2w+($a2u*$a35)+8,$a2t,$a2u)
Next
$a3a=GUICtrlCreateGroup("Info",$a30-15,$a31-15,$a2z+20,$a2_*7+25)
for $a35=0 to 6
$a32[$a35]=GUICtrlCreateLabel($a2y[$a35],$a30,$a31+($a2_*$a35)+8,$a2z,$a2_)
Next
$a3a=GUICtrlCreateGroup("Nächste Runde",$a30-15,$a31+$a2_*7+20,$a2z+20,95)
dim $a3b=GUICtrlCreateProgress($a30-5,$a31+$a2_*7+40,$a2z,20),$a3c=GUICtrlCreateButton("Weiter",$a30-5,$a31+$a2_*7+75,$a2z)
GUICtrlSetonEvent(-1,"_d_")
GUISetState(@SW_SHOW,$a33)
GUISetonEvent($a15,"_h_",$a33)
AdlibRegister("_d_",$a22)
dim $a23=TimerInit(),$a3d=TimerInit()
While 1
$a3e=TimerDiff($a23)
_SD($a3b,100/$a22*$a3e)
if $a24>2 then _d_()
Sleep(9)
WEnd
Func _8_()
dim $a3f=GUIGetCursorInfo($a33),$a36=int(($a3f[0]-$a1r) / $a1p),$a35=int(($a3f[1]-$a1s) / $a1q),$a3g=GUICtrlRead($a32[0])
if $a1u[$a36][$a35]<>""then
if StringInStr($a3g,"/",1)then
$a3g=_SS($a3g,"/ ",1)
$a3g=$a3g[2]
EndIf
_b_($a36,$a35,$a3g)
elseif StringInStr($a3g,"Versetze:",1)then
$a3g=_SS($a3g,"Versetze: ",1)
$a3g=$a3g[2]
_b_($a36,$a35,$a3g)
Else
$a3g=StringReplace($a3g,"Name: ","",1)
if _6_($a1m,$a3g)=-1 then _b_($a36,$a35,$a3g)
EndIf
dim $a3h[7]=[$a1w[$a36][$a35],_SM($a1x[$a36][$a35],1,1),_SM($a1x[$a36][$a35],2,1),"","",$a36,$a35]
if $a1v[$a36][$a35]<>""then $a3h[0]&=" / "&$a1v[$a36][$a35]
if $a1u[$a36][$a35]<>""then
$a3h[0]&=" / "&$a1u[$a36][$a35]
$a3h[4]=_SM($a2f[_6_($a2f,$a1u[$a36][$a35])][1],7,2)
EndIf
$a3g=GUICtrlRead($a32[0])
$a3g=StringReplace($a3g,"Name: ","",1)
if StringInStr($a3g,"Versetze:",1)then
$a3i=_SS($a3g,"Versetze: ",1)
$a3i=$a3i[2]
dim $a3h[7]=[$a3g,"","","",_SM($a2f[_6_($a2f,$a3i)][1],7,2),$a36,$a35]
EndIf
_i_($a3h)
EndFunc
Func _9_()
dim $a3f=GUIGetCursorInfo($a33),$a36=int(($a3f[0]-$a2j) / $a2a),$a3j=$a36,$a3h[7]=[$a28[$a3j][0],_SM($a28[$a3j][1],1,2),_SM($a28[$a3j][1],3,2),_SM($a28[$a3j][1],5,2),"","",""]
_i_($a3h)
EndFunc
Func _a_()
dim $a3f=GUIGetCursorInfo($a33),$a36=int(($a3f[0]-$a2c) / $a2h),$a3k=$a36
if($a2f[$a3k][0]=$a2f[0][0]and _6_($a1v,$a28[0][0])<>-1)or($a2f[$a3k][0]=$a2f[1][0]and _6_($a1v,$a28[1][0])<>-1)or($a2f[$a3k][0]=$a2f[2][0]and _6_($a1v,$a28[2][0])<>-1)or($a2f[$a3k][0]=$a2f[3][0]and _6_($a1v,$a28[1][0])<>-1 and _6_($a1v,$a28[2][0])<>-1 and _6_($a1v,$a28[3][0])<>-1)then
dim $a3h[7]=[$a2f[$a3k][0],_SM($a2f[$a3k][1],1,2),_SM($a2f[$a3k][1],3,2),_SM($a2f[$a3k][1],5,2),_SM($a2f[$a3k][1],7,2),"",""]
_i_($a3h)
EndIf
EndFunc
Func _b_($a3l,$a3m,$a3n)
$a3o=_6_($a2f,$a3n)
if $a3o<>-1 then
if $a1u[$a3l][$a3m]=""and $a1v[$a3l][$a3m]=""then
dim $a3g=GUICtrlRead($a32[0])
if StringInStr($a3g,"Versetze:",1)then
$a3g=_SS($a3g,"Versetze: ",1)
$a3g=$a3g[2]
$a3p=GUICtrlRead($a32[5])
$a3p=_SS($a3p,"Coord X: ",1)
$a3p=$a3p[2]
$a3q=GUICtrlRead($a32[6])
$a3q=_SS($a3q,"Coord Y: ",1)
$a3q=$a3q[2]
_c_($a3p,$a3q,$a3g)
dim $a3h[7]
_i_($a3h)
for $a3r=0 to 15
$a3s=_SS($a1y[$a3r][0],":",1)
if $a3s[0]=2 and $a3l=$a3s[1]and $a3m=$a3s[2]and $a3n=$a2f[2][0]then
$a1y[$a3r][0]=""
$a1y[$a3r][1]=""
GUICtrlSetBkColor($a1t[$a3l][$a3m],$a1m[_6_($a1m,$a1w[$a3l][$a3m])][2])
ExitLoop
EndIf
Next
EndIf
dim $a3t[3]=[_SM($a2f[$a3o][1],1,2),_SM($a2f[$a3o][1],3,2),_SM($a2f[$a3o][1],5,2)]
if $a2m[1][1]>=$a3t[1]and $a2m[2][1]>=$a3t[2]then
$a1u[$a3l][$a3m]=$a2f[$a3o][0]
$a1z[_UB($a1z)-1][0]=$a2f[$a3o][0]
$a1z[_UB($a1z)-1][1]=$a3l&":"&$a3m
ReDim $a1z[_UB($a1z)+1][2]
if not StringInStr($a3g,"Versetze:",1)then
for $at=0 to 2
$a2m[$at][1]-=$a3t[$at]
Next
$a24+=1
$a26+=1
for $a3r=0 to 15
$a3s=_SS($a1y[$a3r][1],":",1)
if $a3s[0]=2 then _f_($a3l,$a3m,$a3n,$a3s[1],$a3s[2])
Next
EndIf
EndIf
elseif $a1u[$a3l][$a3m]<>""then
dim $a3o=_6_($a1z,$a3l&":"&$a3m),$a3u=_6_($a2f,$a1z[$a3o][0])
$a1u[$a3l][$a3m]=""
$a1z[$a3o][1]=""
_SD($a1t[$a36][$a35],"")
dim $a3h[7]=["Versetze: "&$a1z[$a3o][0],"","","",_SM($a2f[$a3u][1],7,2),"",""]
_i_($a3h)
EndIf
EndIf
$a3v=_6_($a28,$a3n)
if $a3v<>-1 then
if $a1v[$a3l][$a3m]=""and $a1u[$a3l][$a3m]=""and $a1w[$a3l][$a3m]<>"Wasser"then
dim $a3t[3]=[_SM($a28[$a3v][1],1,2),_SM($a28[$a3v][1],3,2),_SM($a28[$a3v][1],5,2)],$a3u=_6_($a1u,$a2f[3][0])
if $a2m[0][1]>=$a3t[0]and $a2m[1][1]>=$a3t[1]then
if(_UB($a1_)-1>0 and $a28[$a3v][0]=$a28[0][0]and $a3u<>-1)or(_UB($a1_)-1=0 and $a28[$a3v][0]=$a28[0][0])or($a28[$a3v][0]<>$a28[0][0])then
$a1v[$a3l][$a3m]=$a28[$a3v][0]
for $at=0 to 2
$a2m[$at][1]-=$a3t[$at]
Next
$a24+=1
$a27+=1
$a1_[_UB($a1_)-1][0]=$a28[$a3v][0]
$a1_[_UB($a1_)-1][1]=$a3l&":"&$a3m
ReDim $a1_[_UB($a1_)+1][2]
EndIf
EndIf
EndIf
EndIf
for $a35=0 to $a1o-1
for $a36=0 to $a1n-1
if $a1v[$a36][$a35]<>""then _SD($a1t[$a36][$a35],$a1v[$a36][$a35])
if $a1u[$a36][$a35]<>""then _SD($a1t[$a36][$a35],$a1u[$a36][$a35])
Next
Next
for $a35=0 to 2
_SD($a2r[$a35],$a2m[$a35][0]&": "&$a2m[$a35][1])
Next
EndFunc
Func _c_($a3l,$a3m,$a3n)
dim $a3f=GUIGetCursorInfo($a33),$a36=int(($a3f[0]-$a1r) / $a1p),$a35=int(($a3f[1]-$a1s) / $a1q),$a3o=_6_($a2f,$a3n),$a3w=0
if $a36<$a3l then
$a3w+=$a3l-$a36
Else
$a3w+=$a36-$a3l
EndIf
if $a35<$a3m then
$a3w+=$a3m-$a35
Else
$a3w+=$a35-$a3m
EndIf
for $at=0 to _UB($a1z)-1
if $a1z[$at][0]<>""and $a1z[$at][1]=""then ExitLoop
Next
if $a3w<=number(_SM($a2f[$a3o][1],7,2))then
$a1z[$at][1]=$a36&":"&$a35
$a1u[$a36][$a35]=$a2f[$a3o][0]
$a24+=1
Else
$a1z[$at][1]=$a3l&":"&$a3m
$a1u[$a36][$a35]=""
$a1u[$a3l][$a3m]=$a2f[$a3o][0]
EndIf
$a1z[$at][0]=$a2f[$a3o][0]
EndFunc
Func _d_()
dim $a3x[3]
for $a35=0 to $a1o-1
for $a36=0 to $a1n-1
if $a1v[$a36][$a35]<>""or $a1u[$a36][$a35]<>""then
dim $a3t[2]=[_SM($a1x[$a36][$a35],1,1),_SM($a1x[$a36][$a35],2,1)]
for $at=0 to 1
$a2m[$at][1]+=$a3t[$at]
$a3x[$at]+=$a3t[$at]
Next
EndIf
Next
Next
for $at=0 to 2
$a21[$at]=0
$a20[$at]=0
next
for $at=0 to _UB($a1_)-1
if $a1_[$at][0]<>""then
$a3v=_6_($a28,$a1_[$at][0])
$a21[0]+=_SM($a28[$a3v][2],1,2)
$a21[1]+=_SM($a28[$a3v][2],3,2)
$a21[2]+=_SM($a28[$a3v][2],5,2)
EndIf
next
for $at=0 to _UB($a1z)-1
if $a1z[$at][0]<>""then
$a3o=_6_($a2f,$a1z[$at][0])
$a20[0]+=_SM($a2f[$a3o][2],1,2)
$a20[1]+=_SM($a2f[$a3o][2],3,2)
$a20[2]+=_SM($a2f[$a3o][2],5,2)
EndIf
next
for $at=0 to 2
$a2m[$at][1]-=$a21[$at]
$a2m[$at][1]-=$a20[$at]
$a3x[$at]-=$a21[$at]+$a20[$at]
_SD($a2x[$at],$a2s[$at]&": "&$a3x[$at])
_SD($a2r[$at],$a2m[$at][0]&": "&$a2m[$at][1])
next
if $a2m[0][1]<-10 then
if _UB($a1z)-1>0 then
dim $a3n=Random(0,_UB($a1z)-2,1),$a3y=_SS($a1z[$a3n][1],":",1)
if $a3y[0]=2 then
$a1u[$a3y[1]][$a3y[2]]=""
_5_($a1z,$a3n)
_SD($a1t[$a3y[1]][$a3y[2]],"")
$a2m[0][1]+=10
$a2m[1][1]+=5
$a2m[2][1]+=10
EndIf
Else
dim $a3n=Random(0,_UB($a1_)-2,1),$a3y=_SS($a1_[$a3n][1],":",1)
if $a3y[0]=2 then
$a1v[$a3y[1]][$a3y[2]]=""
_SD($a1t[$a3y[1]][$a3y[2]],"")
_5_($a1_,$a3n)
$a2m[0][1]+=10
$a2m[1][1]+=5
$a2m[2][1]+=30
EndIf
EndIf
EndIf
if $a2m[2][1]<-25 then
if _UB($a1_)-1>0 then
dim $a3n=Random(0,_UB($a1_)-2,1),$a3y=_SS($a1_[$a3n][1],":",1)
if $a3y[0]=2 then
$a1v[$a3y[1]][$a3y[2]]=""
_SD($a1t[$a3y[1]][$a3y[2]],"")
_5_($a1_,$a3n)
$a2m[0][1]+=20
$a2m[1][1]+=10
$a2m[2][1]+=30
EndIf
EndIf
EndIf
if $a2m[0][1]<-150 or $a2m[1][1]<-150 or $a2m[2][1]<-150 then _h_()
_e_()
dim $a23=TimerInit(),$a24=0
if $a24=0 then $a24=1
$a25+=$a24
EndFunc
Func _e_()
if Random(0,99,1)>=95 then
$a3z=_6_($a1y,"")
if _UB($a1_)-1>0 and $a3z<>-1 and $a3z<=14 then _g_(Random(0,_UB($a1_)-2,1),$a3z)
EndIf
for $at=0 to 15
if $a1y[$at][0]<>""or $a1y[$at][1]<>""then
dim $a3y=_SS($a1y[$at][0],":",1),$a3_=_SS($a1y[$at][1],":",1),$a40[2]=[$a3y[1],$a3y[2]],$a41=_6_($a1m,$a1w[$a3y[1]][$a3y[2]])
_SD($a1t[$a3y[1]][$a3y[2]],"")
GUICtrlSetBkColor($a1t[$a3y[1]][$a3y[2]],$a1m[$a41][2])
if Random(0,100,1)<60 then
if int($a3_[1])<int($a3y[1])then
$a40[0]-=1
else
$a40[0]+=1
EndIf
EndIf
if Random(0,100,1)<60 then
if int($a3_[2])<int($a3y[2])then
$a40[1]-=1
Else
$a40[1]+=1
EndIf
EndIf
$a1y[$at][0]=$a40[0]&":"&$a40[1]
$a3n=_6_($a1z,$a40[0]&":"&$a40[1])
if $a3n<>-1 then
_5_($a1z,$a3n)
$a1u[$a40[0]][$a40[1]]=""
_SD($a1t[$a40[0]][$a40[1]],"")
for $a3r=0 to 15
if $a1y[$a3r][0]=$a40[0]&":"&$a40[1]or $a1y[$a3r][1]=$a40[0]&":"&$a40[1]then
$a42=_SS($a1y[$a3r][0],":",1)
$a43=_6_($a1m,$a1w[$a42[1]][$a42[2]])
$a1y[$a3r][0]=""
$a1y[$a3r][1]=""
if $a43<>-1 then GUICtrlSetBkColor($a1t[$a40[0]][$a40[1]],$a1m[$a43][2])
if _UB($a1_)-1>0 then _g_(Random(0,_UB($a1_)-2,1),$a3r)
EndIf
Next
EndIf
for $a3r=0 to 99
if $a3r<=_UB($a1_)-1 and $a1_[$a3r][0]<>""and $a1_[$a3r][1]<>""then
$a3y=_SS($a1_[$a3r][1],":",1)
_f_($a3y[1],$a3y[2],$a1_[$a3r][0],$a40[0],$a40[1])
EndIf
if $a3r<=_UB($a1z)-1 and $a1z[$a3r][0]<>""and $a1z[$a3r][1]<>""then
$a3y=_SS($a1z[$a3r][1],":",1)
_f_($a3y[1],$a3y[2],$a1z[$a3r][0],$a40[0],$a40[1])
EndIf
Next
if $a40[0]=$a3_[1]and $a40[1]=$a3_[2]then
$a3n=_6_($a1_,$a3_[1]&":"&$a3_[2])
if $a3n<>-1 then
_SD($a1t[$a40[0]][$a40[1]],"")
GUICtrlSetBkColor($a1t[$a40[0]][$a40[1]],$a1m[$a41][2])
_5_($a1_,$a3n)
$a1v[$a3_[1]][$a3_[2]]=""
$a1y[$at][0]=""
$a1y[$at][1]=""
if _UB($a1_)-1>0 then _g_(Random(0,_UB($a1_)-2,1),$at)
EndIf
EndIf
if _UB($a1_)-1=0 and _UB($a1z)-1=0 then _h_()
EndIf
Next
EndFunc
Func _f_($a36,$a35,$a44,$a45,$a46)
dim $a3v=_6_($a1v,$a44),$a3o=_6_($a2f,$a44),$a47=0
if $a3v<>-1 or($a3o<>-1 and($a2f[$a3o][0]=$a2f[0][0]or $a2f[$a3o][0]=$a2f[3][0]))then $a47=2
If $a3o<>-1 and $a2f[$a3o][0]=$a2f[1][0]then $a47=4
If $a3o<>-1 and $a2f[$a3o][0]=$a2f[2][0]then $a47=3
if abs(int($a36)-int($a45))<=$a47 and abs(int($a35)-int($a46))<=$a47 then
GUICtrlSetBkColor($a1t[$a45][$a46],0xff0000)
_SD($a1t[$a45][$a46],"Gegner")
$a48=_6_($a1z,$a36&":"&$a35)
$a49=_6_($a1y,$a45&":"&$a46)
if $a49<>-1 then
$a1y[$a49][0]=$a45&":"&$a46
$a1y[$a49][1]=$a36&":"&$a35
EndIf
EndIf
EndFunc
Func _g_($a3_,$a3z)
if $a3_>=0 then
$a1y[$a3z][0]=$a1y[$a3z][1]
$a4a=_SS($a1_[$a3_][1],":",1)
if $a1y[$a3z][0]=""and $a4a[0]=2 then
if 19-$a4a[1]<10 then
$a4b=0
Else
$a4b=19
EndIf
$a4c=Random(0,19,1)
$a1y[$a3z][0]=$a4b&":"&$a4c
EndIf
$a1y[$a3z][1]=$a1_[$a3_][1]
EndIf
EndFunc
Func _h_()
GUIDelete($a33)
dim $a4d=Int(TimerDiff($a3d)/1000),$a4e=($a4d*3)+($a25*2)+($a26*8)+($a27*12),$a4f="Leider verloren!"&@CRLF&@CRLF&"Gespielte Zeit: "&$a4d&" Sekunden"&@CRLF&"Gemachte Züge: "&$a25&@CRLF&@CRLF&"Punktezahl: "&$a4e&@CRLF&@CRLF
MsgBox(0,"Game Over",$a4f)
Exit
EndFunc
Func _i_($a4g)
for $at=0 to 6
_SD($a32[$at],$a2y[$at]&$a4g[$at])
next
EndFunc
Func _SD(ByRef $a,$b)
GUICtrlSetData($a,$b)
EndFunc
Func _SS($a,$b,$c=1)
Return StringSplit($a,$b,$c)
EndFunc
Func _UB($a,$b=1)
Return UBound($a,$b)
EndFunc
Func _SM(byref $a,$b,$c)
Return StringMid($a,$b,$c)
EndFunc
15K-Strategie
Das Bunte Feld ist die Weltkarte auf dieser kann man seine Bauwerke und Einheiten
platzieren. Die Unteren beiden Felder sind die Baumenü´s wo man eben sein
Bauvorhaben und seine Einheit auswählen kann. Alles Kostet Ressourcen welche
durch schlaues setzen seiner Bauwerke und Einheiten aufgestockt werden können.
Die Rechte Spalte ist die Info-Spalte, darin hat man einen kleinen überblick
über die Werte der Spielfelder und auch über seinen Bestand sowie die derzeitige
Ressourcen-Produktion.
Eine Spielrunde ist maximal 3 Züge lang oder sie läuft nach einer gewissen Zeit
ab. Um Einheiten produzieren zu können müssen diverse Bauwerke bereits vorhanden
sein.
Um gesetzte Einheiten bewegen zu können müssen sie wieder angeklickt werden und
können dann innerhalb ihres Bewegungsradius gesetzt werden. Befindet sich der
neue Zielort ausserhalb des Bewegungsradius werden sie an ihre alte Position
zurück gesetzt, und der Spielzug wird nicht angerechnet.
Ist ein Gegner ausgemacht wird er innerhalb der Sichtzone Angezeigt, und kann von
einem Soldaten angegriffen werden. Dieses Funktioniert ebenso wie bei der Bewegung
von Einheiten.
Das Spiel ist beendet wenn alle Gebäude und Einheiten des Spielers vernichtet sind
oder die Ressourcenknappheit alle Hingeraft hat ![]()
Untergrund :: Ertrag
Wald :: 1 Nah 4 Mat
Wiese :: 4 Nah 1 Mat
Wasser :: 5 Nah 0 Mat
Berge :: 0 Nah 5 Mat
Steppe :: 1 Nah 0 Mat
Wüste :: 0 Nah 0 Mat
Bauwerk :: Kosten / Unterhalt :: Spezial
Basis :: 0N 20M 20E / 1N 1M 1E :: Benötigt von: Bau von Gebäuden
Wohnhaus :: 0N 8M 10E / 2N 2M 1E :: Benötigt von: Kundschafter
Kaserne :: 10N 20M 10E / 5N 5M 5E :: Benötigt von: Soldat
Kraftwerk :: 20N 20M 0E / 0N 5M +9E :: Erzeut 9 Energie
Einheit :: Benötigtes Bauwerk :: Kosten / Unterhalt :: Spezial
Arbeiter :: Basis :: 1N 2M 0E / 1N 0M 0E :: 1 Bewegung
Kundschafter :: Wohnhaus :: 3N 5M 0E / 2N 0M 0E :: 3 Bew & kann Feide besser erkennen
Soldat :: Kaserne :: 5N 10M 0E / 3N 0M 0E :: 5 Bew & kann Kämpfen
Ingeneur :: Wohnhaus & Kaserne :: 10N 10M 5E / 3N 1M 1E :: 2 Bew & kann neue Basis bauen
Features:
Es gibt Erstellungskosten sowie Untehaltskosten für Einheiten und Gebäude.
Einige Einheiten haben bestimmte Skills.
Es gibt Gegner und auch Kämpfe.
Ein Ressourcen-System.
4 Gebäude-Typen und 4 verschiedene Einheiten.
Eine Punkteauswertung.
Es gibt leider keine schicken Grafiken...
Und noch Bug´s in der Bewegung sowie bei der Gegner-Ortung...
Den nicht Obfuscierten, aber stark Optimierten Source gibt es bei mir auf PN Anfrage ![]()
Vile Spaß damit ![]()
[Edit]
...ich alter Trottel ![]()