All in one thread for NPC scripts.

mapadale

Guest
Ok I've noticed that a lot of scripts are being repeatedly added or asked about, so with this one thread I've added all the common ones in and then some.

Thanks goes to all those that have contributed to these scripts and have helped other users on understanding them better as well.

Code:
[B][COLOR=red]Fame 4 Level[/COLOR][/B]
 
Add to 00default.txt
 
 
[@_UpLevel]
#IF
CheckFame
#ACT
Mov D4 %P9
 
#IF
SMALL D4 1000
#ACT
INC D4 1
SetFame %D4
sysmsg "You have recieved 1 FamePoint on Level Up"
break

Just a small little script, to showcase, how you can simplify a repetitive menu down. What use to be a much larger code, is simplified down to about 100 lines of code, for easier editing and use. I've helped alot of people on msn, who don't seem to know this little trick and end up with huge repetitive scripts, that are tedious to edit.
hope this helps you :), let me know if you guys need any explanations, as im just showcasing the script, and assuming you no whats going on :) pay close attention to the variables used. those are the most critical parts.. to getting a script like this to work.

Code:
[@FameMenu]
#IF
CheckFame
#ACT
Mov D4 %P9  ; Amount of FP
#SAY
Welcome to the Famepoint rebirth system.\
Currently we offer 8 rebirths to our members.\
Attaining all of them is not an easy task.\
Currently you have <$OUTPUT(D4)> FP's\
<Rebirth/@rebirthmenu>\
 
[@rebirthmenu]
#SAY
< Level 1 - 100 FP - Lvl100 - 60million gold/@rebirthauto(1,100,100,60000000)>\
< Level 2 - 200 FP - Lvl200 - 80million gold/@rebirthauto(2,200,200,80000000)>\
< Level 3 - 250 FP - Lvl300 - 100million gold/@rebirthauto(3,250,300,100000000)>\
< Level 4 - 300 FP - Lvl400 - 120million gold/@rebirthauto(4,300,400,120000000)>\
< Level 5 - 450 FP - Lvl500 - 150million gold/@rebirthauto(5,450,500,150000000)>\
< Level 6 - 550 FP - Lvl850 - 200million gold/@rebirthauto(6,550,850,200000000)>\
< Level 7 - 650 FP - Lvl1050 - 500million gold/@rebirthauto(7,650,1050,500000000)>\
< Level 8 - 900 FP - Lvl1200 - 1Billion gold/@rebirthauto(8,900,1200,1000000000)>
 
[@rebirthauto()]
#ACT
Mov D5 %ARG(1)
Mov D6 %ARG(2)
Mov D0 %ARG(3)
Mov D8 %ARG(4)
 
goto @dorebirth
 
[@dorebirth]
#IF
ELARGE D4 %D6
checkgold %D8
checklevel %D0
!HLSCRIPTCMD CHECKRELEVEL %D5
#ACT
DEC D4 %D6
SetFame %D4
take gold %D8
HLSCRIPTCMD REINCARNATION
HLSCRIPTCMD CLEAREXP
#SAY
You got <$HLREINCARNATION> rebirth now.\
#ELSESAY
You are short on something to gain this Rebirth.\
<[ Exit ]/@exit>\\\

Code:
[B][COLOR=red]Top Script[/COLOR][/B]
 
[@AllLevels]
#SAY
<$SERVERTOPALLLEVEL>\\
<[ Exit ]/@exit>\\\
[@TaoistLevels]
#SAY
<$SERVERTOPLEVEL2>\\
<[ Exit ]/@exit>\\\
[@WarriorLevels]
#SAY
<$SERVERTOPLEVEL0>\\
<[ Exit ]/@exit>\\\
[@WizardLevels]
#SAY
<$SERVERTOPLEVEL1>\\
<[ Exit ]/@exit>\\\
[@TopRich]
#SAY
<$SERVERTOPGOLD>\\
<[ Exit ]/@exit>\\\

Code:
[COLOR=red][B]Rebirth Script[/B][/COLOR]
 
[@rein]
#IF
HLSCRIPTCMD CHECKPOINT 500
!HLSCRIPTCMD CHECKRELEVEL 1
checklevel 60
#ACT
HLSCRIPTCMD REINCARNATION
HLSCRIPTCMD CLEAREXP
HLSCRIPTCMD SETPOINT - 500
 
