View Full Version: How to integrate basic objects in IVAN - Course description

ivan >>Programming >>How to integrate basic objects in IVAN - Course description


<< Prev | Next >>

holybanana- 09-02-2006

I recommend you put your terrain to the type solidterrain instead of glterrain, like was done in the lecture. The latter is too abstract, it doesn't even have flags that determine whether creatures can walk on it. The older and simpler the program, the better it is usually for editing pcx. I use a very old PSP6. Juhani Kahvi uses GIMP or a yet older extremely good old dos program using an emulator. (I don't remember the name, Dospaint or something?) I have also made an own program called IGOR (Ivan Graphics editOR) which is especially designed for choosing a 16x16 tile from a pcx file, altering their material colors and showing them over each other. The latter is very important when assembling humanoids from limb, torso and head pictures. If you have access to the CVS repository, you can download IVAN source there and compile IGOR yourself, it's in the subdirectory igor. I also precompiled an exe for Windows users here: http://ivan.sourceforge.net/igor/IgorWin1203.zip Unzip it to your IVAN directory. When it asks for graphics directory, enter "graphics".

Freelance Berzerker- 09-02-2006

HB, Thanks a lot for the tip. I'll see if I can download one of these programs, and then get to work on your other classes. EDIT: HB, I unzipped IGOR to the Ivan directory, and got the following error message after entering "graphics" like you said: Bitmap graphics/Font.pcx not found! I then moved the IGOR folder to the "Graphics" folder and got the same error message. Next I cut and pasted all the IGOR files out of its folder and directly into the Graphics folder but still got the same message.

