From 548d50ea49b69783fab9c159e350761054fc6ced Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Tue, 12 May 2020 20:45:17 +0300 Subject: [PATCH] finally finish training monk chamber --- New Text Document.txt | 2 +- data/movements/movements.xml | 2 + data/movements/scripts/misc/step_trainers.lua | 70 ++++++++++++++++++ data/world792/map.otbm | Bin 79968281 -> 79968496 bytes 4 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 data/movements/scripts/misc/step_trainers.lua diff --git a/New Text Document.txt b/New Text Document.txt index 502a420..62136e4 100644 --- a/New Text Document.txt +++ b/New Text Document.txt @@ -1 +1 @@ -next: 17696 \ No newline at end of file +next: 17712 \ No newline at end of file diff --git a/data/movements/movements.xml b/data/movements/movements.xml index 07ab4bc..6f254bc 100644 --- a/data/movements/movements.xml +++ b/data/movements/movements.xml @@ -680,6 +680,8 @@ + + diff --git a/data/movements/scripts/misc/step_trainers.lua b/data/movements/scripts/misc/step_trainers.lua new file mode 100644 index 0000000..ec6c0ca --- /dev/null +++ b/data/movements/scripts/misc/step_trainers.lua @@ -0,0 +1,70 @@ +local trainingRoomExit = {x = 32231, y = 32200, z = 7} + +function checkTrainingTile(playerId, pos, movementId) + local player = Player(playerId) + if not player then + return true + end + + if getTopCreature(pos).uid ~= playerId then + return true + end + + if player:getStorageValue(17709) >= 10800000 then + player:teleportTo(trainingRoomExit) + Position(pos):sendMagicEffect(CONST_ME_TELEPORT) + player:sendTextMessage(MESSAGE_INFO_DESCR, "Your training time have expired. Come back tomorrow.") + Position(player:getPosition()):sendMagicEffect(CONST_ME_TELEPORT) + return true + end + + local trainingTime = player:getStorageValue(17709) + player:setStorageValue(17709, trainingTime + 60000) + player:sendTextMessage(MESSAGE_STATUS_SMALL, "You have " .. math.modf((10800000 - trainingTime) / 1000 / 60) .. " minutes of remaining training time in the Thais training chamber.") + addEvent(checkTrainingTile, 60000, playerId, pos, movementId) + return true +end + +function onStepIn(creature, item, position, fromPosition) + local player = creature:getPlayer() + if not player then + return true + end + + local dayOfYear = tonumber(os.date("%j")) + + -- Reset counting storage value if it does not match the last time saved day + if player:getStorageValue(17711) ~= dayOfYear then + player:setStorageValue(17709, 0) + end + + if player:getStorageValue(17711) == dayOfYear and player:getStorageValue(17709) >= 10800000 then + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You are not allowed to train today anymore. Come back tomorrow.") + if position == fromPosition then + player:teleportTo(trainingRoomExit) + else + player:teleportTo(fromPosition) + end + return true + end + + if player:getStorageValue(17710) > os.time() then + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have 1 minute training monk chamber step in timeout.") + if position == fromPosition then + player:teleportTo(trainingRoomExit) + else + player:teleportTo(fromPosition) + end + return true + end + + local playerId = player:getId() + local pos = player:getPosition() + + local trainingTime = player:getStorageValue(17709) + player:setStorageValue(17709, trainingTime + 60000) + player:sendTextMessage(MESSAGE_STATUS_SMALL, "You have " .. math.modf((10800000 - trainingTime) / 1000 / 60) .. " minutes of remaining training time in the Thais training chamber.") + player:setStorageValue(17710, os.time() + 1 * 60) + player:setStorageValue(17711, dayOfYear) + addEvent(checkTrainingTile, 60000, playerId, pos, item:getMovementId()) +end \ No newline at end of file diff --git a/data/world792/map.otbm b/data/world792/map.otbm index 36b3efd7185f896372bbed1bd1827dad2827e9e4..aba8d3e72ad596e0922f72041df42389b9523051 100644 GIT binary patch delta 6108 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 a3wA>Y?18-y3j1I`9PkKrK7Sr3+x-tV9!fv} delta 5911 zcmY+^WpGu?5{BV3J4SFPxCVFFI16`ocMt9^fe#3mOC8Z z#WMFzVqb?N!uzFPWQ6z4crHr&xG3cl(xaPY%6mNbiwxW5iaxnZHukj4X;&wQBWz@E z%hZn+wf%#^?yRf-)}fYJW&S&RxO?_QVIzlIX14oM(gnJvbnjSWlx2FlXFnm!9Q26V zaY~S7IywGtn{$7!Iqd|?)OBw&)V55O#8Cwomi&9dTgxot>%M~5t1R=!y*7M}>yF%; zf7@W0dhYIZH(Tbnw}E@Q6XE^BFYMV~SB1OB!u^)n|M$oG`*U3SJN2mJmI-vPih1(i_MJ{!rnfu$ zQs-R_qOz0yFIvV$2`CArpfr?$vQQ4nLj|Y^m7p?IfvQjqszVK^3ALa$)PcHC z59&h$Xb6p|dkBXQ@DV=2XZQkN z;TwF1AMg`?!Eg8j5fEu6_+NCm0s{{408j7&Z}5R=;0w_q2E>F|5F6q^T!;tpAps;Y}GJrp1giMebvOreI2H7D85jm18ZR&tcMM-5jMeQ*aBN&8*GOi zuoFUI7wm>Tuow2heh7mDa1ai`VK@Ru;TRl;6L1nv!D%=HXW<;2hYN5KF2QBE0$1T0 zT!$NQ6K=t6xC3|L9^8iq@DLusV|W5j;Tb%K7w{5Z!E1N}Z{Z!hhj91+AK?>xhA;3H zzQK3+0YBjv{Dwae0g(>Z^XK6T3^>38Ji!aR!3Uy&FGPnJ5EEiSY={GKAs)ns1dtFC zL1IV(evlNBL2^g|DIpc4hBS~C(m{I20RE5>GC^j@0$Cv&WQQD(6LLXr$OCyHALIuo z6o7(I2ns_HCx0DpZ5&Py=d0EvOB3pf1#d z`p^IxLL+DlO`s_>gXYizT0$#m4Q-$;w1f800Xjk_2!PJe1-e2v=ng%gC-j2e&F!7v1d!Y~*PBOnk)!YB}ohA}V}f?ynshY4WAM3@AVAsD8>RG0?SVFt{E zSuh*sz+9LI^I-ujgb-K+i(v^Yg=MfDR=`SF1*>5Vtc7*39yY*6*aVwl3v7jLupM^5 zP6&lvup9QkUf2iwAq)<{K{y15;RqasV{jZ!z)3g-r{N5og>!HoF2F^&1ef6oT!m|J z9d5u)xCOW24%~%%a33DPLwE#_;R!s2XYd?ez)N@qui*{6g?I2C!r=pagir7pzQ9-b z2H)Wa{Dfcd8~#89M0&WMKTlU+zyTiM30~k0J`fFjAv(l>m=FtMLmY?;@gP1VfP|0; z5@#%AU`;v z02G8mP#B6pQ78t*!GaP{5=ud7CA zhX&9P8bM=d0!^VAG=~<@5?VoPXajAb9khoI&=ER80Ca{f&=tBtcjy5lOaL1u!X%gs!7v4;!Zer;Ghimn zg4r+!=E6Lf4+~%+guo(L3`<}sEQ95+0#?E*SPg4nEv$p}umLv0CfE#HU@L5c?XUxO fLMZHl-LMDt!amp!VQ>Hr!XeKv*YoFjy2JkfTtQta