[@rein2]
#IF
HLSCRIPTCMD CHECKPOINT 500
!HLSCRIPTCMD CHECKRELEVEL 2
checklevel 120
#ACT
HLSCRIPTCMD REINCARNATION
HLSCRIPTCMD CLEAREXP
HLSCRIPTCMD SETPOINT - 500
 
[@rein3]
#IF
HLSCRIPTCMD CHECKPOINT 500
!HLSCRIPTCMD CHECKRELEVEL 3
checklevel 210
#ACT
HLSCRIPTCMD REINCARNATION
HLSCRIPTCMD CLEAREXP
HLSCRIPTCMD SETPOINT - 500

Code:
[B][COLOR=red]Booty to Integral[/COLOR][/B]
 
[@main]
#SAY
Hello i take Amulet's, bone's and goldore and\
exchange them to integral S M and L.\ \

<Use your service/@service>\

[@service]
#IF
checkitem amulet 10
#ACT
take amulet 10
give integral(s) 1
#ELSEACT
goto @noitem

#IF
checkitem bone 10
#ACT
take bone 10
give integral(m) 1
#ELSEACT
goto @noitem

#IF
checkitem goldore 10
#ACT
take goldore 10
give integral(l)
#ELSEACT
goto @noitem

#SAY
Thanks.

[@noitem]
#SAY
you dont have bone's amulet's or gold ore.\ \
<exit/@exit>\

If there are any more scripts that people want or need, or have a script to add then let me know.
 

Coly

LOMCN Developer
Developer
Mar 31, 2005
1,399
33
195
Germany
If you use a Variable like D4 in one Function better use Px, P is for function Internal use and D for Digit..

also made ...
mov D4 %P9
better...
mov P1 %P9

then you have it Pro like ;-)

PS: If you use D for Gold, then it is a Bad idea, then better use Number = Nx... Like I say, D is Digit...
 
Upvote 0

Inflikted

LOMCN Veteran
Veteran
Aug 4, 2003
256
7
114
here are a few other of my scripts i made from the past :) i got no use for them anymore so have fun

Code:
#SAY
So you want to no what monsters are alive, I can help you, but it costs 50k to check.\
<Ok/@monstercheckbuy>\
<No thanks/@Exit>\
[@monstercheckbuy]
#ACT
take gold 50000
goto @monsterchecker
[@monsterchecker]
#IF
checkmonmap D2402 1 TadangaOK
#SAY
TadangaOK is {FCOLOR/10}ALIVE{FCOLOR/12} in COK F2\
#ELSESAY
TadangaOK is {FCOLOR/6}DEAD{FCOLOR/12} in COK F2\

#IF
checkmonmap 10 1 Satan
#SAY
Satan is {FCOLOR/10}ALIVE{FCOLOR/12} in HoE\
#ELSESAY
Satan is {FCOLOR/6}DEAD{FCOLOR/12} in HoE\

#IF
checkmonmap D2301 1 Satan
#SAY
Satan is {FCOLOR/10}ALIVE{FCOLOR/12} in CTH\
#ELSESAY
Satan is {FCOLOR/6}DEAD{FCOLOR/12} in CTH\

#IF
checkmonmap D1106 1 ZumaTaurus
#SAY
ZumaTaurus is {FCOLOR/10}ALIVE{FCOLOR/12} in ZumaTemple\
#ELSESAY
ZumaTaurus is {FCOLOR/6}DEAD{FCOLOR/12} in ZumaTemple\

#IF
checkmonmap D1206 1 JinchonCaptain
#SAY
JinchonCaptain is {FCOLOR/10}ALIVE{FCOLOR/12} in JinchonPalace\
#ELSESAY
JinchonCaptain is {FCOLOR/6}DEAD{FCOLOR/12} in JinchonPalace\

#IF
checkmonmap D2107 1 BrightBloodLord
#SAY
BrightBloodLord is {FCOLOR/10}ALIVE{FCOLOR/12} in SnowPalace\
#ELSESAY
BrightBloodLord is {FCOLOR/6}DEAD{FCOLOR/12} in SnowPalace\