Freelance Berzerker- 09-02-2006
Homework for Lesson 2
I buffed my starting character pretty good, but was unable to get mistress(QUEEN) to show in neither the first dungeon nor in town. When I put in Monster = Team, the game crashed, so I took it out. Then I changed GenerateMonsters = false to "true," but this only created an unknown exception, so I returned this to its original value. I'm not sure what teh problem is. In dungeon.dat: Level 0; { FillSquare = solidterrain(GROUND), MORAINE earth; RoomDefault { Pos = 2:XSize-5,2:YSize-5; WallSquare = solidterrain(GROUND), FIR_WOOD wall(BRICK_OLD); FloorSquare = solidterrain(SPIKE_TERRAIN), 0; DoorSquare = solidterrain(SPIKE_TERRAIN), FIR_WOOD door; } } Experiment in instantiation (also in dungeon.dat): Square, Random; { Character = mistress(QUEEN); } Messing with Sherarax's Equipment in char.dat: Config QUEEN; { HairColor = rgb16(35, 35, 35); AttributeBonus = 60; BodyArmor = ANGEL_HAIR bodyarmor(PLATE_MAIL) { Enchantment = 4; } Amulet = amulet(AMULET_OF_LIFE_SAVING); Cloak = SPIDER_SILK cloak { Enchantment = 4; } Belt = DRAGON_HIDE belt { Enchantment = 4; } RightGauntlet = PHOENIX_FEATHER gauntlet(GAUNTLET_OF_DEXTERITY) { Enchantment = 4; } RightRing = ring(RING_OF_TELEPORT_CONTROL); LeftRing = ring(RING_OF_TELEPORTATION); RightBoot = DRAGON_HIDE boot(BOOT_OF_KICKING) { Enchantment = 4; } RightWielded = GLASS RUBY meleeweapon(LONG_SWORD) { Chance = 90; } LeftWielded = RUBY GLASS meleeweapon(LONG_SWORD) { Chance = 90; } Homework given by Holybanana for outfitting starting character with custom equipment: In char.dat: playerkind { DefaultArmStrength = 10; DefaultLegStrength = 10; DefaultDexterity = 10; DefaultAgility = 10; DefaultEndurance = 10; DefaultPerception = 10; DefaultIntelligence = 10; DefaultWisdom = 10; DefaultCharisma = 10; DefaultMana = 10; DefaultMoney = 45; TorsoBitmapPos = 32, 416; LegBitmapPos = 0, 416; TotalVolume = 80000; TotalSize = 175; CanRead = true; NameSingular = "human"; AttachedGod = SEGES; DisplacePriority = 2; Inventory == amulet(AMULET_OF_LIFE_SAVING) { Times = BONUS_LIVES; } BodyArmor = VALPURIUM bodyarmor(PLATE_MAIL) { Enchantment = 50; } Cloak = VALPURIUM cloak(CLOAK_OF_ELECTRICITY_RESISTANCE) { Enchantment = 50; } Belt = VALPURIUM belt { Enchantment = 50; } RightWielded = justifier; LeftWielded = justifier; RightGauntlet = VALPURIUM gauntlet(GAUNTLET_OF_STRENGTH) { Enchantment = 50; } RightRing = ring(RING_OF_FIRE_RESISTANCE); LeftRing = ring(RING_OF_POISON_RESISTANCE); RightBoot = PHOENIX_FEATHER boot(BOOT_OF_AGILITY) { Enchantment = 50; } } in dungeon.dat (in New Attnam): Square, Random NOT_IN_ROOM; { Character = mistress(QUEEN); }

holybanana- 09-03-2006

You seem to have made an own folder for IGOR inside the IVAN folder. This does not work. Unzip IGOR.exe to the IVAN folder, so IVAN folder has both IGOR.exe and a folder Graphics. If you still can't get it to work, enter the full path of your graphics folder, for instance c:\games\ivan050\graphics, when asked. Use the code tags when copypasting code in the forum, like this: Level 0; { FillSquare = solidterrain(GROUND), MORAINE earth; RoomDefault { Pos = 2:XSize-5,2:YSize-5; WallSquare = solidterrain(GROUND), FIR_WOOD wall(BRICK_OLD); FloorSquare = solidterrain(SPIKE_TERRAIN), 0; DoorSquare = solidterrain(SPIKE_TERRAIN), FIR_WOOD door; } } Square, Random; { Character = mistress(QUEEN); } And use intendation, like this: Level 0; { FillSquare = solidterrain(GROUND), MORAINE earth; RoomDefault { Pos = 2:XSize-5,2:YSize-5; WallSquare = solidterrain(GROUND), FIR_WOOD wall(BRICK_OLD); FloorSquare = solidterrain(SPIKE_TERRAIN), 0; DoorSquare = solidterrain(SPIKE_TERRAIN), FIR_WOOD door; } } Square, Random; { Character = mistress(QUEEN); } Here's an error. I said this way: Square, Random works if you put it inside the definition of Level 0 above. So write like this: Level 0; { FillSquare = solidterrain(GROUND), MORAINE earth; RoomDefault { Pos = 2:XSize-5,2:YSize-5; WallSquare = solidterrain(GROUND), FIR_WOOD wall(BRICK_OLD); FloorSquare = solidterrain(SPIKE_TERRAIN), 0; DoorSquare = solidterrain(SPIKE_TERRAIN), FIR_WOOD door; } Square, Random; { Character = mistress(QUEEN); } } Then I said set her Team to MONSTER_TEAM. I meant Team is a parameter of the instantiation, just like Chance. You could've also have searched for "Team" in dungeon.dat and continue searching until you find an example where Team is set for some monster. Remember that the first rule of all coding and scripting is Learn thy copypaste.

Freelance Berzerker- 09-03-2006

HB, Thanks for the great tips. Here is my revised code for New Attnam: Dungeon NEW_ATTNAM; { Levels = 2; Level 0; { LevelMessage = "You hear someone shouting: \"Faster! Faster! The Empire wants yer bananas!\""; Description = "New Attnam"; ShortDescription = "New Attnam"; FillSquare = solidterrain(GRASS_TERRAIN), 0; Size = 55, 55; GenerateMonsters = false; Rooms = 6:10; Items = 0; IsOnGround = true; TeamDefault = NEW_ATTNAM_TEAM; LOSModifier = 48; IgnoreDefaultSpecialSquares = false; AutoReveal = true; CanGenerateBone = false; DifficultyBase = 50; DifficultyDelta = 0; EnchantmentMinusChanceBase = -15; EnchantmentMinusChanceDelta = 0; EnchantmentPlusChanceBase = 0; EnchantmentPlusChanceDelta = 0; BackGroundType = GREEN_FRACTAL; RoomDefault { Pos = 2:36,2:36; Size = 4:6,4:6; AltarPossible = false; WallSquare = solidterrain(GRASS_TERRAIN), wall(BRICK_PRIMITIVE); FloorSquare = solidterrain(GRASS_TERRAIN), 0; DoorSquare = solidterrain(GRASS_TERRAIN), BALSA_WOOD door; GenerateDoor = true; DivineMaster = 0; GenerateTunnel = false; GenerateLanterns = false; Type = ROOM_NORMAL; GenerateFountains = false; AllowLockedDoors = false; AllowBoobyTrappedDoors = false; Shape = ROUND_CORNERS; IsInside = true; GenerateWindows = true; UseFillSquareWalls = false; Flags = 0; } Square, Random; { Character = mistress(QUEEN) { Team = 1; } } Here is proof of Sherarax showing up and my having killed her with a character with over-the-top equipment. I was quite happy that my custom equipment for Sherarax ended up working: Thank you again for your help.

Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.