Kéne egy kis segítség... Készíttetem egy amatõr bénácska RPG-t, de vannak vele problémák. Tudom itt nincsenek DBP-sok, de ti még így is könnyebben megfogjátok érteni mint én.
Probléma 01:Nem tudok saját karaktereket megfelelõen beilleszteni a programba, kénytelen voltam kovkákat és gömböket kreálni helyettük.
Így kell beadni egy karaktert: ----------------------------------
Probléma 02:joystick használat, tudom, hogy kell rávenni a programot a joy használatára 2d-s hülyeségeknél mûködik is, de ha itt hozzáadom a programhoz az egész képernyõ ki kékül indításkor. Így kell használni: -----------------------------------
if joystick up()=1 then y=y-1 if joystick down()=1 then y=y+1 if joystick left()=1 then x=x-1 if joystick right()=1 then x=x+1 -----------------------------------
---------- A kód: ---------- ------------------------------------ Rem Project: RPG Rem Created: 2009.05.23. 12:46:25
Rem ***** Main Source File ***** REM RGBRPG, REM DarkBasicPro
Type Character Rage as Float Grace as Float Brains as Float MaxHP as Float HP as Float Money as Float Level as Float XP as Float Name as String Object as Integer EndType
Global Player as Character
Type Baddie Rage as Float Grace as Float Brains as Float HP as Float XPDrop as Integer MoneyDrop as Integer Name as String Object as Integer Endtype
Dim Enemies(10) as Baddie
global Fighting as Integer
sync on: sync rate 60 randomize timer()
FirstTimeThrough = 0 Player.Object = 1 Fighting = 0 global Loopy as integer global Attack as integer Loopy = 400 Global AttackName$ as String global DamageFloat as Integer global Combatant as Integer global damage as Integer global FloatTime as Integer
Do
if FirstTimeThrough = 0 NameCharacter() `asks player for a name, keeps it. StatCharacter() `creates random stats and either rerolls or keeps. GenerateBaddie() `Might work. MakeCube() `makes our player object, colours it etc. MakeWorld() `creates the floor plain, lights etc. MakeLevel() `generates the buildings/walls of our environment MakeFloater() `Make the plain that shows damage. FirstTimeThrough = 1 sync on endif
if Fighting =0 CubeMovement() `controls the movement of our cube character. WASD keys. Endif ThirdPerson() `positions the camera in a 3rd-person style position. DrawStats()
if Object Collision(1,0)>49 if Object Collision(1,0)<100 Combatant = Object Collision(1,0)-50 DrawBaddieStats() DoFight() endif endif
if Player.XP>100*Player.Level Level() endif
if DamageFloat>0 FloatTime=250 DamageFloat = 0 endif
DamageFloater()
Sync Loop
Function NameCharacter() sync off `Now, create our character. CLS Set Cursor 0,0 Input "Enter your cube's name:",Player.Name Print Print "Welcome ";Player.Name;" the Cube." Wait 1000 Endfunction
Function StatCharacter() do Cls Set Cursor 0,0 Print Player.Name;", press [R] to re-roll stats, or [Y] to accept stats." Print
`100 stat points initially. Previous method sometimes resulted in Brains=-1 (ironic, really) `So we've set a 'points left' and made sure each stat is always at least 1.
Player.HP=Player.Rage+Player.Grace+Player.Brains Player.MaxHP=Player.HP Player.Money=(Player.Brains+Player.Grace)*2 Player.Level=1 `Still not got a good name or system for assigning the main unit of 'barter'. Depends.
`Print out the stats - note, Rage, Grace, and Brains correspond to Red, Green and Blue `respectively. This will help people figure out the relative skills of an enemy, etc. Ink RGB(255,0,0),0 Print "(R)age: ";Player.Rage Ink RGB(0,255,0),0 Print "(G)race: ";Player.Grace Ink RGB(0,0,255),0 Print "(B)rains: ";Player.Brains Ink RGB(255,255,255),0 Print "Health: ";Player.HP;"/";Player.MaxHP Print "Monetary Units: ";Player.Money
Ink RGB(INT(Player.Rage),INT(Player.Grace),INT(Player.Brains)),0 Box 180,30,260,110 Ink RGB(255,255,255),0 `Let the player choose to keep the stats or re-roll.
Do a$=Lower$(Inkey$()) If a$="r" or a$="y" wait 300 Exit endif Loop
if a$="y" Then Exit loop Endfunction
Function MakeCube()
make object cube Player.Object,Player.HP/10 color object Player.Object, rgb(INT(Player.Rage),INT(Player.Grace),INT(Player.Brains)) color backdrop 0 make object collision box Player.Object,-7,-7,-7,7,7,7,0
EndFunction
Function MakeWorld()
autocam off make object plain 4,800,800 position object 4,0,0,0 rotate object 4,-90,0,0 color object 4,rgb(50,50,50) set object collision off 4
color ambient light rgb(20,20,20) autocam on
EndFunction
Function CubeMovement()
CubeAngle#= Object Angle Y(Player.Object) PosX#=Object Position X(Player.Object) PosY#=Object Position Y(Player.Object) PosZ#=Object Position Z(Player.Object)
If Keystate(17)=1 : `"W" key for forward. ` WKey = 1 CubeSpeed# = 1.5
Position Camera 0, Object Position X(Player.Object)-OffsetX#, CameraHeight , Object Position Z(Player.Object)-OffsetZ# Point Camera 0, Object Position X(Player.Object), Object Position Y(Player.Object)+15, Object Position Z(Player.Object)
EndFunction
Function MakeLevel()
make object box 5,100,20,20 make object collision box 5,-50,-10,-10,50,10,10,0 position object 5, 150,0,120
if Enemies(i).Rage>Enemies(i).Grace if Enemies(i).Rage>Enemies(i).Brains Enemies(i).Name="Bezerker Ball" else Enemies(i).Name="Brainy Ball" endif else if Enemies(i).Grace>Enemies(i).Brains Enemies(i).Name="Ninja Ball" else Enemies(i).Name="Brainy Ball" endif endif
Enemies(i).Object=50+i
Make Object Sphere Enemies(i).Object,(Enemies(i).HP)/6 Set Object Collision to Spheres Enemies(i).Object Set Object Collision on Enemies(i).Object
Position Object Enemies(i).Object,rnd(600)-300,Enemies(i).HP/12,rnd(600)-300 Color Object Enemies(i).Object,rgb(Enemies(i).Rage,Enemies(i).Grace,Enemies(i).Brains) next i
Endfunction
Function DrawStats()
set cursor 1,1 Print Player.Name," The Lv.",Player.Level," Cube"
ink rgb(255,0,0),0 set cursor 1,17 Print "Rage:" box 5,33,Player.Rage+5,43
ink rgb(0,255,0),0 set cursor 1,43 Print "Grace:" box 5,58,Player.Grace+5,68
ink rgb(0,0,255),0 set cursor 1,68 Print "Brains:" box 5,83,Player.Brains+5,93
ConSystemInk() center Text screen width()/2,screen height()-65,"Fight" ink rgb(255,255,255),0
BattleTimer()
CombatCamera()
If Keystate(2) = 1 :`Key 1 if Player.Rage>5 Attack = 1 AttackName$ = "Rage Frenzy" endif endif
If Keystate(4) = 1 :`Key 3 if Player.Grace>5 Attack = 2 AttackName$ = "Stealth Stab" endif endif
If Keystate(7) = 1 :`Key 6 if Player.Brains>40 Attack = 3 AttackName$ = "Emotional Vampirism" endif endif
if Keystate(6) = 1 :`Key 5 if Player.Brains>5 Attack = 4 AttackName$ = "Mind Heal" endif endif
if Keystate(5) = 1 :`Key 4 if Player.Grace>40 Attack = 5 AttackName$ = "Reactive Momentum" endif endif
if Keystate(3) = 1 :`Key 2 if Player.Rage>40 Attack = 6 AttackName$ = "All Or Nothing" endif endif
if Attack > 0 ink 0,0 center Text screen width()/2,screen height()-45,AttackName$ ink rgb(255,255,255),0 endif
if Loopy=0 if Attack>0 if object exist(Object Collision(1,0)) eneX=Object Position X(Enemies(Object Collision(1,0)-50).Object) eneY=Object Position Y(Enemies(Object Collision(1,0)-50).Object) eneZ=Object Position Z(Enemies(Object Collision(1,0)-50).Object) endif DamageBaddie() endif endif
if DamageFloat=500 show object 300 position object 300,eneX,eneY+5,eneZ point object 300,camera position X(),camera position Y(),camera position Z() DamageFloat=499 endif
If Attack = 1 damage = Player.Rage Enemies(BaddieID).HP = Enemies(BaddieID).HP - damage set cursor screen width()/2,screen height()/2 endif
If Attack = 2 damage = (Player.Grace/2)*rnd(3) if damage <1 then damage=1 Enemies(BaddieID).HP = Enemies(BaddieID).HP - damage set cursor screen width()/2,screen height()/2 endif
If Attack = 3 damage =(Player.Brains)/1.5 if damage <1 then damage=1 Enemies(BaddieID).HP = Enemies(BaddieID).HP - damage Player.HP=Player.HP+damage if Player.HP>Player.MaxHP then Player.HP=Player.MaxHP set cursor screen width()/2,screen height()/2 endif
if Attack = 4 damage = 1 Player.HP = Player.HP + (Player.Brains*2) if Player.HP>Player.MaxHP Player.HP=Player.MaxHP endif endif
create bitmap 1,32,32 set current bitmap 0 make object plain 300,10,10 set object 300,1,1,0,1,0 hide object 300
EndFunction
Function TextureFloater()
set current bitmap 1 ink 0,0 box 0,0,32,32 ink rgb(128,0,0),0 circle 16,16,10 circle 16,16,9 ink rgb(255,0,0),0 center text 17,9,STR$(damage) ink rgb(255,255,255),0 get image 400,0,0,32,32 set current bitmap 0 texture object 300,400
EndFunction
Function DamageFloater()
if FloatTime > 0 a = object position x(300) b# = object position y(300)+0.3 c = object position z(300)
position object 300,a,b#,c point object 300,camera position X(),camera position Y(),camera position Z() FloatTime = FloatTime-1
endif
if FloatTime = 0 Hide Object 300 endif
EndFunction
---------------------------------------
Persze, mert csak 3D shooterek vannak a világon, annyira unom már, hogy az összes Magyar PC buzi FPS-t akar csinálni...
már megoldodott már csak egy magyar oktato leirás kellene hogy hogyan kezdjek neki.
Siasztok! Segitségre lenne szügségem megvan a darkbasicpro,de a telepités után kéri hogy tegyem be a lemezt és hiába teszem be a daemont toolsba mindig a valos meghajton keresi és igy nem indul el.Ez is valamilyen védelemmel van ellátva vagy van hozzá crack?
a dark basic 3d gyorsabb vagy a truevision3d visual basicben?????? ugyértem játék futtatásnál
Valaki küldje már el nekem a Delta Force Task Force Dagger telepítõkódját,mert a www.serials.ws oldal vírusos és nem tudtam letölteni!
Hello Mi az az e-donkey?
Ja és berdi probálkozz e-donkeyn de ezt nem én mondtam :)
Hát a Dark Basic Pro az enyhén durvább mint a sima kezeli a DX 9-et és amit azzal lehet csinálni közel van a mostani játékokhoz még le is szárnyal egy párat a tudádából és ezt onnan tudom h nekem is megvan :)
Hello Meg tudnátok mondani honnan szerezhetném meg a Dark Basicot?
dehogynem adtak csak az ma már nem számít profi grafikájúnak Ph03niXx:ajánlom a darkedit-et vagy a professionalt.
SZVSZ elég elfogadható teljesítményt nyújt. Sajnálom, hogy a kezelõfelülete olyan amilyen, egy ilyen progit máshogy is be lehetne csomagolni... De azért jó.
"de az igez hogy profi 3d shootert vagy valami komolyabb jatekot nem lehet vele csinalni mert pl csak directx 6-os."
Mer, a DX 6.0 koraban nem adtak ki eleg sok profi shootert, ami hasznalta?
#8: kezdetben 10x annyit szenvedsz vele, a grafika feleannyira lesz jó. Értem... Nem professzionális felhasználásra tervezték, tehát a DB-zõk nem pénzért fejlesztenek nagy projekteket 2-3 évig.
Nem click'n'play játékfejlesztõ program hülye gémergyerekeknek, hanem egy programnyelv (semmi objektumorientáltság, Qbasic irányvonal). A sima dark basic dx7-es, a Dark basic pro dx9-es. Ez támogat egy adag effektet: bump mapping, mindenfajta shader, árnyékok, lehet animált textúrát csinálni, de kamerát is be lehet állítani textúrának. Eladható játékot lehet benne összehozni (persze nem kell csúcs grafikára számítani, kb Q3 szinten van a motor. Ja, támogatja a külsõ dll-eket is.
azer nem egy click&create szarsag, mert szovegesen kell megirni a jatekot. de az igez hogy profi 3d shootert vagy valami komolyabb jatekot nem lehet vele csinalni mert pl csak directx 6-os. esetleg a proval.
Egyetertek, de inkabb c/c++ :^) Egyebkent ez a DB nekem egy amolyan click'ncreate szarsagnak tunik, egyszerubb jatekokat csinalhatsz vele, de egy profi 3D shootert soha. A Myst-et is valami ilyensmivel csinaltak mintha...
Mi az a darkbasic? A DarkBASIC egy könnyen kezelhetõ, 3D alkalmazások készítésére is alkalmas basic programnyelv. A parancsok mûködése teljesen magától értetõdõ, használatához nincs szükség programozói ismeretekre. Bõvebb információkért látogass el az ajánlott oldalak valamelyikére!
Magyar DarkBasic Játékfejlesztõcsapatok diedesign dremphex -------------------------------------------------------- Aki még tud , ugyanebben a formában írja be!
Sziasztok!Ugy láttam ilyen topic még nincs! Há legyen! :) Dark Basic Topic Saját illetve más oldalakról való tutorialok,forráskódok! MAGYARDB Fejlesztõcsapatok munkái,honlapjai! ÉS MINDEN AMI DARK BASIC!!!!