Jump to content

Scripting (?) question


Povuholo

Recommended Posts

The script you're looking for is TribunalMain:

 

Begin TribunalMain

;check for teleporting
if ( GetPCCell "Sotha Sil," == 1 )
   DisableTeleporting
else
   EnableTeleporting
endif

;check levitate
if ( GetPCCell "Sotha Sil," == 1 )
   DisableLevitation
elseif ( GetPCCell "Mournhold" == 1 )
   DisableLevitation
else
   EnableLevitation
endif


end

Link to comment
Share on other sites

Thanks. But where do i need to attach it to? I changed the cell name to my interior cell, but i can still levitate. The script works, it gives no error message. But in game, levitation is still possobile
Link to comment
Share on other sites

The easiest way i know of is to attach it to the the door going in to the cell.

 

Begin NoLevitate

if ( OnActivate == 1 )

if ( GetPCCell "YOUR CAVE CELL" == 1 )
DisableLevitation

else
EnableLevitation

endif

Activate

endif

End

 

if you have more then one door attach the script to each door going in., NOT the doors in the cell but the doors leading to the cell.

 

If that doesn't work then use a startscript command on the door.

begin 
if ( OnActivate == 1 )
startscript nolevitate
endif
activate
end

 

begin nolevitate
if ( GetPCCell "YOUR CAVE CELL" == 1 )
DisableLevitation

else
EnableLevitation
end

Link to comment
Share on other sites

Woodman's scripts just plain won't work -- in fact, they're utterly grotesque. The best solution here is to avoid EnableLevitation and DisableLevitation altogether. Make this a startscript:

 

begin "nolev.ssc"

if ( getpccell "MY DUNGEONN OF MISTERIES!!!111!One1" )
       if ( player->geteffect seffectlevitate )
               messagebox "OMG LEVITATION DOESENT WERK HERE U STUPIOD!!!!!111!"
               player->removeeffects 10
       endif
endif

end

 

If you absolutely have to use DisableLevitation, then you'll need to change TribunalMain, and thus you'll need something to take care of the conflicts that will inevitably result; TribunalMain is a script that is edited very often in plugins.

Link to comment
Share on other sites

Not arguing that my scripts don't suck, but the disabling is exactly cut and paste from the tribunal script you suggested, and the door activator startscript is exactly what is used in metal queens boutique. The firstone i see why it won't work, i don't know what i was thinking, but startscripting the global should make sense,

I did forget one endif...obviously.

oh well i deserve critisism for using proven functioning code but not testing it before i posted. Thanks for the correction i'll put tape over my mouth:X

Link to comment
Share on other sites

There are two possibilities as far as your script goes -- it could either be executed before TribunalMain, or after TribunalMain. In the former instance, watch what happens:

 

if ( GetPCCell "YOUR CAVE CELL" == 1 )
       DisableLevitation
else
       EnableLevitation
endif

if ( GetPCCell "Sotha Sil," == 1 )
       DisableLevitation
elseif ( GetPCCell "Mournhold" == 1 )
       DisableLevitation
else
       EnableLevitation
endif

 

Being that your cell is neither "Sotha Sil" or "Mournhold," it is catched by the else block, which enables leviation. TribunalMain nullifies your script. Consider what happens if it is executed afterwards:

 

if ( GetPCCell "Sotha Sil," == 1 )
       DisableLevitation
elseif ( GetPCCell "Mournhold" == 1 )
       DisableLevitation
else
       EnableLevitation
endif

if ( GetPCCell "YOUR CAVE CELL" == 1 )
       DisableLevitation
else
       EnableLevitation
endif

 

Levitation is now enabled in Mournhold and Sotha Sil because both cells are caught in your script's else block. Your script goes in like John Calhoun, and like John Calhoun, gradually fades from the public eye, leaving a moderately-sized statue next to a major avenue in a port city, tarnished by years of acid rain and covered in seagull and pigeon feces.

 

Hence, grotesque.

Link to comment
Share on other sites

I'm getting all confused with all these scripts, this one is right and this one is wrong. Oh wait that one was wrong too and this one too, but this one is right.

 

Could you please tell me once more what the good script is?

 

begin "nolev.ssc"

 

if ( getpccell "MY DUNGEONN OF MISTERIES!!!111!One1" )

if ( player->geteffect seffectlevitate )

messagebox "OMG LEVITATION DOESENT WERK HERE U STUPIOD!!!!!111!"

player->removeeffects 10

endif

endif

 

end

 

that doesn't work, unless i need to add it to some item. And yes i changed the id of the cell.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...