Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » Finished MUD Scripts
jessew
Apprentice


Joined: 03 Mar 2003
Posts: 141

PostPosted: Tue Apr 20, 2004 1:41 am   

ZTrader3 for medievia Updated Version
 
quote:

To use it simply go to the tradepost you want to value
and type 'ztval' after the script finishes valuing you then
can display the data to SHOW or to CHAT
Note: you'll need my CaebColor Script(included here to chat colors
correctly to MM users)
ztshow displays to show and ztchat displays to chat, they have the
exact same functionality so i only describe ztshow here
ztshow - Lists every value
ztshow <number> - Lists every value greater then <number>
Unless # is less then 100,000 in which case it lists every cpm
value over #
ztshow <post> - Lists every value from <post>
Note on ztshow <post> if your familar with zoneinfo on medievia
it works similar to that. for example if you wanted to list
values from g'dangus 'ztshow gda' (No puncuation or spaces)
ztshow ngu would work as well


//This is just an update using Carabas new cpm values.
//Thanks to Carabas :)
//Theres no added functionality, e.g. remembering each tps values.
//Rennus has already written a very nice script with all that.
//This is just basically a CPM update.
//I liked Rennus' idea of using database for storing the data
//Takes away alot of the %item(%ismember to make code cleaner.
//So I switched to that for almost all my data.
//Finally I cleaned up the Display code. Its a bit faster now.
//But it still needs to build a complete string so when you want
//to show all unless your on a very fast computer theyll be a
//small pause before the output.
//Also switched back to valuing by covered value good covered
//now that the %n issue is all cleared up.

//Updating: If goods get changed at a tp to update is pretty easy.
//Go into zmud settings and go to the folder "ZTrader/Data/TradeShops"
//Select the variable named with the name of the TP that changed.
//The second to last key in the database is a list containing all
//The goods that particular TP offers. Just modify that list.
//Every time you value ZTrader updates itself so you don't have to
//do anything special after that, just go value and it will use the
//new goods.
Code:

#DELCLASS "ZTrader"
#DELCLASS "CaebColor"

#CLASS CaebColor
    #VARIABLE CCTypeList {bold|reset}
    #VARIABLE CCNameList {black|blue|green|cyan|red|magenta|yellow|white|reset|bold}
    #VARIABLE CCForeList {30|34|32|36|31|35|33|37|0|1}
    #VARIABLE CCBackList {40|44|42|46|41|45|43|47}
    #FUNCTION CCFore     {%item(@CCForeList,%ismember(%1,@CCNameList))}
    #FUNCTION CCBack     {%item(@CCBackList,%ismember(%1,@CCNameList))}
    #FUNCTION CC         {%if(%3,@CC3(%1,%2,%3),%if(%2,@CC2(%1,%2),@CC1(%1)))}
    #FUNCTION CaebColor  {%if(%3,@CC3(%1,%2,%3),%if(%2,@CC2(%1,%2),@CC1(%1)))}
    #FUNCTION CC1        {%e[@CCFore(%1)m}
    #FUNCTION CC2        {%if(%ismember(%1,@CCTypeList),@CC2FC(%1,%2),@CC2BG(%1,%2))}
    #FUNCTION CC3        {%e[@CCFore(%1);@CCFore(%2);@CCBack(%3)m}
    #FUNCTION CC2FC      {%e[@CCFore(%1);@CCFore(%2)m}
    #FUNCTION CC2BG      {%e[@CCFore(%1);@CCBack(%2)m}
#CLASS 0
#CLASS "ZTrader/Commands/User"
    #ALIAS ztval  {ztvals}
    #ALIAS ztshow {ztdisplayshow = 1;ztshows %1}
    #ALIAS ztchat {ztdisplayshow = 0;ztshows %1}
#CLASS 0

