Ir para conteúdo
  • 0

Ajuda Com Essas Talkactions


KennyConrad

Pergunta

Galera Meu Servidor é tfs 3.7 verção 9.60 é o seguinte tem 3 talkactions que estão bugadas no meu servidor queria saber se teria como arruma-las irei postar a SS dos erros que aparecem no distro e abaixo os scripts das talkactions

 

sx6yg.png

 

1 foto = 1 talkaction

 

2 foto = 2 talkaction

 

3 foto = 3 talkaction

 


function onSay(cid, words, param)


if (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você precisa está em área protegida para utilizar este comando.")
return TRUE
end

if (getPlayerStorageValue(cid, 11548) <= os.time()) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O Seu saldo no Shopping é de: " .. getPlayerPoints(cid) .. " moedas!")
setPlayerStorageValue(cid,11548,os.time()+30)
return TRUE
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"Por medidas de segurança você só pode utilizar este comando em " .. (getPlayerStorageValue(cid, 11548)-os.time()+(0)) .. " segundos.")
return TRUE
end
end

 


function onSay(cid, words, param)

if (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você precisa está em área protegida para utilizar este comando.")
return TRUE
end

if param == "" then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Por favor coloque a quantidade que deseja depositar.")
return TRUE
end

if (getPlayerStorageValue(cid, 11548) <= os.time()) then
if math.abs(tonumber(param)) <= getPlayerItemCount(cid, 9971) then
doPlayerRemoveItem(cid, 9971, param)
doPlayerAddPoints(cid, param)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabéns, você depositou " .. param .. " barras de ouro com sucesso! Seu saldo no banco agora é de " .. getPlayerPoints(cid) .. " moedas.")
setPlayerStorageValue(cid,11548,os.time()+30)
return TRUE
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não possui a quantidade desejada para depositar.")
setPlayerStorageValue(cid,11548,os.time()+30)
return TRUE
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"Por medidas de segurança você só pode utilizar este comando em " .. (getPlayerStorageValue(cid, 11548)-os.time()+(0)) .. " segundos.")
return TRUE
end
end

 


function onSay(cid, words, param)

if (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você precisa está em área protegida para utilizar este comando.")
return TRUE
end

if param == "" then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Por favor coloque a quantidade que deseja sacar.")
return TRUE
end

if (getPlayerStorageValue(cid, 11548) <= os.time()) then 
if math.abs(tonumber(param)) <= getPlayerPoints(cid) then
doPlayerAddItem(cid, 9971, param)
doPlayerRemovePoints(cid, param)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabéns, você sacou " .. param .. " barras de ouro com sucesso! Seu saldo no banco agora é de " .. getPlayerPoints(cid) .. " moedas.")
setPlayerStorageValue(cid,11548,os.time()+30)
return TRUE
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não possui a quantidade necessária para sacar.")
setPlayerStorageValue(cid,11548,os.time()+30)
return TRUE
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"Por medidas de segurança você só pode utilizar este comando em " .. (getPlayerStorageValue(cid, 11548)-os.time()+(0)) .. " segundos.")
return TRUE
end
end

 

ajuda ae 1 rep pra cada talkaction concertada.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

esse systema é pra o player guarda as barras de ouro e sacar e olha quantas barras tem é como se fosse um banco pra guardar dinheiro so que invez de ser pelo npc é por comando e ao invez de dinheiro é barras de ouro id 9971

 

@edit talkactions resolvidas agora teria como ajudarem no meu outro pedido abaixo ?

Editado por KennyxD
Link para o comentário
Compartilhar em outros sites

  • 0

dá uma olhada se no seu server tem a query do 'premium_points', tenta executar na db:

 

ALTER TABLE `accounts` ADD `premium_points` INT( 11 ) NOT NULL DEFAULT '0';

 

caso já exista troca essas 3 funções:

function getPlayerPoints(cid)
local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
local p = Info:getDataInt("premium_points")
Info:free()
return p
end

function doPlayerAddPoints(cid, points)
   local dif = getPlayerPoints(cid) + points
   if dif >= 0 then
       db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
       return TRUE
   end
   return FALSE
end

function doPlayerRemovePoints(cid, points)
   local dif = getPlayerPoints(cid) - points
   if dif >= 0 then
db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` - " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
       return TRUE
   end
   return FALSE
end

 

por essas que eu refiz:

 

function getAccountPoints(cid)
local check = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = "..getPlayerAccountId(cid))
return check:getDataInt("premium_points") <= 0 and 0 or check:getDataInt("premium_points") end
function doPlayerAddPoints(cid, amount)
return db.executeQuery("UPDATE `accounts` SET `premium_points` = "..getAccountPoints(cid).."+"..amount.." WHERE `id` = "..getPlayerAccountId(cid))
end
function doPlayerRemovePoints(cid, points)
return db.executeQuery("UPDATE `accounts` SET `premium_points` = "..getAccountPoints(cid).."-"..amount.." WHERE `id` = "..getPlayerAccountId(cid))
end

Link para o comentário
Compartilhar em outros sites

  • 0

olha agora as talkactions funcioaram com as functions acima não as que voce fez mais deu esse bug agora lol

 

5a4oA.png

 

eu depositei 10 barras falo que depositei ai fala agora seu saldo é 0 e voce tenta sacar fala voce não tem a quantidade para sacar

Link para o comentário
Compartilhar em outros sites

  • 0

ta vou te ensinar a executar

 

 

1° Abra o programa Sqlite

2° na parte superior do programa tem a aba "Tools",clica nela e seleciona "Open SQL query editor" ou (ALT + E) se preferir

3° Vai abrir uma janela branca,nela você coloca isso:

ALTER TABLE `accounts` ADD `premium_points` INT( 11 ) NOT NULL DEFAULT '0';

4° Depois clica no ícone do raio ali na parte de cima ou aperta o botão F9 que vai fazer com que a query seja executada.

Link para o comentário
Compartilhar em outros sites

  • 0

11:04 Parabéns, você depositou 10 barras de ouro com sucesso! Seu saldo no banco agora é de 10 moedas.

 

vlw vodkart funciono perfeitamente REP + dps do os outros 2 e aki teria como fazer uma talkaction assim /adicionar barras,Maria,10

um comando pra min poder depositar barras nas contas dos players mesmo eles tando off

 

@ edited mais 1 entregue vodkart falta so + 1 e se me ajuda com essa talkaction ai te do + 1 ok vlw

Editado por KennyxD
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...