#IF
checkmonmap D2205 1 EvilEmperor
#SAY
EvilEmperor is {FCOLOR/10}ALIVE{FCOLOR/12} in SnowTower\
#ELSESAY
EvilEmperor is {FCOLOR/6}DEAD{FCOLOR/12} in SnowTower\

#IF
checkmonmap D2205 1 Tadanga
#SAY
Tadanga is {FCOLOR/10}ALIVE{FCOLOR/12} in SnowTower\
#ELSESAY
Tadanga is {FCOLOR/6}DEAD{FCOLOR/12} in SnowTower\

#IF
checkmonmap D2204 1 ZumaTaurus
#SAY
ZumaTaurus is {FCOLOR/10}ALIVE{FCOLOR/12} in SnowTower 4th\
#ELSESAY
ZumaTaurus is {FCOLOR/6}DEAD{FCOLOR/12} in SnowTower 4th\

#IF
checkmonmap 11 1 ZumaTaurusOK
#SAY
ZumaTaurusOK is {FCOLOR/10}ALIVE{FCOLOR/12} in ToK\
#ELSESAY
ZumaTaurusOK is {FCOLOR/6}DEAD{FCOLOR/12} in ToK\

#IF
checkmonmap 11 1 Tadanga
#SAY
Tadanga is {FCOLOR/10}ALIVE{FCOLOR/12} in ToK\
#ELSESAY
Tadanga is {FCOLOR/6}DEAD{FCOLOR/12} in ToK\

#IF
checkmonmap D2204 1 MinotaurKing
#SAY
MinotaurKing is {FCOLOR/10}ALIVE{FCOLOR/12} in SnowTower 4th\
#ELSESAY
MinotaurKing is {FCOLOR/6}DEAD{FCOLOR/12} in SnowTower 4th\

#IF
checkmonmap D2203 1 BoneLord
#SAY
BoneLord is {FCOLOR/10}ALIVE{FCOLOR/12} in SnowTower 3rd\
#ELSESAY
BoneLord is {FCOLOR/6}DEAD{FCOLOR/12} in SnowTower 3rd\

#IF
checkmonmap D905 1 RedMoonEvil
#SAY
RedMoonEvil is {FCOLOR/10}ALIVE{FCOLOR/12} in RedMoonValley\
#ELSESAY
RedMoonEvil is {FCOLOR/6}DEAD{FCOLOR/12} in RedMoonValley\

#IF
checkmonmap D805 1 EvilCentipede
#SAY
EvilCentipede is {FCOLOR/10}ALIVE{FCOLOR/12} in DeathValley\
#ELSESAY
EvilCentipede is {FCOLOR/6}DEAD{FCOLOR/12} in DeathValley\

#IF
checkmonmap D705 1 BoarKing
#SAY
BoarKing is {FCOLOR/10}ALIVE{FCOLOR/12} in StoneTomb\
#ELSESAY
BoarKing is {FCOLOR/6}DEAD{FCOLOR/12} in StoneTomb\

#IF
checkmonmap D504 1 WoomaTaurus
#SAY
WoomaTaurus is {FCOLOR/10}ALIVE{FCOLOR/12} in WoomaTemple\\\
#ELSESAY
WoomaTaurus is {FCOLOR/6}DEAD{FCOLOR/12} in WoomaTemple\

Code:
[@repairmystuff]
{FCOLOR/4}---------------------------------{FCOLOR/12}\
Welcome to {FCOLOR/1}RNDPro{FCOLOR/12}\ Repair System
{FCOLOR/4}---------------------------------{FCOLOR/12}\
Would you like to repair all your weapons at once?\
\
< Yes /@yesrep>\
< No Bye/@Exit>\
[@yesrep]
#IF
#ACT
GetRepairCost 0
Mov P1  %P9     
GetRepairCost 1
Inc  P1  %P9     
GetRepairCost 3
Inc  P1  %P9
GetRepairCost 8
Inc  P1  %P9
GetRepairCost 4
Inc  P1  %P9
GetRepairCost 5
Inc  P1  %P9
GetRepairCost 6
Inc  P1  %P9
GetRepairCost 7
Inc  P1  %P9
GetRepairCost 10
Inc  P1  %P9

