Ir para conteúdo

Featured Replies

Postado

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

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))

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • 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 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo