GoldenH's IRC CampaignThe GameI use mIRC to connect to the IRC the Magicstar server network. Specifically, gryphon.magicstar.net. You may aslo connect through a javachat. It is a quicker download, but not as cool. Also, it cannot run the dice script. While you should not have the dice script running, if you want to run your own campaign on IRC, you need mIRC to run it for yourself. I run it for my games, and if you want to use it, simply use the commands below to use it. If you run it, note that you can deactivate the script by right clicking in the channel window and clicking on the deactiveate command. If you're trying to get to my game, and want to watch or something, you can use the Javachat. Simply make it look like below on the left; but choose a unique name for yourself. If you're trying to get on by mIRC, observe the image on the right. Once you have completely logged in, type /join #pvpexalted and you will join us.... if there is anybody there. Generally between 7 pm CST and 4 am CST there will be at least two people present.
The Gryphon server will *not* be part of the IRC Server list. However it is the server the game is played on. If you want to make sure you are on the right server, click on the ADD button and fill out the that pops up as below. You can then click where Magicstar: Random Server is, and select Magicstar: Gryphon. This is shown below. The only advantage to this is that there is a small decrease in lag and in the case of a server split, which are rare but do happen, you will not miss out on what happens.
mIRC dice script commandsGeneral Dice Rolling
* numbers can be added and subtracted indefinately: e.g. 1d10+3+4-2 Exalted Dice Rolling
Dice Roller Code for mIRCAliasesPaste this in Aliases
/roll {
var %atim = $pos($1,+,0)
var %stim = $pos($1,-,0)
var %dtim = $pos($1,d,0)
var %len = $len($1)
if (%len < 3) goto error
var %ops = %atim + %stim
var %dlef = $pos($1,d,1)
/dec %dlef 1
var %dnum = $mid($1,0,%dlef)
if (%dnum < 1) || (%dnum > 100) goto error
/inc %dlef 2
if ($pos($1,+,1) == $null) var %pos = $len($1)
else var %pos = $pos($1,+,1)
if ($pos($1,-,1) == $null) var %sub = $len($1)
else var %sub = $pos($1,-,1)
if (%atim == 0) && (%stim == 0) {
%drig = $len($1)
/inc %drig 1
}
else {
if (%pos < %sub) var %drig = $pos($1,+,1)
if (%sub < %pos) var %drig = $pos($1,-,1)
}
%dlen = %drig - %dlef
var %dsid = $mid($1,%dlef,%dlen)
if (%dsid < 1) || (%dsid > 1000) goto error
var %tot = 0
var %iter = 0
if (%ops = 0) goto adde
var %text = $replace($1,-,+-)
:add
/inc %iter 1
if (%iter = %ops) var %rig = $len(%text)
else {
var %iter2 = %iter + 1
var %rig = $pos(%text,+,%iter2)
/dec %rig 1
}
var %lef = $pos(%text,+,%iter)
%len = %rig - %lef
/inc %lef 1
var %ad = $mid(%text,%lef,%len)
if (%ad < -30) || (%ad > 30) goto error
%tot = %tot + %ad
if (%iter < %ops) goto add
:adde
%iter = 0
write -c dice.txt $nick : $1-
:next
if (%dsid == 10) {
var %die = $rand(1,11)
if (%die == 2) var %die = 1
else if (%die == 1) var %die = 2
else if (%die == 3) var %die = 9
else if (%die == 9) var %die = 3
else if (%die == 4) var %die = 10
else if (%die == 10) {
if ($calc($rand(1,2) - 1)) var %die = 2
else var %die = 4
}
else if (%die == 11) var %die = 4
if (%die == 3) var %die = 10
else if (%die == 10) var %die = 3
}
else var %die = $rand(1,%dsid)
write -al1 dice.txt , %die
var %tot = %tot + %die
inc %iter
if (%iter < %dnum) goto next
if ($chan != $null) /msg $chan $nick: $read -l1 dice.txt , Total: %tot
if ($chan == $null) {
if ($nick == $me) /say $nick : $read -l1 dice.txt , Total: %tot
if ($nick != $me) /msg $nick $nick : $read -l1 dice.txt , Total: %tot
}
goto end
:error
if ($chan != $null) /msg $chan $nick : Can only have 1 to 1000 sides and 1 to 100
dice and may only add or subtract up to 30. Example: !roll 100d1000+30-30
if ($chan == $null) {
if ($nick == $me) /say $nick : Can only have 1 to 1000 sides and 1 to 100
dice and may only add or subtract up to 30. Example: !roll 100d1000+30-30
if ($nick != $me) /msg $nick $nick : Can only have 1 to 1000 sides and 1 to 100
dice and may only add or subtract up to 30. Example: !roll 100d1000+30-30
}
:end
}
/e {
%2 = $calc($2)
if (%2 > 50) {
if ($chan != $null) /msg $chan $nick: 50 dice or less. example: !ex 5
if ($chan == $null) {
if ($nick == $me) /say $nick : 50 dice or less. example: !ex 5
if ($nick != $me) /msg $nick $nick : 50 dice or less. example: !ex 5
}
goto end
}
var %iter = 0
var %tot = 0
; force botch
var %bot = 0
var %when = $rand(1,%two)
var %target = 7
if (s isin $1) %target = $3
write -c dice.txt $nick ( $+ %2 $+ )
:next1
inc %iter
; force botch
if (b isin $1) {
var %die = $rand(1,6)
if (%iter == %when) var %die = 1
}
elseif (o isin $1) {
var %die = $rand(1,10)
var %die = %die + $rand(1,10)
if (%die > 10) var %die = %die - 10
}
elseif (a isin $1) {
var %die = $rand(1,10)
if (%die > 5) var %die = %die - 5
else var %die = %die + 5
}
else {
var %die = $rand(1,11)
if (%die == 2) var %die = 1
else if (%die == 1) var %die = 2
else if (%die == 3) var %die = 9
else if (%die == 9) var %die = 3
else if (%die == 4) var %die = 10
else if (%die == 10) {
if ($calc($rand(1,2) - 1)) var %die = 2
else var %die = 4
}
else if (%die == 11) var %die = 4
if (%die == 3) var %die = 10
else if (%die == 10) var %die = 3
}
write -al1 dice.txt , %die
if (%die == 1) var %bot = %bot + 1
if (%die >= %target) var %tot = %tot + 1
if (m isin $1) var %tot = %tot
else if (%die == 10) var %tot = %tot + 1
if (%iter < %2) goto next1
if (+ isin $3) {
var %p = $len($3) - 1
var %add = $right($3,%p)
if (%add > 0) && (%add < 30) var %tot = %tot + %add
}
if (+ isin $4) {
var %p = $len($4) - 1
var %add = $right($4,%p)
if (%add > 0) && (%add < 30) var %tot = %tot + %add
}
if (- isin $3) {
var %p = $len($3) - 1
var %add = $right($3,%p)
if (%add > 0) && (%add < 30) var %tot = %tot - %add
}
if (- isin $4) {
var %p = $len($4) - 1
var %add = $right($4,%p)
if (%add > 0) && (%add < 30) var %tot = %tot - %add
}
if (+WP isin $3) {
var %tot = %tot + 1
}
if (%tot < 0) %tot = 0
write -al1 dice.txt , Successes : %tot
if (%bot > 0) if (%tot == 0) write -al1 dice.txt , Botch
if ($chan != $null) /msg $chan $read -l1 dice.txt
if ($chan == $null) {
if ($nick == $me) /say $read -l1 dice.txt
if ($nick != $me) /msg $nick $read -l1 dice.txt
}
:end
}
Popups 2: ChannelPaste this in the Channel subcategory of Popups
dice
.active: {
/writeini ws.ini $network $chan on
/msg $chan 6Dice Script Active
}
.deactive: {
/writeini ws.ini $network $chan off
/msg $chan 6Dice Script Deactivated
}
RemotesPaste in Remotes section:
on 1:TEXT:*Dice Script Active*:#: {
if ($readini(ws.ini, $network, $chan) == on) {
/writeini ws.ini $network $chan off
/msg $chan 6Dice Script Deactivated
}
}
on 1:TEXT:!roll*:*: if ($readini(ws.ini, $network, $chan) == on) /roll $2-
on 1:TEXT:!e*:*: if ($readini(ws.ini, $network, $chan) == on) /e $1-
on 1:INPUT:* {
var %length = $len($1-)
if (%length > 400) {
haltdef
:say
if ($len($1-) > 400) {
var %lenny = $calc($pos($1-,$chr(32),$calc($count($left($1-,400),$chr(32)) -1))))
if ($left($1-,3) == /me) $left($1-,%lenny)
else /say $left($1-,%lenny)
dec %length %lenny
if (%length > 0) {
if ($left($1-,3) == /me) { tokenize 32 $1 $mid($1-,$calc(%lenny + 1)) | goto say }
else { tokenize 32 $mid($1-,$calc(%lenny + 1)) | goto say }
}
else halt
}
else {
if ($left($1-,3) == /me) $left($1-,%lenny)
else /say $left($1-,%lenny)
}
}
if ($readini(ws.ini, $network, $chan) == on) {
if (!roll isin $1) /roll $2-
if (!e isin $1) /e $1-
}
}
If you are using mIRC version 6.02 the on 1:INPUT tag in the remotes section should instead read as follows. This is due to a bug in 6.02 and does not affect any earlier or later versions.
on 1:INPUT:* {
if ($readini(ws.ini, $network, $chan) == off) goto xyz
if (?roll isin $1) /roll $2-
if (?e isin $1) /e $1-
:xyz
}
To activate, right click in the window.
|