#CLASS "ZTrader/Commands/Script"
    #VARIABLE ztcount 0
    #ALIAS ztconfig     {#DELCLASS "ZTrader/Data/Goods";#CLASS "ZTrader/Data/Goods";#FORALL @ztposts {#FORALL @%i.Goods {ztallgoods = %additem(%j,@ztallgoods);%j.tp = %i}};ztmupdatedone}
    #ALIAS ztvals       {ztconfig;#T+ "Ztrader|Triggers|Tradeposts";look}
    #ALIAS ztpostfound  {ztcount = 1;#T- "Ztrader|Triggers|Tradeposts";#T+ "ZTrader|Triggers|Valuing";ztvalnext}
    #ALIAS ztvalnext    {#IF (@ztcount > %numitems(@ztallgoods)) {ztvaldone} {value %item(@ztallgoods,@ztcount) covered;#ADD ztcount 1}}
    #ALIAS ztvaldone    {#T- "Ztrader|Triggers|Valuing";ztmValDone}
#CLASS 0


#CLASS "ZTrader/Display"
#CLASS 0

#CLASS "ZTrader/Display/Data"
    #VARIABLE ztdisplayshow 0;
    #VARIABLE ztvuser ""
    #VARIABLE ztvpost ""
    #VARIABLE ztdpost ""
    #VARIABLE ztdlist ""
    #VARIABLE ztdhead ""
    #VARIABLE ztdfull ""
    #VARIABLE ztversion 3.0
    #FUNCTION ztlogo    {@CC(bold,blue)(@CC(bold,white)ZTrader v@ztversion@CC(bold,blue))}
#CLASS 0

#CLASS "ZTrader/Display/Commands"
 
    #ALIAS ztshows {ztdlist = "";ztvuser = %1;#IF (%1) {#IF %isnumber(%1) {#IF (%1 < 100000) {ztscpm} {ztsval}} {ztspst}} {ztsall}}
    #ALIAS ztscpm {ztdhead = @zttitlecpm;#FORALL @ztallgoods {#IF (@%i.cpm > %eval(@ztvuser - 1)) {ztdlist = %additem(%i,@ztdlist)}};ztCreateDisplay}
    #ALIAS ztsval {ztdhead = @zttitleval;#FORALL @ztallgoods {#IF (@%i.cwvalue > %eval(@ztvuser - 1)) {ztdlist = %additem(%i,@ztdlist)}};ztCreateDisplay}
    #ALIAS ztsall {ztdhead = @zttitleall;ztdlist = @ztallgoods;ztCreateDisplay}
    #ALIAS ztspst {ztfindpost;ztdhead = @zttitlepst;#FORALL @ztallgoods {#IF (@%i.tp = @ztdpost) {ztdlist = %additem(%i,@ztdlist)}};ztCreateDisplay}
#CLASS 0

#CLASS "ZTrader/Display/Titles"
    #FUNCTION ztdashes     {@CC(blue)%repeat("-",%len(%stripansi(@ztdhead)))%char(10)}
    #FUNCTION zttitleall   {@ztlogo@CC(bold,cyan):@CC(bold,green) Displaying all valued items to @CC(bold,white)@%eval(@ztvpost).Fancy%char(10)}
    #FUNCTION zttitlecpm   {@ztlogo@CC(bold,cyan):@CC(bold,green) All values over @CC(bold,white)@ztvuser CPMs @CC(bold,green)to @CC(bold,white)@%eval(@ztvpost).Fancy%char(10)}
    #FUNCTION zttitleval   {@ztlogo@CC(bold,cyan):@CC(bold,green) All values over @CC(bold,white)%format("&9.0n",@ztvuser) @CC(bold,green)to @CC(bold,white)@%eval(@ztvpost).Fancy%char(10)}
    #FUNCTION zttitlepst   {@ztlogo@CC(bold,cyan):@CC(bold,green) All values from @CC(bold,white)@%eval(@ztdpost).Fancy @CC(bold,green)to @CC(bold,white)@%eval(@ztvpost).Fancy%char(10)}
#CLASS 0

#CLASS "ZTrader/Display/Commands"
    #ALIAS ztFindPost      {#FORALL @ztposts {#IF (%pos(%lower(@ztvuser),%i)) {ztdpost = %i}}}
    #ALIAS ztCreateDisplay {ztdfull = @ztdhead;ztdfull = %concat(@ztdfull,@ztdashes);ztcreatelines;ztshowdisplay}
    #ALIAS ztCreateLines   {#FORALL @ztdlist {ztdfull = %concat(@ztdfull,@ztline(%i),%char(10))}}
    #ALIAS ztShowDisplay   {#IF (@ztdisplayshow) {#SHOW @ztdfull} {#EMOTEALL %char(10)@ztdfull}}
