zmud script:)) - Delving , 25.11.2003 03:25 MSK | ||
Мад сегдня ночью не работал и от нечего делать ,я занялся всякой ерундой ДЕло в том что у меня давно (как и у большинства )есть считалка : сколько осталось експы до levelup и тд Только после каждого gain level мне приходилось в ручную вбивать новое требуемое кол-во експы Вот я и решил все енто автоматизировать. Сразу предупрежу , что никому это не навязываю, что уверен , что у многих есть более лучшее решение этой "проблемы" а второй половине это вообще нафиг не надо и так далее.. Так что не надо меня как всегда бить по почкам ,когда я что-то выкладвваю:) в zmude 6.16 ( не знаю есть ли в версиях ниже) ,есть оператор выполнения команд из файлов маунтим файл : #file 1 test.txt выполняем 3 строчку из этого файла так как буд-то ввели эту строчку в консоль: #read 1 3 и если file.txt: ----begin file.txt--- bla bla bla #var exp 1000 bla -----end file.txt---- то выполнится: #var exp 1000 посидев часик над http://www.slothmud.org/sloth/experience.shtml я перелопалил ее в нужный мне вид и так: -----------begin prime.txt-------------- #var 1exp 1;#var 1gold 0 #var 1exp 2000;#var 1gold 150 #var 1exp 4000;#var 1gold 200 #var 1exp 9000;#var 1gold 250 #var 1exp 15000;#var 1gold 300 #var 1exp 20000;#var 1gold 540 #var 1exp 30000;#var 1gold 780 #var 1exp 40000;#var 1gold 1020 #var 1exp 80000;#var 1gold 1026 #var 1exp 120000;#var 1gold 1500 #var 1exp 150000;#var 1gold 2400 #var 1exp 200000;#var 1gold 3300 #var 1exp 250000;#var 1gold 4200 #var 1exp 300000;#var 1gold 5100 #var 1exp 400000;#var 1gold 6000 #var 1exp 450000;#var 1gold 8400 #var 1exp 500000;#var 1gold 10800 #var 1exp 550000;#var 1gold 13200 #var 1exp 600000;#var 1gold 15600 #var 1exp 700000;#var 1gold 18000 #var 1exp 800000;#var 1gold 21600 #var 1exp 1000000;#var 1gold 25200 #var 1exp 1500000;#var 1gold 28800 #var 1exp 2000000;#var 1gold 32400 #var 1exp 2500000;#var 1gold 36000 #var 1exp 3500000;#var 1gold 43200 #var 1exp 4700000;#var 1gold 50400 #var 1exp 6000000;#var 1gold 57600 #var 1exp 7300000;#var 1gold 64800 #var 1exp 8600000;#var 1gold 72000 #var 1exp 9900000;#var 1gold 100800 #var 1exp 11000000;#var 1gold 129600 #var 1exp 13000000;#var 1gold 158400 #var 1exp 15000000;#var 1gold 187200 #var 1exp 18300000;#var 1gold 216000 #var 1exp 21500000;#var 1gold 302400 #var 1exp 25000000;#var 1gold 388800 #var 1exp 30000000;#var 1gold 475200 #var 1exp 35000000;#var 1gold 561600 #var 1exp 40000000;#var 1gold 648000 ----------end prime.txt--------- ----------begin secondary.txt------- #var 2exp 4;#var 2gold 200 #var 2exp 8000;#var 2gold 300 #var 2exp 16000;#var 2gold 400 #var 2exp 32000;#var 2gold 500 #var 2exp 45000;#var 2gold 600 #var 2exp 70000;#var 2gold 1200 #var 2exp 100000;#var 2gold 1800 #var 2exp 140000;#var 2gold 2040 #var 2exp 280000;#var 2gold 2520 #var 2exp 360000;#var 2gold 3000 #var 2exp 550000;#var 2gold 4800 #var 2exp 800000;#var 2gold 6600 #var 2exp 1000000;#var 2gold 8400 #var 2exp 1200000;#var 2gold 10200 #var 2exp 1600000;#var 2gold 12000 #var 2exp 1800000;#var 2gold 16800 #var 2exp 2000000;#var 2gold 21660 #var 2exp 2200000;#var 2gold 26400 #var 2exp 2400000;#var 2gold 31200 #var 2exp 2800000;#var 2gold 36000 #var 2exp 3200000;#var 2gold 43200 #var 2exp 4000000;#var 2gold 50400 #var 2exp 6000000;#var 2gold 57600 #var 2exp 8000000;#var 2gold 64800 #var 2exp 10000000;#var 2gold 72000 #var 2exp 12000000;#var 2gold 86400 #var 2exp 14800000;#var 2gold 100800 #var 2exp 18000000;#var 2gold 115200 #var 2exp 21000000;#var 2gold 129600 #var 2exp 28000000;#var 2gold 144000 #var 2exp 32000000;#var 2gold 201600 #var 2exp 36000000;#var 2gold 259200 #var 2exp 39000000;#var 2gold 316800 #var 2exp 45000000;#var 2gold 374400 #var 2exp 50800000;#var 2gold 432000 #var 2exp 60500000;#var 2gold 604800 #var 2exp 65000000;#var 2gold 777600 #var 2exp 70000000;#var 2gold 950400 #var 2exp 85000000;#var 2gold 1123200 #var 2exp 90000000;#var 2gold 1296000 ------end secondary.txt------- -------begin tertiary.txt------- #var 3exp 12000;#var 3gold 300 #var 3exp 24000;#var 3gold 450 #var 3exp 48000;#var 3gold 600 #var 3exp 96000;#var 3gold 750 #var 3exp 135000;#var 3gold 900 #var 3exp 210000;#var 3gold 1620 #var 3exp 300000;#var 3gold 2340 #var 3exp 420000;#var 3gold 3060 #var 3exp 840000;#var 3gold 3780 #var 3exp 1080000;#var 3gold 4500 #var 3exp 1650000;#var 3gold 9600 #var 3exp 2400000;#var 3gold 13200 #var 3exp 3000000;#var 3gold 12600 #var 3exp 3600000;#var 3gold 15300 #var 3exp 4800000;#var 3gold 18000 #var 3exp 5400000;#var 3gold 25500 #var 3exp 6000000;#var 3gold 32400 #var 3exp 6600000;#var 3gold 39600 #var 3exp 7200000;#var 3gold 46800 #var 3exp 8400000;#var 3gold 54000 #var 3exp 9600000;#var 3gold 64800 #var 3exp 12000000;#var 3gold 75600 #var 3exp 18000000;#var 3gold 86400 #var 3exp 24000000;#var 3gold 97200 #var 3exp 30000000;#var 3gold 108000 #var 3exp 36000000;#var 3gold 129600 #var 3exp 44400000;#var 3gold 151200 #var 3exp 54000000;#var 3gold 172800 #var 3exp 63000000;#var 3gold 194400 #var 3exp 84000000;#var 3gold 216000 #var 3exp 96000000;#var 3gold 302400 #var 3exp 108000000;#var 3gold 388800 #var 3exp 117000000;#var 3gold 475200 #var 3exp 135000000;#var 3gold 561600 #var 3exp 152400000;#var 3gold 648000 #var 3exp 181500000;#var 3gold 907200 #var 3exp 195000000;#var 3gold 1166400 #var 3exp 210000000;#var 3gold 1425600 #var 3exp 255000000;#var 3gold 1684800 #var 3exp 270000000;#var 3gold 1944000 -------end tertiary.txt-------- ------begin quad.txt--------- #var 4exp 40000;#var 4gold 400 #var 4exp 80000;#var 4gold 600 #var 4exp 160000;#var 4gold 800 #var 4exp 320000;#var 4gold 1000 #var 4exp 450000;#var 4gold 1200 #var 4exp 700000;#var 4gold 2160 #var 4exp 1000000;#var 4gold 3120 #var 4exp 1400000;#var 4gold 4080 #var 4exp 2800000;#var 4gold 5040 #var 4exp 3600000;#var 4gold 6000 #var 4exp 5500000;#var 4gold 9600 #var 4exp 8000000;#var 4gold 13200 #var 4exp 10000000;#var 4gold 16800 #var 4exp 12000000;#var 4gold 20400 #var 4exp 16000000;#var 4gold 24000 #var 4exp 18000000;#var 4gold 33600 #var 4exp 20000000;#var 4gold 43200 #var 4exp 22000000;#var 4gold 52800 #var 4exp 24000000;#var 4gold 62400 #var 4exp 28000000;#var 4gold 72000 #var 4exp 32000000;#var 4gold 86400 #var 4exp 40000000;#var 4gold 100800 #var 4exp 60000000;#var 4gold 115200 #var 4exp 80000000;#var 4gold 129600 #var 4exp 100000000;#var 4gold 144000 #var 4exp 120000000;#var 4gold 172800 #var 4exp 148000000;#var 4gold 201600 #var 4exp 180000000;#var 4gold 230400 #var 4exp 210000000;#var 4gold 259200 #var 4exp 280000000;#var 4gold 288000 #var 4exp 320000000;#var 4gold 403200 #var 4exp 360000000;#var 4gold 518400 #var 4exp 390000000;#var 4gold 633600 #var 4exp 450000000;#var 4gold 748800 #var 4exp 508000000;#var 4gold 864000 #var 4exp 605000000;#var 4gold 1209600 #var 4exp 650000000;#var 4gold 1555200 #var 4exp 700000000;#var 4gold 1900800 #var 4exp 850000000;#var 4gold 2246400 #var 4exp 900000000;#var 4gold 2592000 ----end quad.txt--------- аватаров опустим,сорьки.. эти 4 файла нужно кинуть в директорию zmud'а теперь алиас с помощью которого мождно будет работать с этой "базой данных:)" #ALIAS level {#pr primelevel "enter your prime level";#pr secondarylevel "enter your secondary level";#pr tertiarylevel "enter your tertiary level";#pr quadlevel "enter your quad level";#FILE 1 prime.txt;#FILE 2 secondary.txt;#FILE 3 tertiary.txt;#FILE 4 quad.txt;#READ 1 @primelevel+1;#READ 2 @secondarylevel+1;#READ 3 @tertiarylevel+1;#READ 4 @quadlevel+1} теперь набрал в консоли level , в соответствующие переменные запишется необходимыо кол-во експы м денег для всех классов на данный момент игры. (т.е получил новый уровень операцию level стоит повторить) тперь триггер, который будет считать сколько денег и експы реально не хватат до следующих уровней: #TRIGGER {^You have &exp unused experience points.} {#math 1needexp @1exp-@exp;#math 2needexp @2exp-@exp;#math 3needexp @3exp-@exp;#math 4needexp @4exp-@exp;#math 1needgold @1gold-@allcoins;#math 2needgold @2gold-@allcoins;#math 3needgold @3gold-@allcoins;#math 4needgold @4gold-@allcoins} таким образом в переменной 1needexp записано кол-во експы необходирмой для следующего уровня. в переменной 1needgold - золото и так делее переменная @allcoins - это общее кол-во денег у чара лично я подсчитываю ее так: #CLASS {bank} #ALIAS dep {deposit %1;#math coins @coins-%1;#math bank @bank+%1} #ALIAS with {withdraw %1;#math coins @coins+%1;#math bank @bank-%1} #TRIGGER {^You have &coins gold coins.} {#math allcoins @bank+@coins} #TRIGGER {^The teller tells you, 'You have &bank coins in the bank.'} {} #TRIGGER {^You keep %1 coins.} {#math coins @coins+%1;#math allcoins @bank+@coins} #TRIGGER {^Your share is %1 coins.} {#math coins @coins+%1;#math allcoins @bank+@coins} #CLASS 0 | ||
|