Hallo liebe AutoIT Scripter..
Ja ich wollte ein kleines FantasySpiel erstellen...
Das soll nur mit Fantasy spaß machen (Keine Grafiken usw.)
d.H ein Fenster wo Man z.B "Gehe nach Norden" eine Antwort kommt: "*Du gehst nach Norden" und manchmal halt.. "Du kannst nicht nach Norden gehen da ein Fluss den Weg versperrt" dann muss man z.B eingeben "Schwimme über den Fluss" und man kann drüberschwimmen ..
Wofür brauchst du Hilfe?
Das mit gehe nach Norden könntest du mit MsgBoxen regeln , das mit schwimme über Wasser bzw. das man (....) eingeben muss,würde mit einer InputBox funktionieren.
antworten zu erkennen ist nicht so einfach... gerade wenn der user diese frei eingeben kann... einfacher wäre es hier mit antwortvorgaben weiter zu kommen.
ein "spielfeld" kannst du dir hier einfach in einem 2d-array anlegen...
antworten zu erkennen ist nicht so einfach... gerade wenn der user diese frei eingeben kann... einfacher wäre es hier mit antwortvorgaben weiter zu kommen.
ein "spielfeld" kannst du dir hier einfach in einem 2d-array anlegen...
habe mir mal ein 2D spiel gemacht mit guictrlcreatepic(.....) coordinaten berechen wenn folgende tasten gedrückt werden dann guictrldelete(...) dann guictrlcreatepic(.....) u.s.w! ist ganz einfach! mein kumpel hat das mit gdi+ gemacht ,was ich besser finde aber was der typ oben meint ist ein textspiel wo man was eingibt und so! bei minecraft gibs nen mod wo sowas ähnliches vorkommt! wenne willst geb ich dir source für meine 3D engine!
habe mir mal ein 2D spiel gemacht mit guictrlcreatepic(.....) coordinaten berechen wenn folgende tasten gedrückt werden dann guictrldelete(...) dann guictrlcreatepic(.....) u.s.w! ist ganz einfach! mein kumpel hat das mit gdi+ gemacht ,was ich besser finde aber was der typ oben meint ist ein textspiel wo man was eingibt und so! bei minecraft gibs nen mod wo sowas ähnliches vorkommt! wenne willst geb ich dir source für meine 3D engine!
ja? mit gdi+! die winkel berechnen und was weiss ich was alles noch! war harte arbeit aber ist fertig! habe ich aber auf meiner alten festplatte und kann deswegen nicht zeigen. habe aber eine kleine 2D engine erstellt für 2D games (wie z.b mein 2D GTA xD)!
2DEngine (ohne GDI+)
---------
#include-once
Func _Up($PixelsToMoveToDirection,$PlayerXcoords,$Playe rYcoords)
$PlayerYcoords=$PlayerYcoords-$PixelsToMoveToDirection
$returnedcoords=$PlayerYcoords
Return $returnedcoords
EndFunc
Func _Down($PixelsToMoveToDirection,$PlayerXcoords,$Pla yerYcoords)
$PlayerYcoords=$PlayerYcoords+$PixelsToMoveToDirec tion
$returnedcoords=$PlayerYcoords
Return $returnedcoords
EndFunc
Func _Left($PixelsToMoveToDirection,$PlayerXcoords,$Pla yerYcoords)
$PlayerXcoords=$PlayerXcoords-$PixelsToMoveToDirection
$returnedcoords=$PlayerXcoords
Return $returnedcoords
EndFunc
Func _Right($PixelsToMoveToDirection,$PlayerXcoords,$Pl ayerYcoords)
$PlayerXcoords=$PlayerXcoords+$PixelsToMoveToDirec tion
$returnedcoords=$PlayerXcoords
Return $returnedcoords
EndFunc
Func _UpdatePlayer($PlayerToUpdate,$PictureName,$Xcoord sOfPlayer,$YcoordsOfPlayer,$WidthOfPlayer,$HeightO fPlayer)
GUICtrlDelete($PlayerToUpdate)
$PlayerToUpdate=GUICtrlCreatePic($PictureName,$Xco ordsOfPlayer,$YcoordsOfPlayer,$WidthOfPlayer,$Heig htOfPlayer)
EndFunc
Func _Shoot($PlayerXcoords,$PlayerYcoords,$ShootDirecti on,$BulletPictureFilename,$BulletPictureWidth,$Bul letPictureHeight,$PlayerWidth,$PlayerHeight,$GameW indowWidth,$GamewindowHeight,$BulletSpeed,$Xenemy1 ,$Yenemy1,$EnemyWidth,$EnemyHeight)
If $ShootDirection="Up" Then
$bulletx=$PlayerXcoords
$bullety=$PlayerYcoords
For $i=0 To $PlayerYcoords Step 1
$Shot=GUICtrlCreatePic($BulletPictureFilename,$Pla yerXcoords,$PlayerYcoords,$BulletPictureWidth,$Bul letPictureHeight)
$bullety=$bullety-$BulletSpeed
If $bullety>$Yenemy1-$EnemyHeight And $bullety<$Yenemy1+$EnemyHeight And $bulletx>$Xenemy1-$EnemyWidth And $bulletx<$Xenemy1+$EnemyWidth Then
GUICtrlDelete($Shot)
Return
EndIf
GUICtrlDelete($Shot)
Next
ElseIf $ShootDirection="Down" Then
$bulletx=$PlayerXcoords
$bullety=$PlayerYcoords
For $GamewindowHeight=$GamewindowHeight To $PlayerYcoords Step 1
$Shot=GUICtrlCreatePic($BulletPictureFilename,$Pla yerXcoords,$PlayerYcoords,$BulletPictureWidth,$Bul letPictureHeight)
$bullety=$bullety+$BulletSpeed
If $bullety>$Yenemy1-$PlayerWidth And $bullety<$Yenemy1+$PlayerHeight And $bulletx>$Xenemy1-$PlayerWidth And $bulletx<$Xenemy1+$PlayerHeight Then
GUICtrlDelete($Shot)
Return "Enemy1"
EndIf
GUICtrlDelete($Shot)
Next
ElseIf $ShootDirection="Left" Then
$bulletx=$PlayerXcoords
$bullety=$PlayerYcoords
For $i=0 To $PlayerXcoords Step 1
$Shot=GUICtrlCreatePic($BulletPictureFilename,$Pla yerXcoords,$PlayerYcoords,$BulletPictureWidth,$Bul letPictureHeight)
$bulletx=$bulletx-$BulletSpeed
If $bulletx>$Xenemy1 And $bulletx<$Xenemy1+$PlayerWidth Then
GUICtrlDelete($Shot)
Return "Enemy1"
EndIf
Next
ElseIf $ShootDirection="Right" Then
$bulletx=$PlayerXcoords
$bullety=$PlayerYcoords
For $PlayerXcoords=$PlayerXcoords To $GameWindowWidth Step 1
$Shot=GUICtrlCreatePic($BulletPictureFilename,$Pla yerXcoords,$PlayerYcoords,$BulletPictureWidth,$Bul letPictureHeight)
$bulletx=$bulletx+$BulletSpeed
If $bulletx>$Xenemy1 And $bulletx<$Xenemy1+$EnemyWidth And $bullety>$Yenemy1 And $bullety<$Yenemy1+$EnemyHeight Then
GUICtrlDelete($Shot)
MsgBox(0,"","WIN")
Return "Enemy1"
EndIf
GUICtrlDelete($Shot)
Next
EndIf
EndFunc
2D Game (auch ohne gdi+ aber mit bots und schussfunktion munibegrenzung e.t.c (ist net copyrightgeschützt also könnt ihr verbessern e.t.c))
Func _Bot1()
$Move = Random(0,5,1)
$Direction = Random(1,4,1)
$lenght = Random(100,100000,1)
If Not $Move = 0 Then
For $lenght= 0 To $0 Step -0.25
_Move()
_Bot2()
GUICtrlDelete($Gegner)
GUICtrlDelete($LebenanzeigeB1)
If $Direction = 1 Then
$ygegner=$ygegner - 5.0
$LOR="U"
ElseIf $Direction = 2 Then
$xgegner=$xgegner + 5.0
$LOR="R"
ElseIf $Direction = 3 Then
$ygegner=$ygegner + 5.0
$LOR="NOR"
ElseIf $Direction = 4 Then
$xgegner=$xgegner - 5.0
$LOR="L"
EndIf
If $tot=0 Then
If $LOR="NOR" Then
$LebenanzeigeB1=GUICtrlCreateProgress($xgegner,$yg egner-10,32,10)
GUICtrlSetData(-1,$lebenGegner)
$Gegner=GUICtrlCreatePic("Gegner.bmp",$xgegner,$yg egner,32,64)
ElseIf $LOR="R" Then
$LebenanzeigeB1=GUICtrlCreateProgress($xgegner,$yg egner-10,32,10)
GUICtrlSetData(-1,$lebenGegner)
$Gegner=GUICtrlCreatePic("GegnerR.bmp",$xgegner,$y gegner,32,64)
ElseIf $LOR="L" Then
$LebenanzeigeB1=GUICtrlCreateProgress($xgegner,$yg egner-10,32,10)
GUICtrlSetData(-1,$lebenGegner)
$Gegner=GUICtrlCreatePic("GegnerR.bmp",$xgegner,$y gegner,32,64)
ElseIf $LOR="U" Then
$LebenanzeigeB1=GUICtrlCreateProgress($xgegner,$yg egner-10,32,10)
GUICtrlSetData(-1,$lebenGegner)
$Gegner=GUICtrlCreatePic("GegnerU.bmp",$xgegner,$y gegner,32,64)
ElseIf $LOR="LU" Then
$LebenanzeigeB1=GUICtrlCreateProgress($xgegner,$yg egner-10,32,10)
GUICtrlSetData(-1,$lebenGegner)
$Gegner=GUICtrlCreatePic("GegnerLU.bmp",$xgegner,$ ygegner,32,64)
ElseIf $LOR="RU" Then
$LebenanzeigeB1=GUICtrlCreateProgress($xgegner,$yg egner-10,32,10)
GUICtrlSetData(-1,$lebenGegner)
$Gegner=GUICtrlCreatePic("GegnerRU.bmp",$xgegner,$ ygegner,32,64)
ElseIf $LOR="LD" Then
$LebenanzeigeB1=GUICtrlCreateProgress($xgegner,$yg egner-10,32,10)
GUICtrlSetData(-1,$lebenGegner)
$Gegner=GUICtrlCreatePic("GegnerLD.bmp",$xgegner,$ ygegner,32,64)
ElseIf $LOR="RD" Then
$LebenanzeigeB1=GUICtrlCreateProgress($xgegner,$yg egner-10,32,10)
GUICtrlSetData(-1,$lebenGegner)
$Gegner=GUICtrlCreatePic("GegnerRD.bmp",$xgegner,$ ygegner,32,64)
EndIf
EndIf
Next
Else
EndIf
EndFunc
Func _Move()
If Not _IsPressed(_StringToHex("A")) And Not _IsPressed(_StringToHex("D")) Then
If _IsPressed(_StringToHex("W")) Then
;If $left = "" And $right = "" Then
UP()
;EndIf
EndIf
EndIf
If _IsPressed(_StringToHex("A")) Then
If Not _IsPressed(_StringToHex("W")) And Not _IsPressed(_StringToHex("S")) Then
;If $left = "" And $right = "" Then
LEFT()
;EndIf
EndIf
EndIf
If Not _IsPressed(_StringToHex("W")) And Not _IsPressed(_StringToHex("S")) Then
If _IsPressed(_StringToHex("D")) Then
;If $left = "" And $right = "" Then
RIGHT()
;EndIf
EndIf
EndIf
If Not _IsPressed(_StringToHex("a")) And Not _IsPressed(_StringToHex("D")) Then
If _IsPressed(_StringToHex("S")) Then
;If $left = "" And $right = "" Then
DOWN()
;EndIf
EndIf
EndIf
If _IsPressed(20) Then
If TimerDiff($TI)>100 Then
$TI=TimerInit()
$Clipammo=$Clipammo-1
If $Clipammo=0 Then
If not $Spareammo=0 Then
$Clipammo=10
$Spareammo=$Spareammo-10
EndIf
EndIf
If $LRUD = "U" Then
$schussy=$y
For $i=0 To $y Step 1
$schussy=$schussy-1
$schuss=GUICtrlCreatePic("Schuss.bmp",$x+8,$schuss y,5,50)
If $schussy>$ygegner-32 And $schussy<$ygegner+64 And $x>$xgegner-32 And $x<$xgegner+64 Then
$lebenGegner=$lebenGegner-12.5
$schussy=$schussy+64
If $lebenGegner=0 Then
$blut=GUICtrlCreatePic("Blut.bmp",$xgegner-16,$ygegner-32,64,128)
$tot=1
EndIf
ElseIf $schussy>$ygegner2-32 And $schussy<$ygegner2+64 And $x>$xgegner2-32 And $x<$xgegner2+64 Then
$lebenGegner2=$lebenGegner2-12.5
$schussy=$schussy+64
If $lebenGegner2=0 Then
$blut=GUICtrlCreatePic("Blut.bmp",$xgegner2-16,$ygegner2-3,64,128)
$tot2=1
EndIf
GUICtrlDelete($schuss)
ExitLoop
EndIf
GUICtrlDelete($schuss)
Next
ElseIf $LRUD = "R" Then
$schussx=$x
$desktopwidth=@DesktopWidth
For $desktopwidth=$desktopwidth To 0 Step -1
$schussx=$schussx+1
$schuss=GUICtrlCreatePic("Schuss.bmp",$schussx,$y+ 16,20,5)
If $schussx>$xgegner-16 And $schussx<$xgegner+32 And $y>$ygegner-32 And $y<$ygegner+64 Then
$lebenGegner=$lebenGegner-12.5
$schussx=$schussx+32
If $lebenGegner=0 Then
$blut=GUICtrlCreatePic("Blut.bmp",$xgegner-16,$ygegner-32,64,128)
$tot=1
EndIf
ElseIf $schussx>$xgegner2-16 And $schussx<$xgegner2+32 And $y>$ygegner2 And $y<$ygegner2+64 Then
$lebenGegner=$lebenGegner-12.5
$schussx=$schussx-32
If $lebenGegner=0 Then
$blut=GUICtrlCreatePic("Blut.bmp",$xgegner2-16,$ygegner2-32,64,128)
$tot2=1
EndIf
GUICtrlDelete($schuss)
ExitLoop
EndIf
GUICtrlDelete($schuss)
Next
ElseIf $LRUD = "" Then
$schussy=$y
$desktopheight=@DesktopHeight
For $y=$y To $desktopheight Step 1
$schussy=$schussy+1
$schuss=GUICtrlCreatePic("Schuss.bmp",$x+8,$schuss y,5,50)
If $schussy>$ygegner-32 And $schussy<$ygegner+64 And $x>$xgegner-16 And $x<$xgegner+32 Then
$lebenGegner=$lebenGegner-12.5
$schussy=$schussy+64
If $lebenGegner=0 Then
$blut=GUICtrlCreatePic("Blut.bmp",$xgegner-16,$ygegner-32,64,128)
$tot=1
EndIf
ElseIf $schussy>$ygegner2-32 And $schussy<$ygegner2+64 And $x>$xgegner2-16 And $x<$xgegner2+32 Then
$lebenGegner2=$lebenGegner2-12.5
$schussy=$schussy+64
If $lebenGegner2=0 Then
$blut=GUICtrlCreatePic("Blut.bmp",$xgegner2-16,$ygegner2-32,64,128)
$tot2=1
EndIf
GUICtrlDelete($schuss)
ExitLoop
EndIf
GUICtrlDelete($schuss)
Next
ElseIf $LRUD = "L" Then
$schussx=$x
For $i=0 To $x Step 1
$schussx=$schussx-1
$schuss=GUICtrlCreatePic("Schuss.bmp",$schussx,$y+ 16,20,5)
If $schussx>$xgegner And $schussx<$xgegner+32 And $y>$ygegner-32 And $y<$ygegner+64 Then
$lebenGegner=$lebenGegner-12.5
$schussx=$schussx-32
If $lebenGegner=0 Then
$blut=GUICtrlCreatePic("Blut.bmp",$xgegner-16,$ygegner-32,64,128)
$tot=1
EndIf
ElseIf $schussx>$xgegner2 And $schussx<$xgegner2+32 And $y>$ygegner2-32 And $y<$ygegner2+64 Then
$lebenGegner2=$lebenGegner2-12.5
$schussx=$schussx+32
If $lebenGegner2=0 Then
$blut=GUICtrlCreatePic("Blut.bmp",$xgegner2-16,$ygegner2-32,64,128)
$tot2=1
EndIf
GUICtrlDelete($schuss)
ExitLoop
EndIf
GUICtrlDelete($schuss)
Next
EndIf
EndIf
EndIf
;$left=""
;$right=""
;If _IsPressed(_StringToHex("S")) And _IsPressed(_StringToHex("a")) Then
; LEFTDOWN()
; $left="down"
;ElseIf _IsPressed(_StringToHex("S")) And _IsPressed(_StringToHex("D")) Then
; RIGHTDOWN()
; $right="down"
;EndIf
;If _IsPressed(_StringToHex("W")) And _IsPressed(_StringToHex("A")) Then
; LEFTUP()
; $left="up"
;EndIf
;If _IsPressed(_StringToHex("W")) And _IsPressed(_StringToHex("D")) Then
; RIGHTUP()
; $right="up"
;EndIf
EndFunc
Func _Char()
GUICtrlDelete($Player)
$Player=GUICtrlCreatePic("Player"&$LRUD&".bmp",$x, $y, 32,64)
EndFunc
Func _Zurueck()
$DW=@DesktopWidth-32
$DH=@DesktopHeight-94
$Null=0
If $xgegner > $DW Then
$xgegner=$DW
$lenght=1
ElseIf $ygegner > $DH Then
$ygegner=$DH
$lenght=1
ElseIf $xgegner < $Null Then
$xgegner=0
$lenght=1
ElseIf $ygegner < $Null Then
$ygegner=0
$lenght=1
EndIf
If $x > $DW Then
$x=$DW
ElseIf $y > $DH Then
$y=$DH
ElseIf $x < $Null Then
$x=0
ElseIf $y < $Null Then
$y=0
EndIf
EndFunc
habe mir mal ein 2D spiel gemacht mit guictrlcreatepic(.....) coordinaten berechen wenn folgende tasten gedrückt werden dann guictrldelete(...) dann guictrlcreatepic(.....) u.s.w! ist ganz einfach! mein kumpel hat das mit gdi+ gemacht ,was ich besser finde aber was der typ oben meint ist ein textspiel wo man was eingibt und so! bei minecraft gibs nen mod wo sowas ähnliches vorkommt! wenne willst geb ich dir source für meine 3D engine!
aha...
du hast also eine eine passende 3d-engine für ein textbasiertes 2d-rpg erstellt?....
Server Problem bitte helft Leute bitte brauche eure hilfe sauu dringen 07/18/2011 - Metin2 Private Server - 20 Replies Hi leute wenn man seinen server ya on bringt (ned das erste mal das ich ihn on bring) dann kommt am ende ya immer das operation timed out 7 mal aber jez steht da Operation reciefet 1000 mal der server startet so einfach ned was kann ich da maachen
HELFT MIR BITTE ENDLICH BITTE ICh FELE EUCH_ AB!! 06/24/2011 - Metin2 Private Server - 13 Replies hi leute ich habe dieses problem mit dem drachen bei den daroo sf ich gehe in skipadungen_02 dort mach ich die regen auf und füge den drachen ein in den drachenraum.
nur er ist ned da hab schon so viel versucht was ist das nur warum geht das ned
Bitte Helft mir bei einem Core error Bitte gibt auch THXs 01/08/2011 - Metin2 Private Server - 13 Replies hallo liebes epvp Team ich habe eine neue quest hochgeladen und noch die npc.txt von eiener map bearbeitet jetzt hab ich einen error hier der screen
http://mangekio-world3.dyndns.org/error.png
wie behebe ich diesen wollte gerade backups machen dann das !
und ich hab keine lust die ipfw ... neu zu installieren bitte helft mir !!!!