#CLASS 0

#CLASS "ZTrader/Display/Functions"
     #FUNCTION ztline {%format("&s&-15s&s&-11s&s&4.0n&s&10.0n&s",@CC(bold,cyan),%db(%eval(@@%1.tp),Fancy),@CC(bold,magenta),%1,@CC(blue),@%1.cwholds,@CC(bold,white),@%1.cwvalue,%concat(%repeat(" ",%eval(%len(%stripansi(@ztdhead))-%eval(44 + %if(@%1.cpm,%len(@%1.cpm),3)))),@ztcpm(@%1.cpm)))}
     #FUNCTION ztcpm  {%if(!%1,@CC(reset),@CC(bold,%if(%eval(%1/250)>4,white,%case(%eval(%1/250+1),red,red,yellow,green,white))))%if(%1,%1,"N/A")@CC(reset)cpms} 
#CLASS 0

#CLASS "Ztrader/Display/Messages"
    #ALIAS ztmUpdateDone {#SHOW {@ztlogo @CC(bold,green)Updating goods complete.}}
    #ALIAS ztmValDone    {#SHOW {@ztlogo @CC(bold,green)Finished valuing at @CC(bold,white)@ztvpost}}
#CLASS 0

#CLASS "ZTrader/Data/TradeShops"
    #VARIABLE ztposts {medievia|trellor|enatdae|naeramae|elwyn|rangerscabin|athelasea|derahvilladom|ruellia|newashton|riverton|seasend|mystara|lyryanoth|gdangus|karlisna|newgenesia|vanlarra|urvile}
    #VARIABLE derahvilladom {derahvilladom0elwyn1178gdangus2379lyryanoth1763medievia1070mystara1625newashton1783newgenesia1569rangerscabin1352riverton1622ruellia1910seasend2663vanlarra1836karlisna2294trellor2275athelasea1223enatdae862urvileNAnaeramaeNAGoodsartifacts|candles|herbs|nuts|hempFancyDeRah Villadom}
    #VARIABLE elwyn {derahvilladom1178elwyn0gdangus1863lyryanoth655medievia554mystara1109newashton1267newgenesia1053rangerscabin836riverton1106ruellia1394seasend2147vanlarra1320karlisna1778trellor1759athelasea707enatdae416urvileNAnaeramaeNAGoodsaloe|quills|balmFancyElwyn}
    #VARIABLE gdangus {derahvilladom2379elwyn1863gdangus0lyryanoth2448medievia1331mystara1380newashton1664newgenesia1926rangerscabin1061riverton1197ruellia2267seasend670vanlarra1591karlisna863trellor1516athelasea1262enatdae1617urvileNAnaeramaeNAGoodsbananas|seed|beans|rice|tobaccoFancyGdangus}
    #VARIABLE lyryanoth {derahvilladom1763elwyn655gdangus2448lyryanoth0medievia1139mystara1694newashton1852newgenesia1638rangerscabin1421riverton1691ruellia1979seasend2732vanlarra1905karlisna2363trellor2344athelasea1292enatdae1001urvileNAnaeramaeNAGoodsvenom|eggs|hides|glowworms|mushroomsFancyLyryanoth}
    #VARIABLE medievia {derahvilladom1070elwyn554gdangus1331lyryanoth1139medievia0mystara575newashton781newgenesia657rangerscabin302riverton572ruellia998seasend1615vanlarra786karlisna1246trellor1273athelasea221enatdae308urvileNAnaeramaeNAGoodsale|tar|salt|sugar|raisinsFancyMedievia}
    #VARIABLE mystara {derahvilladom1625elwyn1109gdangus1380lyryanoth1694medievia575mystara0newashton1336newgenesia1212rangerscabin743riverton307ruellia1553seasend1664vanlarra281karlisna1295trellor1828athelasea776enatdae863urvileNAnaeramaeNAGoodspearls|teak|carpet|maps|fishFancyMystara}
    #VARIABLE newashton {derahvilladom1783elwyn1267gdangus1664lyryanoth1852medievia781mystara1336newashton0newgenesia1190rangerscabin1063riverton1333ruellia1531seasend1948vanlarra1547karlisna1579trellor496athelasea666enatdae1021urvileNAnaeramaeNAGoodssilver|jewels|silicate|nails|copperFancyNewAshton}
    #VARIABLE newgenesia {derahvilladom1569elwyn1053gdangus1926lyryanoth1638medievia657mystara1212newashton1190newgenesia0rangerscabin939riverton1209ruellia399seasend2210vanlarra1423karlisna1841trellor1492athelasea770enatdae807urvileNAnaeramaeNAGoodstools|adamantite|coal|poppyseed|ironFancyNewGenesia}
    #VARIABLE rangerscabin {derahvilladom1352elwyn836gdangus1061lyryanoth1421medievia302mystara743newashton1063newgenesia939rangerscabin0riverton586ruellia1280seasend1345vanlarra954karlisna976trellor1555athelasea503enatdae590urvileNAnaeramaeNAGoodssap|furs|timber|rations|ivoryFancyRanger's Cabin}
    #VARIABLE riverton {derahvilladom1622elwyn1106gdangus1197lyryanoth1691medievia572mystara307newashton1333newgenesia1209rangerscabin586riverton0ruellia1550seasend1481vanlarra518karlisna1112trellor1707athelasea773enatdae860urvileNAnaeramaeNAGoodsbrandy|metals|honey|grapes|fertilizerFancyRiverton}
    #VARIABLE ruellia {derahvilladom1910elwyn1394gdangus2267lyryanoth1979medievia998mystara1553newashton1531newgenesia399rangerscabin1280riverton1550ruellia0seasend2551vanlarra1764karlisna2182trellor1833athelasea1111enatdae1148urvileNAnaeramaeNAGoodsemeralds|willowbark|cloaks|rope|waybreadFancyRuellia}
    #VARIABLE seasend {derahvilladom2663elwyn2147gdangus670lyryanoth2732medievia1615mystara1664newashton1948newgenesia2210rangerscabin1345riverton1481ruellia2551seasend0vanlarra1875karlisna1147trellor1800athelasea1546enatdae1901urvileNAnaeramaeNAGoodsopals|ambergris|shells|nets|kelpFancySea's End}
    #VARIABLE vanlarra {derahvilladom1836elwyn1320gdangus1591lyryanoth1905medievia786mystara281newashton1547newgenesia1423rangerscabin954riverton518ruellia1764seasend1875vanlarra0karlisna1506trellor2039athelasea987enatdae1074urvileNAnaeramaeNAGoodswands|crystal|rum|figs|molassesFancyVanlarra}
    #VARIABLE karlisna {derahvilladom2294elwyn1778gdangus863lyryanoth2363medievia1246mystara1295newashton1579newgenesia1841rangerscabin976riverton1112ruellia2182seasend1147vanlarra1506karlisna0trellor1347athelasea1177enatdae1532urvileNAnaeramaeNAGoodsbooks|cloth|spices|beer|datesFancyKarlisna}
    #VARIABLE trellor {derahvilladom2275elwyn1759gdangus1516lyryanoth2344medievia1273mystara1828newashton496newgenesia1492rangerscabin1555riverton1707ruellia1833seasend1800vanlarra2039karlisna1347trellor0athelasea1158enatdae1513urvileNAnaeramaeNAGoodsperfume|wine|oils|incense|inkFancyTrellor}
    #VARIABLE athelasea {derahvilladom1223elwyn707gdangus1262lyryanoth1292medievia221mystara776newashton666newgenesia770rangerscabin503riverton773ruellia1111seasend1546vanlarra987karlisna1177trellor1158athelasea0enatdae461urvileNAnaeramaeNAGoodsflowers|arrows|bows|art|parchmentFancyAthelasea}
    #VARIABLE enatdae {derahvilladom862elwyn416gdangus1617lyryanoth1001medievia308mystara863newashton1021newgenesia807rangerscabin590riverton860ruellia1148seasend1901vanlarra1074karlisna1532trellor1513athelasea461enatdae0urvileNAnaeramaeNAGoodsquilts|silk|fans|silkworms|illutianFancyE'nat'dae}
    #VARIABLE urvile {derahvilladomNAelwynNAgdangusNAlyryanothNAmedieviaNAmystaraNAnewashtonNAnewgenesiaNArangerscabinNArivertonNAruelliaNAseasendNAvanlarraNAkarlisnaNAtrellorNAathelaseaNAenatdaeNAurvileNAnaeramaeNAGoodsFancyUr-Vile}
    #VARIABLE naeramae {derahvilladomNAelwynNAgdangusNAlyryanothNAmedieviaNAmystaraNAnewashtonNAnewgenesiaNArangerscabinNArivertonNAruelliaNAseasendNAvanlarraNAkarlisnaNAtrellorNAathelaseaNAenatdaeNAurvileNAnaeramaeNAGoodsarmor|chains|mead|pelts|weaponsFancyNaeraMae}