#SAY
This will cost you <$OUTPUT(P1)>\  
Do you want to repair?\
< Yes /@Blah>\\\
< No /@Exit>\
[@Blah]
#IF
CheckGold %P1
#ACT
GetRepairCost 0
Mov P1  %P9     
GetRepairCost 1
Inc  P1  %P9     
GetRepairCost 3
Inc  P1  %P9
GetRepairCost 8
Inc  P1  %P9
GetRepairCost 4
Inc  P1  %P9
GetRepairCost 5
Inc  P1  %P9
GetRepairCost 6
Inc  P1  %P9
GetRepairCost 7
Inc  P1  %P9
GetRepairCost 10
Inc  P1  %P9
Take Gold %P1
RepairItem 0       
RepairItem 1       
RepairItem 3       
RepairItem 8
RepairItem 4
RepairItem 5
RepairItem 6
RepairItem 7
RepairItem 10
goto @done
#ELSEACT
break
#ELSESAY
Not enough gold\
< Bye/@Exit>\

[@done]
All done, thanks!\
< Bye/@Exit>\
 
Upvote 0

Inflikted

LOMCN Veteran
Veteran
Aug 4, 2003
256
7
114
PART 1 of GUILD SYSTEM MOD, i left it incomplete on purpose so for those who really know their stuff.. can finish it off, and have something very unique on their server :) instead of 90% of the people here.. who just copy/paste stuff. get part 2 in the next post.

Code:
begin
[@main]
#IF
    HasGuild
#ACT
    FormatStr "FLD_GUILD='%s'" %GUILDNAME
    ReadValueSql  "TBL_GUILDBANK"  %A9  "FLD_GUILD,FLD_GOLD" [@Forward]
#ELSESAY
You are not in a guild go away.\

[@Forward()]
#IF
#ACT
    Mov      D1      %ARG(2)
    Mov      A3      %ARG(1)
    FormatStr "FLD_GUILD='%s'" %GUILDNAME
    ReadValueSql  "TBL_GUILDPOINTS"  %A9  "FLD_GUILD,FLD_GPOINTS" [@Start]
#ELSESAY
You are not in a guild go away\ \
< Close/@exit>\\\
#IF
   Equal  A3   ""
#ACT
    FormatStr "'%s',%s" %GUILDNAME 0
    Mov A6 %A9
    FormatStr "FLD_GUILD='%s'" %GUILDNAME
    Mov A5 %A9
    WriteValueSql "TBL_GUILDBANK" %A5 "FLD_GUILD,FLD_GOLD" %A6

goto @start

[@Start()]
#ACT
    Mov      D3       %ARG(2) 
#SAY
Welcome to the {FCOLOR/10}Mythical{FCOLOR/12}\
{FCOLOR/11}<$OUTPUT(A3)>{FCOLOR/12} Currently has {FCOLOR/1}<$OUTPUT(D3)>{FCOLOR/12} Mythical 

Points.\
{FCOLOR/11}<$OUTPUT(A3)>{FCOLOR/12} Currently has {FCOLOR/1}<$OUTPUT(D1)>{FCOLOR/12} Guild-

Gold.\
What would you like to do today?\ \
< Guild Shop/@Shop>\
< Guild Unlocks/@Unlocks>\
< Donate/@yesdonate>\
< GuildArea/@GuildArea>\

[@GuildArea]
#SAY
Welcome to the Guild Area NPC currently\
we have 15 areas up for grabs\\
<Purchase Guild Area/@Guildpurchase>\
<Change Guild Area password/@GuildPassword>\
<Delete Guild Area/@Guilddelete>\
<Access Rights/@Guildaccess>\\

[@Guildpurchase]
#SAY
Currently Under Construction\\
< Exit/@GuildArea>\

[@GuildPassword]
#SAY
Currently Under Construction\\
< Exit/@GuildArea>\

[@Guilddelete]
#SAY
Currently Under Construction\\
< Exit/@GuildArea>\

[@Guildaccess]
#SAY
Currently Under Construction\\
< Exit/@GuildArea>\

[@Shop]
#SAY
Please keep in mind that for items that require\
{FCOLOR/10}MythicalPoints{FCOLOR/12} to Purchase you Must be a {FCOLOR/1}

Guildmaster\\{FCOLOR/12}
< Buy with GuildGold/@Shopgold>\
< Buy with GuildPoints/@Shoppoints>\
< Dont want to buy anything/@Main>\

