Miloch Posted September 26, 2010 Share Posted September 26, 2010 'Cast-and-attack' script is from SCSII, I presume?It's an ancient technique - see Sim's scripting guide. There's also some crude examples from when I was first learning to script. Like I said, it's so the caster can throw daggers or whatever in between prepping spells (because alacrity/no delay = cheese ). It wouldn't surprise me if you've inadvertently got some effect that blocks spells (not just level 1 perhaps) or some high magic resistance that doesn't get bypassed (though it should usually) or something odd like that. Check your effects carefully and if you can't find anything, try running the script on a normal human with no special items or effects. Also, put some DisplayStrings in the block like I said, so you can tell whether it's firing or not. I have also found that certain creature types just can't cast spells, at least not normally. Might be hardcoded to race or animation slots or something. Link to comment
Aliya Posted September 26, 2010 Author Share Posted September 26, 2010 Gee, I even made the RES spells commands. IF Allegiance(Myself,NEUTRAL) Global("Begin","LOCALS",0) See([PC]) THEN RESPONSE #100 Enemy() SetGlobal("Begin","LOCALS",1) END IF Global("Begin","LOCALS",1) Global("Chain","LOCALS",0) See(NearestEnemyOf(Myself)) HaveSpellRES("SPWI408") HaveSpellRES("SPWI602") HaveSpellRES("SPWI611") HaveSpellRES("SPWI701") HaveSpellRES("SPWI606") THEN RESPONSE #100 DisplayString(Myself,8292) // Contingency Active SpellRES("Myself","SPWI408") SpellRES("Myself","SPWI602") SpellRES("Myself","SPWI611") SpellRES("Myself","SPWI701") SpellRES("Myself","SPWI606") SetGlobalTimer("ProtDown","LOCALS",FOUR_ROUNDS) SetGlobalTimer("Trigger","LOCALS",SIX_ROUNDS) SetGlobal("Begin","LOCALS",2) SetGlobal("Chain","LOCALS",1) END I made a second (duplication) creature without any effects at all. Miloch, the anwer to your question - yep there's the display string in general box. But my reaction was - 'The string exists but where the HELL is the result.?' I mean, c'mon it's in one script block. EDIT: Woah, we're getting somewhere: still no buffs even with RES version, but he casts other blocks. 2nd EDIT: Hmmm... Upon further investigation I realized that only 'short' (ReallyForce) spellcasting doesn't work. Spell and SpellDec work fine on itself. Maybe, if I don't find a solution I'll just stick to upgrading items. Link to comment
Miloch Posted September 26, 2010 Share Posted September 26, 2010 Miloch, the anwer to your questionI don't think I was asking a question - was just giving some recommendations. There should be no reason to use SpellRES over Spell though, unless you need to (i.e. if there's no 'spwi' prefix or whatever, but there is here).I realized that only 'short' (ReallyForce) spellcasting doesn't work.Like the IESDP says, those may be unreliable. Did you try force-joining it to see what it's affected by? Link to comment
Aliya Posted September 26, 2010 Author Share Posted September 26, 2010 Jesus, I need a break... I think I coded correctly: He doesn't bre-buff with those ApllySpells; he casts them in a time stop. Ultra cheesiness. Yay. Note that he has only 2 IA memorised... hehe... IF Allegiance(Myself,NEUTRAL) Global("Begin","LOCALS",0) See([PC]) THEN RESPONSE #100 Enemy() SetGlobal("Begin","LOCALS",1) END IF Global("Begin","LOCALS",1) Global("Chain","LOCALS",0) See(NearestEnemyOf(Myself)) THEN RESPONSE #100 SetGlobalTimer("ProtDown","LOCALS",FOUR_ROUNDS) SetGlobal("Begin","LOCALS",2) SetGlobal("Chain","LOCALS",1) SpellNoDec(Myself,WIZARD_ENERGY_BLADES) AttackOneRound(LastSeenBy(Myself)) END IF Global("Chain","LOCALS",1) See(NearestEnemyOf(Myself)) HaveSpell(WIZARD_ANIMATE_DEAD) HaveSpell(WIZARD_SUMMON_NISHRUU) HaveSpell(WIZARD_IMPROVED_ALUCRITY) THEN RESPONSE #100 ForceSpell(Myself,WIZARD_TIME_STOP) Spell(Myself,WIZARD_IMPROVED_ALUCRITY) Spell(Myself,WIZARD_ANIMATE_DEAD) Spell(Myself,WIZARD_ANIMATE_DEAD) Spell(Myself,WIZARD_SUMMON_NISHRUU) SetGlobal("Chain","LOCALS",2) END IF See(NearestEnemyOf(Myself)) HaveSpell(WIZARD_DRAGONS_BREATH) HaveSpell(WIZARD_MIRROR_IMAGE) Global("Draggy","LOCALS",0) Allegiance(Myself,ENEMY) THEN RESPONSE #100 SpellNoDec(Myself,WIZARD_CARRION) Spell(NearestEnemyOf(Myself),WIZARD_DRAGONS_BREATH) Spell(Myself,WIZARD_MIRROR_IMAGE) SetGlobal("Draggy","LOCALS",1) END Anyway, everything going fine. Thanks for your help! Link to comment
Aliya Posted October 1, 2010 Author Share Posted October 1, 2010 This forum seems pretty fast in dealing with these questions! I just wanna ask some more questions, relevant to our little discussion. 1. I want to code a creature, like that, in Ascension, that if Imprisoned, the other [ALLY] will release it via Freedom, like that. Although, I don't if SpellCastOnMe trigger is reliable - there's nothing written in IESDP. IF SpellCastOnMe([ANYTHING],WIZARD_IMPRISONMENT) Global("Imprisoned","LOCALS",0) THEN RESPONSE #100 SetGlobal("Imprisoned","LOCALS",1) END IF See("Er#Vamp") Global("Er#PrisonAkshi","GLOBAL",0) Global("Imprisoned","LOCALS",1) THEN RESPONSE #100 ClearAllActions() SetInterrupt(FALSE) DisplayStringHead(Myself,1468) // Ahh, no! Help! SetGlobal("Er#PrisonAkshi","GLOBAL",1) SetGlobal("Imprisoned","LOCALS",2) SetInterrupt(TRUE) END The release looks like this. IF GlobalTimerNotExpired("castnattack","LOCALS") See(NearestEnemyOf(Myself)) Global("Er#PrisonAkshi","GLOBAL",1) THEN RESPONSE #100 ForceSpell(Myself,WIZARD_FREEDOM) SetGlobal("Er#PrisonAkshi","GLOBAL",0) END I can almost imagine him saying, "Gods, do I need to save your butt every time?" Link to comment
Miloch Posted October 2, 2010 Share Posted October 2, 2010 Although, I don't if SpellCastOnMe trigger is reliable - there's nothing written in IESDP.Well the only thing is to test it I guess. Normally you'd probably do something like that via StateCheck() or CheckStat() but I see no entry in state.ids or stat.ids for imprisonment (there may be in Detectable Stats but I don't know if you want to mess with that). Link to comment
Aliya Posted October 2, 2010 Author Share Posted October 2, 2010 Psst... I tried to stay focused to the Ascension script. IF Global("IMPRISON","LOCALS",1) Global("SendaiImprisoned","AR6200",0) THEN RESPONSE #100 ClearActions(Myself) SetInterrupt(FALSE) SetGlobal("IMPRISON","LOCALS",0) SetGlobal("SendaiImprisoned","AR6200",1) DisplayStringHead(Myself,46151) // help! SetInterrupt(TRUE) END IF OR(6) Dead("finilla") // Illasera Dead("finabaz") // Abazigal Dead("finyaga") // Yaga-Shura Dead("finbalth") // Balthazar Dead("fingrom") // Gromnir Il-Khan Dead("finsarev") // Sarevok Global("IMPRISON","GLOBAL",1) HasItem("SDScrl3",Myself) // Freedom !GlobalTimerNotExpired("Spell","LOCALS") THEN RESPONSE #100 SetInterrupt(FALSE) SetGlobalTimer("Spell","LOCALS",ONE_ROUND) DisplayStringHead(Myself,46153) // uses a scroll UseItem("SDScrl3",Myself) // Freedom SetGlobal("IMPRISON","GLOBAL",0) SetGlobal("IllaseraImprisoned","AR6200",0) SetGlobal("AbazigalImprisoned","AR6200",0) SetGlobal("YagaImprisoned","AR6200",0) SetGlobal("BalthImprisoned","AR6200",0) SetGlobal("GromnirImprisoned","AR6200",0) SetGlobal("SarevokImprisoned","AR6200",0) SetInterrupt(TRUE) END Link to comment
Aliya Posted October 6, 2010 Author Share Posted October 6, 2010 Okay, I'm pretty sure with scripts now to the items... (The dialog coding I'm leaving on desert) So I downloaded IEEP from CoM and got to start it. Everything goes smoothly until... 'There has been an error occurred in the program. The specific information for this error as it follows: Permission denied at Dialog_Write.12.' Jesus, I don't get it with all those error, and plus I don't want to scrap the whole game. I know I could ask it at CoM, but I'm lazy to register there, and besides tis too dark in there. Link to comment
CoM_Solaufein Posted October 6, 2010 Share Posted October 6, 2010 It sounds like you have another editor running in the background. Never use more than one editor at a time to edit the dialog.tlk file. Very bad things can happen. I know that from experience. Link to comment
Avenger Posted October 6, 2010 Share Posted October 6, 2010 Yeah, it is one of the easiest ways to screw your game Link to comment
Aliya Posted October 7, 2010 Author Share Posted October 7, 2010 Wow, guys thanks! It actually worked, and I feel like a noob now. Heck, why do I have the feeling when I'm a noob anyway? Bams are pain for sure. Ipsi said that they need to be on green background (0000FF) right? Why I still have this strange green background in-game? And the coordinates of the center is all wrong. Link to comment
CoM_Solaufein Posted October 7, 2010 Share Posted October 7, 2010 I don't know anything about graphics but you should check out the various tutorials using BamWorkshop like these tutorials. Link to comment
Aliya Posted October 8, 2010 Author Share Posted October 8, 2010 It seems that after reading these tutorials and following them made my .bams corrupted. (NI doesn't want to read them.) I altered only one description and one inventory .bam: 1. For inv one I did Seq1/Fr1 another frame with 32x32. 2. First Seq0/Fr0 is 64x64 with main painting centered. 3. I did (Red0/Blue151/Green 151) transparent background. (Shift+V) for both. Mainly, I did follow them but it seems it didn't help. Oh, my God I didn't backup the working bams... EDIT: 3 minutes later - even Bambatch doesn't read them now. 2nd EDIT: Step Five....Go all the way to the upper right hand side of the screen and click Frames. If this is a ground BAM then put in for Horizontal 27, and for Vertical 24. If this is for a Description BAM then put in for Horizontal 80, and for Vertical put in 112. If this is for an Inventory BAM then leave this blank. Where? I searched the whole frame column and didn't find anything similar. Link to comment
Miloch Posted October 10, 2010 Share Posted October 10, 2010 Where? I searched the whole frame column and didn't find anything similar.Use BAM Workshop 1 not 2 (if you go to Help < About, it's the one by Glenn Flansburg). It looks like the one in this tutorial. When you click on the Frames tab on the right (not Sequences) you can set your horizontal and vertical coordinates. But first, follow the instructions here to make sure your palette doesn't get hosed. Link to comment
Aliya Posted November 2, 2010 Author Share Posted November 2, 2010 Hmmm... Seems to be I ran in some sort of problem, I don't really know how to fix. I was testing the battle again (too many times) and, despite that script worked *marvelously* yesterday, today they just don't. True, I've changed some of them and added 'Immunity to effect' to the 'effects' list via NI. In-game, the encounter proceeds as a constant game of tag (attacking player1, ignoring other running scripts, Suspect that something returns false and 'corrupts' others). But I didn't do anything crucial, I'm almost certain of it. I deleted the effects and new scripts blocks, but he still attacks without even ForceSpelling a PFMW as the script orders. True, the whole script consists of ~1300 lines and not everything fires at time. Miloch, can you help? I can show you whole BCS. and CRE. (including two new ITMs). Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.