
Tudo que Pifafa postou
-
Experience History
Aumento a proposta pra quem conseguir fazer o sistema ganha 60 reais
-
Script de Histórico de exp.
Olá pessoal, meu script está apresentado o seguinte erro: Código que uso. function onThink(interval) if (tonumber(os.date("%d")) ~= getGlobalStorageValue(23456)) then setGlobalStorageValue(23456, (tonumber(os.date("%d")))) db.executeQuery("UPDATE `players` SET `onlinetime7`=`onlinetime6`, `onlinetime6`=`onlinetime5`, `onlinetime5`=`onlinetime4`, `onlinetime4`=`onlinetime3`, `onlinetime3`=`onlinetime2`, `onlinetime2`=`onlinetime1`, `onlinetime1`=`onlinetimetoday`, `onlinetimetoday`=0;") db.executeQuery("UPDATE `players` SET `exphist7`=`exphist6`, `exphist6`=`exphist5`, `exphist5`=`exphist4`, `exphist4`=`exphist3`, `exphist3`=`exphist2`, `exphist2`=`exphist1`, `exphist1`=`experience`-`exphist_lastexp`, `exphist_lastexp`=`experience`;") end db.executeQuery("UPDATE `players` SET `onlinetimetoday`=`onlinetimetoday`+60, `onlinetimeall`=`onlinetimeall`+60 WHERE `online` = 1;") return true end
-
ALAVANCA QUE CRIA MOBS
Post o script para que outras pessoas possam usar mano... ajudaria muita gente!
-
Cargos, Ranks e a volta do sistema de Medalhas!
Gostei muito, vou ser valorizado por seu usuário antigo ahahah.
-
Experience History
Aumento a proposta pra quem conseguir fazer o sistema ganha 30 reais
-
(Resolvido)Script Bugado.
Obrigado deu certo.
-
(Resolvido)Script Bugado.
Não deu certo ele consegue usa a magia.
-
(Resolvido)Script Bugado.
Ficando assim?! local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR) function onUseWeapon(cid, var) local skill = getPlayerRequiredSkillTries(cid, SKILL_DISTANCE, getPlayerSkillLevel(cid, SKILL_DISTANCE)) local target = getCreatureTarget(cid) local crit = math.random(1, 100) if getCreatureCondition(cid, CONDITION_ATTRIBUTES) then doPlayerSendTextMessage(cid, 27, "Voce nao pode usar o Exercise Bow com um buff ativo.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end if getCreatureName(target) == "Exercise Dummy" then if getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 0 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 19 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.7), false) -- 70% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 70%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.5), false) -- 50% doSendAnimatedText(getPlayerPosition(cid),"+ 50%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 20 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 29 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.5), false) -- 60% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 50%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.3), false) -- 40% doSendAnimatedText(getPlayerPosition(cid),"+ 30%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 30 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 39 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.4), false) -- 50% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 40%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.2), false) -- 30% doSendAnimatedText(getPlayerPosition(cid),"+ 20%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 40 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 49 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.3), false) -- 50% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 30%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.15), false) -- 25% doSendAnimatedText(getPlayerPosition(cid),"+ 15%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 50 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 59 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.1), false) -- 40% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 10%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.05), false) -- 20% doSendAnimatedText(getPlayerPosition(cid),"+ 5%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 60 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 69 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.03), false) -- 30% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 3%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.015), false) -- 15% doSendAnimatedText(getPlayerPosition(cid),"+ 1.5%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 70 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 79 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.02), false) -- 20% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 2%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.01), false) -- 10% doSendAnimatedText(getPlayerPosition(cid),"+ 1%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 80 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 89 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.01), false) -- 10% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 1%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.005), false) -- 5% doSendAnimatedText(getPlayerPosition(cid),"+ 0.5%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 90 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 99 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.005), false) -- 3% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.5%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0025), false) -- 1.5% doSendAnimatedText(getPlayerPosition(cid),"+ 0.25%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 100 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 109 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0025), false) -- 1.4% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.25%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0015), false) -- 0.7% doSendAnimatedText(getPlayerPosition(cid),"+ 0.15%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 110 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 119 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.001), false) -- 0.6% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.1%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0005), false) -- 0.3% doSendAnimatedText(getPlayerPosition(cid),"+ 0.05%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 120 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 129 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0005), false) -- 0.5% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.05%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.00025), false) -- 0.25% doSendAnimatedText(getPlayerPosition(cid),"+ 0.025%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 130 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0003), false) -- 0.25% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.03%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.00015), false) -- 0.15% doSendAnimatedText(getPlayerPosition(cid),"+ 0.015%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end end else return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você só pode usar o exercise weapon no 'Exercise Dummy'.") end end
-
(Resolvido)Script Bugado.
Essa seria a do paladino aumenta skill... No caso seria bom, ele não consegui usa a magia quando equipado com a arma hahahaha de treinar skill que no caso é um 19:01 You see a exercise bow that has 100 charges left. It can only be wielded properly by royal paladins of level 8 or higher. ItemID: [12691]. DecayTo: [7729]. Position: [X: 2055] [Y: 2041] [Z: 6]. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 160) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) local speed = createConditionObject(CONDITION_PARALYZE) setConditionParam(speed, CONDITION_PARAM_TICKS, 10000) setConditionFormula(speed, -0.5, 50, -0.5, 50) setCombatCondition(combat, speed) local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_SUBID, 2) setConditionParam(exhaust, CONDITION_PARAM_TICKS, 10000) setCombatCondition(combat, exhaust) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Não teria como por aqui uma condição que não se pode usa ela com spell?! <!-- EXERCISE WEAPONS --> <melee id="12688" level="8" unproperly="1" event="script" value="exercise_sword.lua"> <vocation name="Elite Knight"/> <vocation id="8" showInDescription="0"/> </melee> <melee id="12689" level="8" unproperly="1" event="script" value="exercise_axe.lua"> <vocation name="Elite Knight"/> <vocation id="8" showInDescription="0"/> </melee> <melee id="12690" level="8" unproperly="1" event="script" value="exercise_club.lua"> <vocation name="Elite Knight"/> <vocation id="8" showInDescription="0"/> </melee> <distance id="12691" level="8" swing="true" event="script" value="exercise_distance.lua"> <vocation name="Royal Paladin"/> <vocation id="7" showInDescription="0"/> </distance> <wand id="12692" level="8" event="script" value="exercise_staff.lua"> <vocation name="Master Sorcerer"/> <vocation name="Elder Druid"/> <vocation name="Royal Paladin"/> <vocation name="Elite Knight"/> <vocation id="5;6;7;8" showInDescription="0"/> </wand>
-
(Resolvido)Script Bugado.
Acredito que sejá qual quer magia que altere o skill..... Teria que por pra ele não ataca até volta ao normal kkk <instant name="Sharpshooter" words="utito tempo san" lvl="60" mana="450" prem="0" aggressive="0" selftarget="1" exhaustion="1500" groups="1,0" icon="135" needlearn="0" event="script" value="support/sharpshooter.lua"> <instant name="Protector" words="utamo tempo" lvl="55" mana="200" prem="0" aggressive="0" selftarget="1" exhaustion="1500" groups="1,0" icon="132" needlearn="0" event="script" value="support/protector.lua"> <instant name="Blood Rage" words="utito tempo" lvl="60" mana="290" prem="0" aggressive="0" selftarget="1" exhaustion="1500" groups="1,0" icon="133" needlearn="0" event="script" value="support/blood rage.lua">
-
(Resolvido)Script Bugado.
Olá uso esse script, como uma arma de exercício no meu otserver. Porem se player der alguma magia para aumenta o skill a mesma bug, dando 1% a cada hit e até mais 1skill a cada hit... Como poderia por pra bloquear uso de magias quando estão usando ela?! Ou até mesmo se pessoa estiver com uso de buff não poder usa a arma?! local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR) function onUseWeapon(cid, var) local skill = getPlayerRequiredSkillTries(cid, SKILL_DISTANCE, getPlayerSkillLevel(cid, SKILL_DISTANCE)) local target = getCreatureTarget(cid) local crit = math.random(1, 100) if getCreatureName(target) == "Exercise Dummy" then if getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 0 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 19 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.7), false) -- 70% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 70%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.5), false) -- 50% doSendAnimatedText(getPlayerPosition(cid),"+ 50%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 20 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 29 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.5), false) -- 60% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 50%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.3), false) -- 40% doSendAnimatedText(getPlayerPosition(cid),"+ 30%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 30 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 39 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.4), false) -- 50% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 40%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.2), false) -- 30% doSendAnimatedText(getPlayerPosition(cid),"+ 20%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 40 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 49 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.3), false) -- 50% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 30%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.15), false) -- 25% doSendAnimatedText(getPlayerPosition(cid),"+ 15%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 50 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 59 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.1), false) -- 40% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 10%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.05), false) -- 20% doSendAnimatedText(getPlayerPosition(cid),"+ 5%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 60 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 69 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.03), false) -- 30% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 3%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.015), false) -- 15% doSendAnimatedText(getPlayerPosition(cid),"+ 1.5%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 70 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 79 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.02), false) -- 20% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 2%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.01), false) -- 10% doSendAnimatedText(getPlayerPosition(cid),"+ 1%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 80 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 89 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.01), false) -- 10% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 1%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.005), false) -- 5% doSendAnimatedText(getPlayerPosition(cid),"+ 0.5%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 90 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 99 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.005), false) -- 3% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.5%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0025), false) -- 1.5% doSendAnimatedText(getPlayerPosition(cid),"+ 0.25%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 100 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 109 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0025), false) -- 1.4% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.25%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0015), false) -- 0.7% doSendAnimatedText(getPlayerPosition(cid),"+ 0.15%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 110 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 119 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.001), false) -- 0.6% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.1%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0005), false) -- 0.3% doSendAnimatedText(getPlayerPosition(cid),"+ 0.05%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 120 and getPlayerSkillLevel(cid, SKILL_DISTANCE) <= 129 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0005), false) -- 0.5% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.05%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.00025), false) -- 0.25% doSendAnimatedText(getPlayerPosition(cid),"+ 0.025%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end elseif getPlayerSkillLevel(cid, SKILL_DISTANCE) >= 130 then if crit <= 5 then doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.0003), false) -- 0.25% doSendAnimatedText(getPlayerPosition(cid),"CRIT+ 0.03%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) else doPlayerAddSkillTry(cid, SKILL_DISTANCE, math.ceil(skill*0.00015), false) -- 0.15% doSendAnimatedText(getPlayerPosition(cid),"+ 0.015%", TEXTCOLOR_RED) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return doCombat(cid, combat, var) end end else return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você só pode usar o exercise weapon no 'Exercise Dummy'.") end end
- Classic-Yurots [8.60] - Push Cruzado + Cast com Setas
-
Experience History
Alguma ideia?
-
Tradeoff Novo
tranquilo, eu estou procurando alguns sistema faz muitos dias mas estou com muita dificuldade de encontrar.
-
Tradeoff Novo
https://www.utorion.com/?subtopic=tradeoff
-
Tradeoff Novo
Pessoal não tem mais ajudado muito, estou procurando esse sistema também.
-
Npc Banker
Olá pessoal, vou posta meu npc Bank para vocês! O desgraçado funciona quando quer e bem entende, as vez pega o dinheiro e depois não pega mais, dai da um tempo volta funcionar!! Bizarrrrroooo Não sei por que faz isso mas vamos lá! local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local config = { transferDisabledVocations = {0} -- disable non vocation characters } local talkState, count, transfer = {}, {}, {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function onPlayerEndTrade(cid) npcHandler:onPlayerEndTrade(cid) end function onPlayerCloseChannel(cid) npcHandler:onPlayerCloseChannel(cid) end --///////////////////////////START SCRIPT(bank)///////////////////////////-- if(not getPlayerBalance) then getPlayerBalance = function(cid) local result = db.getResult("SELECT `balance` FROM `players` WHERE `id` = " .. getPlayerGUID(cid)) if(result:getID() == -1) then return false end local value = tonumber(result:getDataString("balance")) result:free() return value end doPlayerSetBalance = function(cid, balance) db.executeQuery("UPDATE `players` SET `balance` = " .. balance .. " WHERE `id` = " .. getPlayerGUID(cid)) return true end doPlayerWithdrawMoney = function(cid, amount) local balance = getPlayerBalance(cid) if(amount > balance or not doPlayerAddMoney(cid, amount)) then return false end doPlayerSetBalance(cid, balance - amount) return true end doPlayerDepositMoney = function(cid, amount) if(not doPlayerRemoveMoney(cid, amount)) then return false end doPlayerSetBalance(cid, getPlayerBalance(cid) + amount) return true end doPlayerTransferMoneyTo = function(cid, target, amount) local balance = getPlayerBalance(cid) if(amount > balance) then return false end local tid = getPlayerByName(target) if(tid > 0) then doPlayerSetBalance(tid, getPlayerBalance(tid) + amount) else if(playerExists(target) == FALSE) then return false end db.executeQuery("UPDATE `player_storage` SET `value` = `value` + '" .. amount .. "' WHERE `player_id` = (SELECT `id` FROM `players` WHERE `name` = '" .. escapeString(player) .. "') AND `key` = '" .. balance_storage .. "'") end doPlayerSetBalance(cid, getPlayerBalance(cid) - amount) return true end end local function getPlayerVocationByName(name) local result = db.getResult("SELECT `vocation` FROM `players` WHERE `name` = " .. db.escapeString(name)) if(result:getID() == -1) then return false end local value = result:getDataString("vocation") result:free() return value end local function isValidMoney(money) return (isNumber(money) and money > 0 and money < 4294967295) end local function getCount(string) local b, e = string:find("%d+") local money = b and e and tonumber(string:sub(b, e)) or -1 if(isValidMoney(money)) then return money end return -1 end function greetCallback(cid) talkState[cid], count[cid], transfer[cid] = 0, nil, nil return true end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end ---------------------------- help ------------------------ if msgcontains(msg, 'advanced') then if isInArray(config.transferDisabledVocations, getPlayerVocation(cid)) then selfSay("Once you are on the Tibian mainland, you can access new functions of your bank account, such as transferring money to other players safely or taking part in house auctions.", cid) else selfSay("Renting a house has never been this easy. Simply make a bid for an auction. We will check immediately if you have enough money.", cid) end talkState[cid] = 0 elseif msgcontains(msg, 'help') or msgcontains(msg, 'functions') then selfSay("You can check the {balance} of your bank account, {deposit} money or {withdraw} it. You can also {transfer} money to other characters, provided that they have a vocation.", cid) talkState[cid] = 0 elseif msgcontains(msg, 'bank') then npcHandler:say("We can change money for you. You can also access your bank account.", cid) talkState[cid] = 0 elseif msgcontains(msg, 'job') then npcHandler:say("I work in this bank. I can change money for you and help you with your bank account.", cid) talkState[cid] = 0 ---------------------------- balance --------------------- elseif msgcontains(msg, 'balance') then if getPlayerBalance(cid) >= 1000000000 then npcHandler:say('SURREAL! You must be very important, one of the billionaire players of this world! Your account balance is incredible ' .. doNumberFormat(getPlayerBalance(cid)) .. ' gold.', cid) talkState[cid] = 0 elseif getPlayerBalance(cid) >= 100000000 then npcHandler:say('I think you must be one of the richest inhabitants in the world! Your account balance is ' .. doNumberFormat(getPlayerBalance(cid)) .. ' gold.', cid) talkState[cid] = 0 elseif getPlayerBalance(cid) >= 10000000 then npcHandler:say('You have made ten millions and it still grows! Your account balance is ' .. doNumberFormat(getPlayerBalance(cid)) .. ' gold.', cid) talkState[cid] = 0 elseif getPlayerBalance(cid) >= 1000000 then npcHandler:say('Wow, you have reached the magic number of a million gp!!! Your account balance is ' .. doNumberFormat(getPlayerBalance(cid)) .. ' gold!', cid) talkState[cid] = 0 elseif getPlayerBalance(cid) >= 100000 then npcHandler:say('You certainly have made a pretty penny. Your account balance is ' .. doNumberFormat(getPlayerBalance(cid)) .. ' gold.', cid) talkState[cid] = 0 else selfSay("Your account balance is " .. doNumberFormat(getPlayerBalance(cid)) .. " gold.", cid) talkState[cid] = 0 end ---------------------------- deposit --------------------- elseif msgcontains(msg, 'deposit all') and getPlayerMoney(cid) > 0 then count[cid] = getPlayerMoney(cid) - getPlayerBalance(cid) if not isValidMoney(count[cid]) then selfSay("Sorry, but you can't deposit that much.", cid) talkState[cid] = 0 return false end if count[cid] < 1 then selfSay("You don't have any money to deposit in you inventory..", cid) talkState[cid] = 0 else selfSay("Would you really like to deposit " .. count[cid] .. " gold?", cid) talkState[cid] = 2 end elseif msgcontains(msg, 'deposit') then if getCount(msg) == 0 then selfSay("You are joking, aren't you??", cid) talkState[cid] = 0 elseif getCount(msg) ~= -1 then if getPlayerMoney(cid) - getPlayerBalance(cid) >= getCount(msg) then count[cid] = getCount(msg) if isValidMoney(count[cid]) then selfSay("Would you really like to deposit " .. count[cid] .. " gold?", cid) talkState[cid] = 2 end else selfSay("You do not have enough gold.", cid) talkState[cid] = 0 end else selfSay("Please tell me how much gold it is you would like to deposit.", cid) talkState[cid] = 1 end elseif talkState[cid] == 1 then if getCount(msg) == -1 then selfSay("Please tell me how much gold it is you would like to deposit.", cid) talkState[cid] = 1 else if getPlayerMoney(cid) >= getCount(msg) then count[cid] = getCount(msg) if isValidMoney(count[cid]) then selfSay("Would you really like to deposit " .. count[cid] .. " gold?", cid) talkState[cid] = 2 end else selfSay("You do not have enough gold.", cid) talkState[cid] = 0 end end elseif talkState[cid] == 2 then if msgcontains(msg, 'yes') then if not doPlayerDepositMoney(cid, count[cid]) then selfSay("You don\'t have enough gold.", cid) else selfSay("Alright, we have added the amount of " .. count[cid] .. " gold to your balance. You can withdraw your money anytime you want to. Your account balance is " .. getPlayerBalance(cid) .. ".", cid) end elseif msgcontains(msg, 'no') then selfSay("As you wish. Is there something else I can do for you?", cid) end talkState[cid] = 0 ---------------------------- withdraw -------------------- elseif msgcontains(msg, 'withdraw') then if getCount(msg) == 0 then selfSay("Sure, you want nothing you get nothing!'", cid) talkState[cid] = 0 elseif getCount(msg) ~= -1 then if getPlayerBalance(cid) >= getCount(msg) then count[cid] = getCount(msg) if isValidMoney(count[cid]) then selfSay("Are you sure you wish to withdraw " .. count[cid] .. " gold from your bank account?", cid) talkState[cid] = 7 else selfSay("There is not enough gold on your account.", cid) talkState[cid] = 0 end else selfSay("There is not enough gold on your account.", cid) talkState[cid] = 0 end else selfSay("Please tell me how much gold you would like to withdraw.", cid) talkState[cid] = 6 end elseif talkState[cid] == 6 then if getCount(msg) == -1 then selfSay("Please tell me how much gold you would like to withdraw.", cid) talkState[cid] = 6 else if getPlayerBalance(cid) >= getCount(msg) then count[cid] = getCount(msg) if isValidMoney(count[cid]) then selfSay("Are you sure you wish to withdraw " .. count[cid] .. " gold from your bank account?", cid) talkState[cid] = 7 end else selfSay("There is not enough gold on your account.", cid) talkState[cid] = 0 end end elseif talkState[cid] == 7 then if msgcontains(msg, 'yes') then if not doPlayerWithdrawMoney(cid, count[cid]) then selfSay("There is not enough gold on your account. Your account balance is " .. getPlayerBalance(cid) .. ". Please tell me the amount of gold coins you would like to withdraw.", cid) talkState[cid] = 0 else selfSay("Here you are, " .. count[cid] .. " gold. Please let me know if there is something else I can do for you.", cid) talkState[cid] = 0 end elseif msgcontains(msg, 'no') then selfSay("As you wish. Is there something else I can do for you?", cid) talkState[cid] = 0 end ---------------------------- transfer -------------------- elseif msgcontains(msg, 'transfer') then selfSay("Please tell me the amount of gold you would like to transfer.", cid) talkState[cid] = 11 elseif talkState[cid] == 11 then count[cid] = getCount(msg) if getPlayerBalance(cid) < count[cid] then selfSay("You dont have enough money on your bank account.", cid) talkState[cid] = 0 return true end if isValidMoney(count[cid]) then selfSay("Who would you like transfer " .. count[cid] .. " gold to?", cid) talkState[cid] = 12 else selfSay("Is isnt valid amount of gold to transfer.", cid) talkState[cid] = 0 end elseif talkState[cid] == 12 then transfer[cid] = msg if getCreatureName(cid) == transfer[cid] then selfSay("Ekhm, You want transfer money to yourself? Its impossible!", cid) talkState[cid] = 0 return true end if isInArray(config.transferDisabledVocations, getPlayerVocation(cid)) then selfSay("Your vocation cannot transfer money.", cid) talkState[cid] = 0 end if playerExists(transfer[cid]) then selfSay("So you would like to transfer " .. count[cid] .. " gold to \"" .. transfer[cid] .. "\" ?", cid) talkState[cid] = 13 else selfSay("Player with name \"" .. transfer[cid] .. "\" doesnt exist.", cid) talkState[cid] = 0 end elseif talkState[cid] == 13 then if msgcontains(msg, 'yes') then local targetVocation = getPlayerVocationByName(transfer[cid]) if not targetVocation or isInArray(config.transferDisabledVocations, targetVocation) or not doPlayerTransferMoneyTo(cid, transfer[cid], count[cid]) then selfSay("This player does not exist on this world or have no vocation.", cid) else selfSay("You have transferred " .. count[cid] .. " gold to \"" .. transfer[cid] .."\".", cid) transfer[cid] = nil end elseif msgcontains(msg, 'no') then selfSay("As you wish. Is there something else I can do for you?", cid) end talkState[cid] = 0 end return true end --///////////////////////////END SCRIPT(bank)///////////////////////////-- npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Experience History
Não sei amigo o que pessoal sempre usava era isso
-
Classic-Yurots [8.60] - Push Cruzado + Cast com Setas
Poderia deixa pra loga apenas com Otclient, mas pessoal gosta de BOT BOT BOT kkkk Na verdade sonho no dia que Kolisão tive interesse em continuar com projeto do ot, hoje deixei ele muitooo maior do que era e mais resolvido digamos por passagem, vivo fazendo isso nesses longo 10 anos de ot.
- Classic-Yurots [8.60] - Push Cruzado + Cast com Setas
-
[8.6] Labia System
Gostaria de saber como faço pro player ver o tanto de Labia que ele já tem? !labia level Já achei kkk
-
(Resolvido)Client 8.60
Eita caralho, vou testa isso imediatamente espero que consiga kkk
-
[PEDIDO] Contagem Regressiva (GESIOR)
Olá posso tenta te ajuda nessa parte! <!-- Countdown INICIO --> <div id="CountDownBox" class="Themebox" style="background-image: url('layouts/tibiarl/images/themeboxes/countdown/countdown_box.png');"> <span class="countdowntext">Inauguração!</span> <div style="background:url(./layouts/tibiarl/images/themeboxes/countdown/Cuckoo_Clock.gif);width: 43px;height: 32px;position: absolute;margin-left: -2px;margin-top: 2px;"></div> <div class="Bottom" style="background-image: url('layouts/tibiarl/images/general/box-bottom.gif');"></div> <div id="countdown"> <div style="margin-top: 39px;margin-left: 8px;"> <b><span class="days" style="margin-left: 5px;"></span></b> </div> <div> <div class="Separator" style="background-image: url(./layouts/tibiarl/images/themeboxes/countdown/separator.png);"></div> <b><span class="hours"></span></b> </div> <div> <div class="Separator" style="background-image: url(./layouts/tibiarl/images/themeboxes/countdown/separator.png);left: 0px;"></div> <b><span class="minutes"></span></b> </div> <div> <div class="Separator" style="background-image: url(./layouts/tibiarl/images/themeboxes/countdown/separator.png);margin-left: -7px;"></div> <b><span class="seconds"></span></b> </div> </div> <script> jQuery(function($) { function getTimeRemaining(endtime) { var t = Date.parse(endtime) - Date.parse(new Date()); var seconds = Math.floor((t / 1000) % 60); var minutes = Math.floor((t / 1000 / 60) % 60); var hours = Math.floor((t / (1000 * 60 * 60)) % 24); var days = Math.floor(t / (1000 * 60 * 60 * 24)); return { 'total': t, 'days': days, 'hours': hours, 'minutes': minutes, 'seconds': seconds }; } function initializeClock(id, endtime, message) { var clock = document.getElementById(id); var daysSpan = clock.querySelector('.days'); var hoursSpan = clock.querySelector('.hours'); var minutesSpan = clock.querySelector('.minutes'); var secondsSpan = clock.querySelector('.seconds'); function updateClock() { var t = getTimeRemaining(endtime); daysSpan.innerHTML = t.days; hoursSpan.innerHTML = ('0' + t.hours).slice(-2); minutesSpan.innerHTML = ('0' + t.minutes).slice(-2); secondsSpan.innerHTML = ('0' + t.seconds).slice(-2); if(t.total<=0){ clearInterval(timeinterval); document.getElementById(id).innerHTML = message; } } updateClock(); var timeinterval = setInterval(updateClock, 1000); } var deadline = 'March 20 2019 15:00:00'; initializeClock('countdown', deadline, '<div style="margin-top: 30px;margin-left: 45px;"><small><small><b>Servidor Iniciado!</b></small></small></div>') }); </script> </div> <!-- Countdown FIM --> Use na parte do site\layouts\tibiarl layout.php Lembro que só por ali o dia está certinho Ficaria assim depois de tempo certo está contato! Eu queria pode altera ele pra " Inaugurado" Por os dias, que está online no caso meu ot estaria a 1 ano já kkk.
-
Experience History
Seria a exp diária do dia mesmo, tanto que ele altero, Vodkart seu sistema autoloot, teria como por um boost? Pessoa compra ( algo no site)e ai já vende o item automaticamente algo assim? Site Geisor.
-
Experience History
Olá pessoal alguém teria esse sistema para OT 8.60 ? É um objetivo que tenho por meu servidor, mas não estou conseguindo encontra nenhum lugar.