Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Fizban

Pages: [1]
1
Suggestions & Ideas / New spell and/or removing an existing spell
« on: April 11, 2008, 01:34:07 pm »
I don't at all think casters are underpowered as it seems many people do, but seeing as they are hard capped at 100 charisma, and warriors aren't hard capped at anything warriors inherently in theory have an advantage. That doesn't bother me too much, what does though is casters get screwed in pkill due to one spell....
 Mages often hit for less than a warrior as is due to their damage being capped, but then there's mana shield, which then halves casters damage which seems to essentially just bury them in pkill. Why do I think mana shield is overkill? Mages can cast sanctuary, that makes a 800 damage behead hit me for around 400. My fireball hits for 800ish (on players, 2000-2500 on mobs), then sanc makes it 400, and mana shield makes it 200, so essentially I hit harder than them in straight damage but because there is a spell that halves magic damage, and no spell that halves physical damage casters badly get the short end of the stick.

2
Suggestions & Ideas / Prices to Raise Skills
« on: April 07, 2008, 08:54:38 pm »
Is it just me or does anyone else think it is ridiculous that it just cost Fizban 49,404,000 gold to practice mind ice to 60%, practice ice shield to 80%, and practice mind fire from 48% to 80%?

3
Suggestions & Ideas / Elementals
« on: March 03, 2008, 06:09:21 am »
I dug through the code to make it so players only got 1 elemental instead of 2 when casting the elemental spells. Seems any character with 60 charisma or higher summons 2 elementals instead of 1. Do most people feel this should be removed and they should only summon 1 no matter what, leave it how it is? Raise the amount of charisma needed to summon 2?

4
Scripting Board / Trigedit Examples
« on: February 28, 2008, 11:09:43 pm »
The following three sites have vast #'s of Trigedit examples, feel free to browse them for examples, look to see how to do something when stumped, post your own examples and/or post when you need help with something scripting related:

http://tbamud.com
http://cwg.lazuras.org/modules.php?name=Forums&file=index
http://fizban.zapto.org/~Fizban/forum

5
Scripting Board / Code related error perhaps?
« on: February 27, 2008, 05:02:51 pm »
This is a script that worked on TBA but not on 6002 when Kvetch tries using it and not exactly sure why, was curious if anyone saw anything that stood out.

Code: [Select]
Name: 'Troglodytes Smell!',  VNum: [57702], RNum: [ 3881]
Trigger Intended Assignment: Mobiles
Trigger Type: Entry , Numeric Arg: 100, Arg list: None
Commands:
wait 1
set nroom %self.room%
%echo% A thick, suffocating musk wafts into the room, the oily stench almost graspable in its richness.
if %nroom.north(vnum)% && %nroom.north(vnum)% != %sroom%
  %at% %nroom.north(vnum)% %echo% A thick, suffocating musk wafts into the room, the oily stench almost graspable in its richness.
end
if %nroom.south(vnum)% && %nroom.south(vnum)% != %sroom%
  %at% %nroom.south(vnum)% %echo% A thick, suffocating musk wafts into the room, the oily stench almost graspable in its richness.
end
if %nroom.west(vnum)% && %nroom.west(vnum)% != %sroom%
  %at% %nroom.west(vnum)% %echo% A thick, suffocating musk wafts into the room, the oily stench almost graspable in its richness.
end
if %nroom.east(vnum)% && %nroom.east(vnum)% != %sroom%
  %at% %nroom.east(vnum)% %echo% A thick, suffocating musk wafts into the room, the oily stench almost graspable in its richness.
end
if %nroom.up(vnum)% && %nroom.up(vnum)% != %sroom%
  %at% %nroom.up(vnum)% %echo% A thick, suffocating musk wafts into the room, the oily stench almost graspable in its richness.
end
if %nroom.down(vnum)% && %nroom.down(vnum)% != %sroom%
  %at% %nroom.down(vnum)% %echo% A thick, suffocating musk wafts into the room, the oily stench almost graspable in its richness.
end
if %sroom%
  %at% %sroom% %echo% The strong, oily musk wafts out of the room with the troglodyte.
end
set sroom %self.room.vnum%
global sroom

6
Scripting Board / General Scripting Suggestions
« on: February 26, 2008, 02:00:44 pm »
None of these things are overly hard or difficult to understand but just seem to be habits people pick up or simple things people don't think of immediately: Most of them lead to ambiguity or performance loss (lag) in the mud though, especially when the same small things are done repeatedly. They may seem insignificant, and truly, once or twice they are, 500 times across a zone and then in multiple zones, they do indeed add up.

Set vs. Eval

Wrong:
Code: [Select]
eval room %actor.room%
Correct:
Code: [Select]
set room %actor.room%
There's no reason to evaluate the ID of the room, it's a number, there's no parsing or math involved, by evaluating it only takes up more cpu time, it's also technically more to type.


Set vs. Nop

Wrong:
Code: [Select]
set %actor.gold(1000000)%
Correct:
Code: [Select]
nop %actor.gold(1000000)%
Again, they do the same thing except setting it creates an empty variable which is not intended and un-nneded, once again just un-needed cpu time. (I admit I'm guilty of this one myself semi-often but try to catch it.)

UID vs. Name

Wrong:
Code: [Select]
%send% %actor.name% This is a string of words.
Correct:
Code: [Select]
%send% %actor% This is a string of words.
%actor.name% is ambiguous, two mobs or players with the same name (meaning a mob and player with the same name, I'm aware two player's cant have the same name.) Also it takes un-needed cpu time to search the actor's char_data structure and retrieve their name when it doesn't need to. This is true for any time %actor% preceeds a DG-Command, ie. %teleport% %send% %echoaround% %goto% etc. On the other hand %actor.name% is needed when preceeding a mudcommand, such as give or look, or any social.

Also just something that seems odd that I find all over through most of the scripts. "endif" not sure where that really came from, but the if part is entirely superfluous and in fact it could endthegodforsakenscriptnow, and because of such all that is needed is end, which is also shorter and therefore faster to parse.

The purpose of Global Type Scripts:

This one isn't as common but is something I spotted the other day which made me quite certain that whoever wrote the script (not mentioning names) didn't know what the purpose of Global was.

Code: [Select]
set p %self.people%
if %p%

When those are the first two lines of a random global script attached to a room, all it being global does is kill cpu time. Random Triggers fire when a player and/or mob is in the room. Global Random Triggers fire regardless of whether someone is in the room or not. What that does is make it fire every time, but do nothing anyway if no one is in the room. Essentially, it's entirely wasteful and the Global Type on the script served no purpose butmaking the game run slower. A lot slower? No, but slower nonetheless.

Pages: [1]