Postado Maio 30, 2015 10 anos Eu gostaria de saber se tem como eu fazer adição, multiplicações etc... com condições e este tipo de coisa e como faria isso. Exemplo doAddCondition(cid, condition) Add condição ao jogador vezes o level do jogador. Eu já fiz uma tentativa mas não deu muito certo, eu gostaria de aprender um pouco dessa parte se alguém poder me dizer se tem como, e um pouco de explicação sobre.
Postado Maio 30, 2015 10 anos Claro que tem... Os operadores válidos são: Soma ( + ), Subtração ( - ), Multiplicação ( * ), Divisão ( / ), Raiz ( ^ ) e Resto ( % ). local a,b = 10, 5 print('Soma (+): '.. a + b) print('Subtração (-): '.. a - b) print('Multiplicação (*): '.. a * b) print('Divisão (/): '.. a / b) print('Raiz (^): '.. a ^ b) print('Resto (%): '.. a % b) vc poderia fazer algo como doAddCondition(cid,condition*getPlayerLevel(cid)) ou em porcentagem por exemplo: local percent = 10 doAddCondition(cid, getPlayerLevel(cid)*(percent/100)) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Maio 31, 2015 10 anos Autor Neste caso eu tentei fazer eu achei que pudesse ir mesmo sem entender de script pelo pouco que estou mexendo eu achei que deveria dar o problema é que quando eu fiz esta multiplicação ocorre o que segue abaixo. [Error - TalkAction Interface] data/talkactions/scripts/correr.lua:onSay Description: (luaDoAddCondition) Condition not found Abaixo a script forma que tentei, então quando me deparei com o erro fiquei me perguntando se era mesmo possível fazer isto. Com certeza estou fazendo algo errado, então vim em busca de um pouco de conhecimento para me melhorar, estou disposta a aprender a fazer scripts. doAddCondition(cid,condition*getPlayerLevel(cid)) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) setConditionFormula(condition, 0.3, -24, 0.3, -24) function onSay(cid, words, param) local pos = getThingPos(cid) local tempo = 1-- em segundos if (os.time() - getPlayerStorageValue(cid, "correr")) >= tempo then setPlayerStorageValue(cid, "correr", os.time()) if(param == '') then doSendMagicEffect(pos, 12) doCreatureSay(cid, "Strong Haste", 20, false, 0, pos) doAddCondition(cid,condition*getPlayerLevel(cid)) end local t = string.explode(param, '"') if(t[2]) then doCreatureSay(cid, "".. t[2], 20, false, 0, pos) doSendMagicEffect(pos, 12) doAddCondition(cid,condition*getPlayerLevel(cid)) end else doSendMagicEffect(pos, 2) doPlayerSendCancel(cid, "You are exhausted.") end return true end O que queria exatamente era fazer o player ficar mais rápido durante determinados segundos, quanto maior level mais rápido fica.Quando usa-se o correr. Eu tentei de outra forma que seria doChangeSpeed(cid, 400) mas ele seta uma velocidade no player que dura o tempo todo, então acabei deixando como esta. Mas acabei fazendo de outra forma que ainda não é o que queria. No login.lua eu fiz. if getPlayerLevel(cid) >= 100 and getPlayerLevel(cid) <= 199 then doChangeSpeed(cid, 125) elseif getPlayerLevel(cid) >= 200 and getPlayerLevel(cid) <= 299 then doChangeSpeed(cid, 325) elseif getPlayerLevel(cid) >= 300 then doChangeSpeed(cid, 400) return true end Editado Maio 31, 2015 10 anos por Sakura (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.