#CLASS 0

#CLASS "ZTrader/Data/Goods"
#CLASS 0

#CLASS "ZTrader|Triggers|Valuing" {disable}
    #TRIGGER {A covered wagon horse can carry (%n) %w of (%w). We'll pay you (%n) gold for that.} {#CLASS "ZTrader/Data/Goods";%2.cwvalue = %3;%2.cwholds = %1;%2.cpm = %eval(%3/%db(%eval(@@%2.tp),@ztvpost));#CLASS 0;ztvalnext}
#CLASS 0
//
#CLASS "Ztrader|Triggers|Tradeposts" {disable}
    #TRIGGER {Hidden City}                          {ztvpost = "enatdae";ztpostfound}
    #TRIGGER {A Minotaur Trading Outpost}           {ztvpost = "naeramae";ztpostfound}
    #TRIGGER {A Quiet Temple Shop}                  {ztvpost = "elwyn";ztpostfound}
    #TRIGGER {A Ranger's Cabin}                     {ztvpost = "rangerscabin";ztpostfound}
    #TRIGGER {An Elven Marketplace}                 {ztvpost = "athelasea";ztpostfound}
    #TRIGGER {DeRah Villadom's Small Trading Post}  {ztvpost = "derahvilladom";ztpostfound}
    #TRIGGER {Hidden Valley Traders, Inc.}          {ztvpost = "ruellia";ztpostfound}
    #TRIGGER {Medievia Trading Shop}                {ztvpost = "medievia";ztpostfound}
    #TRIGGER {New Ashton Trading Post}              {ztvpost = "newashton";ztpostfound}
    #TRIGGER {Riverton Trading Partners}            {ztvpost = "riverton";ztpostfound}
    #TRIGGER {Sea's End Direct Merchants}           {ztvpost = "seasend";ztpostfound}
    #TRIGGER {Tanivsport Traders}                   {ztvpost = "mystara";ztpostfound}
    #TRIGGER {The Lizard Boulangere}                {ztvpost = "lyryanoth";ztpostfound}
    #TRIGGER {The Trading Post of G'dangus}         {ztvpost = "gdangus";ztpostfound}
    #TRIGGER {Trading Post of the City of Karlisna} {ztvpost = "karlisna";ztpostfound}
    #TRIGGER {Trading Post of the Dark Army}        {ztvpost = "newgenesia";ztpostfound}
    #TRIGGER {Trading Shop of Trellor City}         {ztvpost = "trellor";ztpostfound}
    #TRIGGER {Ur-vile Feeding Hall}                 {ztvpost = "urvile";ztpostfound}
    #TRIGGER {Vanlarra Imports and Exports}         {ztvpost = "vanlarra";ztpostfound}
#CLASS 0

#T- "Ztrader|Triggers|Tradeposts"
#T- "ZTrader|Triggers|Valuing"


Jesse Caebryn(53)
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » Finished MUD Scripts All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net