WB Tutorial Questions

Discussion in 'General Modification' started by Ranth, Jan 17, 2009.

Remove all ads!
  1. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    I understand that part, but what if I want to code my own effect? Say... a sword that causes confusion to a target on hit.
     
  2. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,655
    Likes Received:
    352
    Well you may as well say, "but what if I want to add Githyanki with full psionics!" There are certain bonuses (boni?) that can be given to weapons - Frost, Fragarach, Flaming, other things not starting with 'f'. If you want to 'code your own effect' you have to:

    - disassemble Temple.dll
    - write new code
    - reassemble same

    Good luck with that :)
     
  3. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    Fair enough. Thanks
     
  4. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    Ahhh, I have been working on this problem for hours now. I dont know what is wrong, it was working last night. I load a zone, a spawner spawns some mobs, they appear, and one of them is supposed to talk to me. He doesn't start dialogue, but he does a generic 'Hi There' or 'Can I help you' thing over his head.

    The end of the spawner script looks like this:
    Code:
    	wakefield.turn_towards(burne)
    
    	leader.begin_dialog( wakefield, 100)	
    
    	return
    Since I get the generic response from wakefield, the game is recognizing the dialogue command. But then it seems like Wakefield gets stuck in an endless loop, since when I walk up to him and click him he doesn't begin dialogue.

    Things I have tried:
    1) Script file and DLG are named the same and correctly
    2) Wakefields san_dialogue proto calls the correct file
    3) Wakefield has a 100 line in his DLG and has the correct form

    Are there any other things I need to check for?

    Update: If I start attacking Wakefield he does not fight back. This is similiar to the leader archer situation in the Strategy.tab thread from a couple days ago. I thought that was sloved by adding the return to the end of the function, but I have one here and facing the same problem.

    Ted do you know what return SKIP_DEFAULT and return RUN_DEFAULT do?

    Solved: I had the numbering wrong on a couple of file names. I had 2 454 files.
     
    Last edited: Feb 1, 2009
  5. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,655
    Likes Received:
    352
    Glad I coould help :)

    (SKIP_DEFAULT and RUN_DEFAULT do different things for each script attachment type thing. Generally speaking use whatever one the game normally does: failing to include return RUN_DEFAULT on a heartbeat script, for instance, will break it. There are very few situations where both are relevant and swapping between them will be effective - san_will_KOS comes to mind, not many others).
     
  6. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    Ted do you have a script you can give me that initiates dialogue with anyone in the group? I have this:

    Code:
    	leader = game.party[0]
    
    	npc = game.obj_create(14000, random_location( 522, 453, 5))
    	npc.turn_towards(leader)
    	
    	leader.begin_dialog(npc, 90)
    
    	return
    Which works great for normal situations, but right after a fight in which the leader dies it wont work. Do you use any scripts to avoid this situation? If not, do you know an if statement to check if the PC is dead?
     
  7. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,655
    Likes Received:
    352
    Yeah, thats a good point. There's a few of those in KotB that need sorting out. Generally, starting with the leader is a good idea, since people WANT you talking with their face character, but a backup is good too. Have a look at the thing I posted in post #5 above: it does all that, complete with a little command called

    if (is_better_to_talk(attachee,game.party[0])):

    which I'd never seen before but seems custom made for this stuff :) Otherwise, it goes on to the nearest PC.
     
  8. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    Back to the idea of importing objects in game, to change artwork/sectoring (ala the throne or cave idea).

    If I import an object picture, lets make it a wagon or something, is it possible for different areas around the wagon to be walkable and other areas not to be walkable?

    This way when a global flag triggers the fairly large square of wagon art +ground appears, can I make it so certain areas of the object are not walkable (the wagon) while other parts of the object are (the art surrounding the wagon which is part of the object art)? Or is it more of a 'The whole object is walkable over or none of it is' type thing?
     
  9. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,655
    Likes Received:
    352
    I'd say the latter: the game tends to work in terms of 'radius' of objects. If the former can be done, I don't know how.
     
  10. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    I broke my mod :confused:

    When I load the mod now, it CTD's right before the movie. I believe it starts the 'Initializing the object system' part of the load screen and then CTD's. Has this ever happened to you? Do you remember what you did to make it happen?

    I haven't made any new maps or anything. I think I made some new weapons and a new prototype... hmm

    Update: Fixed it by deleting the prototype and new weapons... not sure why they made it CTD... Will it CTD if I give feats to a class that is not supposed to have those feats... like Weapon Specialization to a Ranger (since it is a fighter only feat?)

    Update 2: The weapon feat problem/class issue seemed to fix my problem.
     
    Last edited: Feb 2, 2009
  11. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,655
    Likes Received:
    352
    Misspelling a feat will certainly do it - I doubt giving it to the wrong class will. I could be wrong, but you can give any old feat to a monster.
     
  12. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    It wasn't misspelled since I always use the feats built into WB... it must have been the class thing (unless WB has a misspelling).
     
  13. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    Ted, I am having issues sectoring a map. I followed your tutorial PDF instructions but I get an error when I do blk_on(). You can see the transcript below... I know I have ed.py imported since I used the tp() function to teleport to my map.

    I do the blk_on(), it tells me to start painting, then it comes all of these lines of errors. Furthermore, when I do blk_off() it tells me it stops painting, but there are no files in the sector folder. The errors are on the JPG attachment.

    This is a copy of the moathouse exit map with some wagons on it. I took all of the files from ToEE/maps/Moathouse-exit/ over to the new folder (SEC, CGF,CIF,COL,LIT,GMF,GMI,PRP files). Though I did hex edit the PRP file to map it work.

    I notice that if I try to load the zone with only the PRP file in the folder, the map comes up black (despite the artwork being in the correct folder). So I cannot delete these files (as far as I know).

    Any ideas why I am getting these errors and it wont sector?
     

    Attached Files:

  14. Ranth

    Ranth Established Member

    Joined:
    Jan 26, 2008
    Messages:
    829
    Likes Received:
    0
    Furthermore, how do I get the location of an npc? This doesnt seem to work. Any recommendations?

    Code:
    	loc = location_to_axis(attachee) #Get Location of Attachee
    
     
  15. GuardianAngel82

    GuardianAngel82 Senior Member

    Joined:
    Oct 3, 2007
    Messages:
    3,481
    Likes Received:
    5
    Did you "From * import loc" in the console first?
     
Our Host!