[@Shopgold]
#SAY
<$OUTPUT(A3)> Guild currently has <$OUTPUT(D1)> Gold.\ \
What would you like to buy today?\ \
< Ginsengs/@ShopGins> - < Liqours/@ShopLiq>\
< Talismans/@ShopTali> - < Pots/@ShopPots>\

[@ShopGins]
#SAY
If you like you can purchase 200 Ginsengs for 200,000 Gold.\ \
< Convert/@GinsConvert>\
< Back/@Shop>\

[@GinsConvert]
#IF
ELARGE D1 200000
#ACT
Dec D1 200000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give Ginseng 200
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@ShopLiq]
#SAY
Please select what type of Liquor u wanna buy\\
< Storm/@Storm> - < Health/@Health> - <Magic/@Magic>\
< Nature/@Nature> - < Impact/@impact> - < Spirit/@spirit>\
< Neither/@shopGold>\

[@Storm]
#SAY
If you like you can purchase 5 Storm(L) for 100,000 gold.\ \
< Convert/@StormConvert>\
< Back/@shop>\

[@StormConvert]
#IF
ELARGE D1 100000
#ACT
Dec D1 100000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give StormLiquor(l) 5
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@Health]
#SAY
If you like you can purchase 5 Health(L) for 100,000 gold.\ \
< Convert/@HealthConvert>\
< Back/@shop>\

[@HealthConvert]
#IF
ELARGE D1 100000
#ACT
Dec D1 100000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give HealthLiquor(l) 5
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@Magic]
#SAY
If you like you can purchase 5 Magic(L) for 100,000 gold.\ \
< Convert/@MagicConvert>\
< Back/@shop>\

[@MagicConvert]
#IF
ELARGE D1 100000
#ACT
Dec D1 100000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give MagicLiquor(l) 5
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@Nature]
#SAY
If you like you can purchase 5 Nature(L) for 100,000 gold.\ \
< Convert/@NatureConvert>\
< Back/@shop>\

[@NatureConvert]
#IF
ELARGE D1 100000
#ACT
Dec D1 100000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give NatureLiquor(l) 5
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@Impact]
#SAY
If you like you can purchase 5 Impact(L) for 100,000 gold.\ \
< Convert/@ImpactConvert>\
< Back/@shop>\

[@ImpactConvert]
#IF
ELARGE D1 100000
#ACT
Dec D1 100000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give ImpactLiquor(l) 5
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@Spirit]
#SAY
If you like you can purchase 5 Spirit(L) for 100,000 gold.\ \
< Convert/@SpiritConvert>\
< Back/@shop>\

[@SpiritConvert]
#IF
ELARGE D1 100000
#ACT
Dec D1 100000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give SpiritLiquor(l) 5
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@ShopTali]
#SAY
Please Select what type of Talisman you want to buy.\ \
< HolyTalisman(l)/@Holy> - < SoulTalisman/@Soul>\

[@Holy]
#SAY
If you like you can purchase 5 Holy(L) for 100,000 gold.\ \
< Convert/@HolyConvert>\
< Back/@shop>\

[@HolyConvert]
#IF
ELARGE D1 100000
#ACT
Dec D1 100000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give HolyTalisman(L) 5
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@Soul]
#SAY
If you like you can purchase 5 Soul(L) for 100,000 gold.\ \
< Convert/@SoulConvert>\
< Back/@shop>\

[@SoulConvert]
#IF
ELARGE D1 100000
#ACT
Dec D1 100000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give SoulTalisman(L) 5
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@ShopPots]
#SAY
Please Select what type of pots you want to buy.\ \
< Blue ones/@Blue> or < Red ones/@red>\
 
Upvote 0

Inflikted

LOMCN Veteran
Veteran
Aug 4, 2003
256
7
114
PART 2 OF GUILD SYSTEM MOD

Code:
[@Blue]
#SAY
If you like you can purchase 200 Mana(xL) for 150k.\ \
< Convert/@BlueConvert>\
< Back/@shop>\

[@BlueConvert]
#IF
ELARGE D1 150000
#ACT
Dec D1 150000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give MPPotion(XL) 200
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@Red]
#SAY
If you like you can purchase 200 Health(xL) for 150k.\ \
< Convert/@RedConvert>\
< Back/@shop>\

[@RedConvert]
#IF
ELARGE D1 150000
#ACT
Dec D1 150000
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
give HPPotion(XL) 200
#SAY
You now Have <$OUTPUT(D1)> Gold
<Exit/@Exit>\

[@Shoppoints]
#SAY
<$OUTPUT(A3)> Guild currently has <$OUTPUT(D3)> Points.\ \
Keeping in mind Only GuildMasters can make a transaction\ 
with Mythicalpoints, What would you like to buy today?\ \
< Armours/@Armours> - < Weapons/@Weapons> - < Jewellary/@jewl>\

[@Armours]
#SAY
There is a selection of armours you can chose from.\
They are listed below for you. Each of these items will\
cost your guild 20 Guild Points.\ \
< DemonArmour(m)/@Demonm> - <DemonArmour(f)/@DemonF>\
< DevineArmour(m)/@Devinem> - <DevineArmour(f)/@Devinef>\
< Back/@shoppoints>\

[@Weapons]
#SAY
There is a Selection of Weapons you can chose from.\
They are listed Below for you. Each of rank2 items will\
cost your guild 500 Guild Points. Rank3 items will\
cost you guild 1250 Guild Points
< ChaoticHeavenBlade(II)/@chb2> - < ChaoticHeavenBlade(III)/@chb3>\
< DragonTreasure(II)/@dt2> - < Dragontreasure(III)/@dt3>\
< Back/@shoppoints>\

[@jewl]
#SAY
There is a selection of items you can chose from.\
They are listed below for you. Each of these sets will\
cost you guild 60 Guild Points.\ \
< Savant Set/@Savant> - < Buddha Set/@Buddha> - < CrazyWar Set/@crazy>\
< Back/@shoppoints>\

[@Demonm]
#IF
IsGuildMaster
ELARGE D3 20
#ACT
   Dec D3 20
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give DemonArmor(M) 1
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@Demonf]
#IF
IsGuildMaster
ELARGE D3 20
#ACT
   Dec D3 20
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give DemonArmor(f) 1
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@Devinem]
#IF
IsGuildMaster
ELARGE D3 20
#ACT
   Dec D3 20
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give DevineArmor(m) 1
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@Devinef]
#IF
IsGuildMaster
ELARGE D3 20
#ACT
   Dec D3 20
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give DevineArmor(f) 1
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@chb2]
#IF
IsGuildMaster
ELARGE D3 500
#ACT
   Dec D3 500
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give ChaoticHeavenblade(II) 1
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@chb3]
#IF
IsGuildMaster
ELARGE D3 1250
#ACT
   Dec D3 1250
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give ChaoticHeavenblade(III) 1
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@dt2]
#IF
IsGuildMaster
ELARGE D3 500
#ACT
   Dec D3 500
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give DragonTreasure(II) 1
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@dt3]
#IF
IsGuildMaster
ELARGE D3 1250
#ACT
   Dec D3 1250
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give DragonTreasure(III) 1
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@Savant]
#IF
IsGuildMaster
ELARGE D3 60
#ACT
   Dec D3 60
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give SavantNecklace 1
   give SavantBracelet 2
   give SavantRing 2
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@Buddha]
#IF
IsGuildMaster
ELARGE D3 60
#ACT
   Dec D3 60
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give BuddhaNecklace 1
   give BuddhaBracelet 2
   give BuddhaRing 2
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@Crazy]
#IF
IsGuildMaster
ELARGE D3 60
#ACT
   Dec D3 60
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GPOINTS='%s'" %D3
   UPDATEVALUESQL "TBL_GUILDPOINTS" %A8 %A9
   give CrazyWarNecklace 1
   give CrazyWarBracelet 2
   give CrazyWarRing 2
#SAY
You now have <$OUTPUT(D3)> mythical points\
< Exit/@exit>

[@YesDonate]
#SAY
So you would like to Donate?\ \
< Donate to Guild/@Donate>\

[@Donate]

#SAY
{FCOLOR/11}<$OUTPUT(A3)>{FCOLOR/12} guild has {FCOLOR/1}<$OUTPUT(D1)>{FCOLOR/12} Guild Gold.
How Much gold would you like to donate to your guild bank?\
<Amount of Gold/@@goldamount>
[@@goldamount]
#ACT
Mov D6 %INPUTSTR
goto @checkgold

[@checkgold]
#IF
checkgold %D6
#ACT
Inc D1 %D6
   FormatStr "FLD_GUILD='%s'" %GUILDNAME
   Mov   A8     %A9
   FormatStr "FLD_GOLD='%s'" %D1
   UPDATEVALUESQL "TBL_GUILDBANK" %A8 %A9
take gold %D6
#SAY
{FCOLOR/10}<$OUTPUT(A3)>{FCOLOR/10} now has {FCOLOR/11}<$OUTPUT(D1)>{FCOLOR/10} gold in the bank.\
<[ Exit  ]/@exit>\\\

[@Unlocks]
#SAY
Still being scripted bare with us.\ \
<Exit/@main>\
 
  • Like
Reactions: spartekas
Upvote 0

idaBigA

Holley Mir 3!!
VIP
Oct 28, 2003
1,966
110
310
Stoke, UK
Basic Death Script

Code:
#IF
HLSCRIPTCMD CHECKUNDEADINHOME
HLSCRIPTCMD CHECKUNDEAD
#SAY
{FCOLOR/1}Resurrection System.{FCOLOR/12}\ \
You have been killed, Do you wish to be\
placed back in town alive?\
Revive in town is free\ \

<Yes Please/@next1>\\
#elseact
close

[@next1]
#if
HLSCRIPTCMD CHECKUNDEADINHOME
#ACT
HLSCRIPTCMD UNDEADINHOME
close
#elseact
close
 
Last edited by a moderator:
Upvote 0

Inflikted

LOMCN Veteran
Veteran
Aug 4, 2003
256
7
114
this is a borrowed concept from idabiga. i used it a long time ago, so i thought i would share some ideas for new coming server owners.

this deals with 2 things.. clickitemevents and heal/damagezone's

clickitemevents allow you to make your own custom clickable items in bag.. anything from customized healing pots, to talisman bundles like in mir2

makehealzone/damagezone says what it is, it allows you to make a area to temporarily heal yourself or a group of players. you can control the time, the heal strength, and the radius.

we start off by going into the 00default.txt

in the first
#ACT
put in..

goto @HealZone_ItemClick

then create a link in the default00.txt

[@HealZone_ItemClick]
#CALL [System\ItemScripts\HealZone.txt] @EventItem_HealZone

now make a healzone.txt in your QuestDiary\System\ItemScripts (make the itemscripts folder too for better organization)

in the healzone.txt

lets create..

something like this

Code:
[@EventItem_HealZone]
{
#ACT
SetItemEvent 61 4 @HealZone_Main  ;(61 is the stdmode, 4 being the shape, you need to make this item in your itemdb so mir3 knows what to look for. you can change those to fit what you what)


[@HealZone_Main]
#ACT
Mov A0 %USERMAP
Mov A1 %USERX
Mov A2 %USERY
FormatStr "%s,%s,%s,20" %A0 %A1 %A2   ;(20 is the radius around)
MakeHealZone %A9 10 50 [GROUP]    ;(10 seconds is the time it lasts and 50 is the HP it heals per second)
Take HealingGuildScroll 1
Break
}

the healzone concept can be taken further.. and applied to safezone's.. so afk pets don't kill people, or in pvp safe area's to quickly regen your HP to get back into the fight faster.

and damagezone does work pretty much the sameway.. but instead of using that its better to maybe use a mapspell.. because that show's up graphically on the game, while damagezone does not.

something like this

Code:
[@EventItem_DamageZone]
{
#ACT
SetItemEvent 61 6 @DamageZone_Main


[@DamageZone_Main]
#ACT
Mov A0 %USERMAP
Mov A1 %USERX
Mov A2 %USERY
FormatStr "%s,%s,%s,20" %A0 %A1 %A2
Mov A4 %A9
MapSpell [firewall] "%A4,%A1,386, +d600, +t10, +       ;(d600 being the dmg of 600, and t10 being 10 seconds) it can be replaced with [icewall] aswell. 
Take DamageGuildScroll 1
Break
}

my original purpose was to make the damagescroll sort of a suicide thing in a sabukwar battle. letting the clan leader only use it, killing himself and everyone around him instantly (usually a tactic to clean the stairs up of campers ;)). it proved to be pretty effective and make the game interesting :) assuming you limit the amount of damagescrolls available.


a more advanced thing you can do.. you can take this concept further to create a unique boss room.. that creates randomized coordinates in the bossroom and deals deadly firewall's or icewalls by using a mapspell on a timerscript.

thats all
 
Upvote 0

Josiko

LOMCN Veteran
Veteran
Loyal Member
Apr 4, 2010
428
8
44
Spain
I proved the script of the fire but of another post and it was working but I was killing myself ami .. * _ * and only towards 1 piece of fire..

The heal have I supposed it to myself if I put guild envez of group, can be alone?
or in group with someone of clan?

Greetings!
---------------------
yo probe el script del fuego pero de otro post y funcionaba pero me mataba ami.. *_* y solo hacia 1 trozo de fuego..

El heal me lo he supuesto si pongo guild envez de group , puedo estar solo?
o en grupo con alguien de clan?

Saludos!
 
Upvote 0

dagras

LOMCN Veteran
Veteran
Feb 6, 2011
282
3
44
anyone help me with a script for D menu, that allows a guild to teleport to a room and only allow members of said guild in by way of password?
all my previouse attempts have failed.
i can not put a copy of script i had up at moment as im not home

thanks in advance
 
Upvote 0

TheDayIDie

Banned
Banned
Dedicated Member
Jul 29, 2011
4,071
97
135
UK
So you want a script that lets you teleport into a GuildPalace ?

Do you have to purchase palace first etc? need more details. Not sure for 3.55 if i can make a script but ill take a look
 
Last edited:
Upvote 0

dagras

LOMCN Veteran
Veteran
Feb 6, 2011
282
3
44
i would want script just to be able to ask for a password that i can put on dmenu. and only people who know password can move to guild only areas.
if you can help would be appreciated.
 
Upvote 0

TheDayIDie

Banned
Banned
Dedicated Member
Jul 29, 2011
4,071
97
135
UK
Ok i have a script for this.
Let me just script it ... brb 5-10mins

---------- Post Merged at 07:53 PM ---------- Previous Post was at 07:20 PM ----------
This works for me on my kings server, should work for you but if not may need tweaking to fit the 3.55 requirments

Code:
[@PWChoose]
#IF
#ACT
mov A1 ""
goto @typepw

[@typepw]
#SAY
<Enter Password/@@TypePw>\
You wish to confirm the password as:{FCOLOR/10}<$OUTPUT(A1)>{FCOLOR/12}?\\

<Continue/@continuetitle>\
<Reset/@pwchoose>\

[@@TypePw]
#ACT
mov A1 %Inputstr
goto @typepw

[@continuetitle]
#IF
EQUAL A1 "PASSWORDHERE"
#ACT
SYSMSG "You have gained access"
MAPMOVE Blalalala
#ELSEACT
SYSMSG "You do not have the correct password"
 
Last edited:
Upvote 0

dagras

LOMCN Veteran
Veteran
Feb 6, 2011
282
3
44
did anyone manage to fix the GuildArea.txt section from zordons release and if so can share?
 
Upvote 0

idaBigA

Holley Mir 3!!
VIP
Oct 28, 2003
1,966
110
310
Stoke, UK
Found the Post Coly made years ago (14-05-2006, 09:20 PM)

Ok here is a list :

N0 - N9 Integer Value = -2147483648..2147483647 (Server Global)
S0 - S1 Singel Value = -255..255 (Script Global)
D0 - D9 Digit Value = -2147483648..2147483647 (Script Global)
P0 - P9 Integer Value = -2147483648..2147483647 (Function Local)
A0 - A9 ASCII Value = A..Z (Script Global)
B0 - B9 ASCII Value = A..Z (Server Global)

P9 P0 A0 A9 D0 D9 = Command Use <-->
You can use all !!
The Most Problem I have see with the Scripts N and B Variables Uset for some
thinks in the most used Scripts, Problem : Player_A Use eg. the Integral Sys
and Player_B same to the same Time, both use the same. The Effect is
Player_A overwrite the Value from Player_B, Player_B has the Value from
Player_A ! You understand this ? I belive now some will unite clearly. ^^

Regards Coly
 
  • Like
Reactions: Voya and Coly
Upvote 0