Ir para conteúdo
  • Cadastre-se

(Resolvido)[Talkactions] Remove Frags - Erro No Distro


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Eu estou a procura de um remove frags a muito muito tempos atras mesmo para o meu servidor TFS 3.6.0 so que eu não consigo achar, por culpa que não funciona não remove os frags so o skull e assim vai..

Agora eu achei um script do Vodkart so que ao iniciar o Distro vem os seguintes erros.

 

2q1w7bp.jpg

 

Como eu resolvo esses erros para que o comando passe a funcionar?

Obrigado REP+.

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

posta o script da talkactions e da actions.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

A sim, desculpa galera...aqui está os scripts.

 

data/talkactions/removefrags.lua

function onSay(cid, words, param, channel)
local config = {
price = 10000,
amount = 1
}
if getPlayerFrags(cid) < config.amount then
doPlayerSendCancel(cid,"você não tem frags suficientes para executar está ação.") return true
elseif not doPlayerRemoveMoney(cid, config.price) then
doPlayerSendCancel(cid,"você precisa ter "..config.price.." gps para remover seus frags.") return true
end
doPlayerRemoveFrag(cid, config.amount)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Parabéns! Foram removidos "..config.amount.." frags.")
doSendMagicEffect(getPlayerPosition(cid), 26)
return true
end

 

data/talkactions.xml

<talkaction words="/removefrags;!removefrags" event="script" value="removefrags.lua"/>

 

data/lib/removefrags.lua

function doPlayerRemoveFrag(cid, count) -- by vodka
local query,t,k = db.getResult("SELECT `kill_id` FROM `player_killers` WHERE `player_id` = "..getPlayerGUID(cid)),{},0
if (query:getID() ~= -1) then
repeat
local gs = db.getResult("SELECT `unjustified` FROM `killers` WHERE `id` = "..query:getDataInt("kill_id"))
if (gs:getDataInt("unjustified") ~= 0) then
table.insert(t, query:getDataInt("kill_id"))
k = k +1
end
until not query:next() or k >= count  
query:free()
end
for _, frag in pairs(t) do
db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` = "..frag)
end
return true
end

Editado por Rodrigo0lg (veja o histórico de edições)

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

isso é a talkaction, posta a action agora. O próprio console te fala aonde é o erro e qual foi o erro:
talkactions\scripts\removefrags.lua na linha 6 e
actions\scripts\removefrags.lua na linha 3

Ambos os erros são na função getPlayerFrags, porque vc tá cometendo um stack traceback (quando você compara um valor vazio (ou uma função) à um valor numério)
experimenta fazer isso daqui em ambos os casos(actions e talkactions) porque costuma resolver
 

local frags = getPlayerFrags(cid)
if frags < config.amount then

se não der fala e já me diz a versão do teu server (aparece no topo do console, logo que vc liga o server)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

isso é a talkaction, posta a action agora. O próprio console te fala aonde é o erro e qual foi o erro:

talkactions\scripts\removefrags.lua na linha 6 e

actions\scripts\removefrags.lua na linha 3

Ambos os erros são na função getPlayerFrags, porque vc tá cometendo um stack traceback (quando você compara um valor vazio (ou uma função) à um valor numério)

experimenta fazer isso daqui em ambos os casos(actions e talkactions) porque costuma resolver

 

local frags = getPlayerFrags(cid)
if frags < config.amount then

se não der fala e já me diz a versão do teu server (aparece no topo do console, logo que vc liga o server)

Deu este erro.

[31/03/2014 15:42:51] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/removefrags.lua:1: unexpected symbol near 'ï'
[31/03/2014 15:42:51] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/removefrags.lua)
[31/03/2014 15:42:51] data/talkactions/scripts/removefrags.lua:1: unexpected symbol near 'ï'
 
Não sei se éra para o script ficar assim, de uma olhada.
 

function onSay(cid, words, param, channel)
local config = {
price = 10000,
amount = 1
}
local frags = getPlayerFrags(cid)
if frags < config.amount then
doPlayerSendCancel(cid,"você não tem frags suficientes para executar está ação.") return true
elseif not doPlayerRemoveMoney(cid, config.price) then
doPlayerSendCancel(cid,"você precisa ter "..config.price.." gps para remover seus frags.") return true
end
doPlayerRemoveFrag(cid, config.amount)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Parabéns! Foram removidos "..config.amount.." 
 
frags.")
doSendMagicEffect(getPlayerPosition(cid), 26)
return true
end

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

vc acidentalmente pulou metade da função pra linha de baixo:
 

function onSay(cid, words, param)
local config = {
price = 10000,
amount = 1
}
local frags = getPlayerFrags(cid)
if frags < config.amount then
doPlayerSendCancel(cid,"você não tem frags suficientes para executar está ação.") return true
elseif not doPlayerRemoveMoney(cid, config.price) then
doPlayerSendCancel(cid,"você precisa ter "..config.price.." gps para remover seus frags.") return true
end
doPlayerRemoveFrag(cid, config.amount)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Parabéns! Foram removidos "..config.amount.." frags.")
doSendMagicEffect(getPlayerPosition(cid), 26)
return true
end

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

 

vc acidentalmente pulou metade da função pra linha de baixo:

 

function onSay(cid, words, param)
local config = {
price = 10000,
amount = 1
}
local frags = getPlayerFrags(cid)
if frags < config.amount then
doPlayerSendCancel(cid,"você não tem frags suficientes para executar está ação.") return true
elseif not doPlayerRemoveMoney(cid, config.price) then
doPlayerSendCancel(cid,"você precisa ter "..config.price.." gps para remover seus frags.") return true
end
doPlayerRemoveFrag(cid, config.amount)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Parabéns! Foram removidos "..config.amount.." frags.")
doSendMagicEffect(getPlayerPosition(cid), 26)
return true
end

 

Não entendi muito bem esse scrip ^ ta mesma coisa do que eu postei, mais mesmo assim eu coloquei esse ae e continua o erro no distro, olhe.

 

[31/03/2014 17:10:48] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/removefrags.lua:1: unexpected symbol near 'ï'
[31/03/2014 17:10:48] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/removefrags.lua)
[31/03/2014 17:10:48] data/talkactions/scripts/removefrags.lua:1: unexpected symbol near 'ï'
Editado por Rodrigo0lg (veja o histórico de edições)

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

o erro que tá dando não corresponde com o script que vc passou

 data/talkactions/scripts/removefrags.lua:1: unexpected symbol near 'ï'

removefrags.lua na linha 1: simbolo desconhecido perto de 'ï'

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

o erro que tá dando não corresponde com o script que vc passou

 data/talkactions/scripts/removefrags.lua:1: unexpected symbol near 'ï'

removefrags.lua na linha 1: simbolo desconhecido perto de 'ï'

E o que eu faço para arrumar isso?

Alguem pode me ajduar?

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

isso é a talkaction, posta a action agora. O próprio console te fala aonde é o erro e qual foi o erro:

talkactions\scripts\removefrags.lua na linha 6 e

actions\scripts\removefrags.lua na linha 3

Ambos os erros são na função getPlayerFrags, porque vc tá cometendo um stack traceback (quando você compara um valor vazio (ou uma função) à um valor numério)

experimenta fazer isso daqui em ambos os casos(actions e talkactions) porque costuma resolver

 

local frags = getPlayerFrags(cid)
if frags < config.amount then

se não der fala e já me diz a versão do teu server (aparece no topo do console, logo que vc liga o server)

O meu TFS é 3.6.0 porque não funciona meu deus alguem pode me ajudar?

Ta quase todo mundo Black Skull e Red Skull no meu Otserv e não consigo fazer nada para que eles tirem o frags, todos script que eu acho so retira o Skull, alguem pode me ajudar precisando muito, REP +

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

to tentando te ajudar cara mas não tem como eu fazer milagre.. o erro que tá aparecendo no console não condiz com o script que tu me passou o.O acho que você ta passando o script errado OU usando o script errado no talkactions.xml.
Em todo caso, se nada resolver vai no config.lua e edita essa parte aqui

redSkullLength = 15 * 12 * 30 * 30    ---tempo que dura a red skull
blackSkullLength = 25 * 12 * 30 * 30 --- tempo que dura a blackskull
dailyFragsToRedSkull = 3  --- quantos kills diários deixam red
weeklyFragsToRedSkull = 10   -- quantos kills semanais deixam red
monthlyFragsToRedSkull = 20   -- quantos kills mensais deixam red
useBlackSkull = true  -- usar black skull? true = sim/ false = não

deixa algo mais ou menos parecido com isso 

redSkullLength = 12 * 30 * 30 
blackSkullLength = 2 * 12 * 30 * 30 
dailyFragsToRedSkull = 10 
weeklyFragsToRedSkull = 30
monthlyFragsToRedSkull = 50
useBlackSkull = false

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

 

to tentando te ajudar cara mas não tem como eu fazer milagre.. o erro que tá aparecendo no console não condiz com o script que tu me passou o.O acho que você ta passando o script errado OU usando o script errado no talkactions.xml.

Em todo caso, se nada resolver vai no config.lua e edita essa parte aqui

redSkullLength = 15 * 12 * 30 * 30    ---tempo que dura a red skull
blackSkullLength = 25 * 12 * 30 * 30 --- tempo que dura a blackskull
dailyFragsToRedSkull = 3  --- quantos kills diários deixam red
weeklyFragsToRedSkull = 10   -- quantos kills semanais deixam red
monthlyFragsToRedSkull = 20   -- quantos kills mensais deixam red
useBlackSkull = true  -- usar black skull? true = sim/ false = não

deixa algo mais ou menos parecido com isso 

redSkullLength = 12 * 30 * 30 
blackSkullLength = 2 * 12 * 30 * 30 
dailyFragsToRedSkull = 10 
weeklyFragsToRedSkull = 30
monthlyFragsToRedSkull = 50
useBlackSkull = false

 

É verdade amigo, eu ja não estou conseguindo entender o erro que esta falando no distro, porque não importa o script.lua que eu coloco ele da o mesmo erro.

No meu Config.lua ja esta assim.

 

@Edit-

 

Config.lua

 

redSkullLength = 50 * 62 * 70 * 90
blackSkullLength = 64 * 72 * 80 * 95
dailyFragsToRedSkull = 55
weeklyFragsToRedSkull = 80
monthlyFragsToRedSkull = 90
dailyFragsToBlackSkull = dailyFragsToRedSkull
weeklyFragsToBlackSkull = weeklyFragsToRedSkull
monthlyFragsToBlackSkull = monthlyFragsToRedSkull
dailyFragsToBanishment = dailyFragsToRedSkull
weeklyFragsToBanishment = weeklyFragsToRedSkull
monthlyFragsToBanishment = monthlyFragsToRedSkull
blackSkulledDeathHealth = 40
blackSkulledDeathMana = 0
useBlackSkull = true
useFragHandler = true
advancedFragList = false
 
@Edit-
 
Eu voltei como o script estava antes e o erro continua esse o.O
 
@Edit-
 
Arrumei o erro que estava dando em todos scripts de remover frag, mais continuo sem achar um que remova.
Editado por Rodrigo0lg (veja o histórico de edições)

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

A sim, desculpa galera...aqui está os scripts.

 

data/talkactions/removefrags.lua

function onSay(cid, words, param, channel)
local config = {
price = 10000,
amount = 1
}
if getPlayerFrags(cid) < config.amount then
doPlayerSendCancel(cid,"você não tem frags suficientes para executar está ação.") return true
elseif not doPlayerRemoveMoney(cid, config.price) then
doPlayerSendCancel(cid,"você precisa ter "..config.price.." gps para remover seus frags.") return true
end
doPlayerRemoveFrag(cid, config.amount)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Parabéns! Foram removidos "..config.amount.." frags.")
doSendMagicEffect(getPlayerPosition(cid), 26)
return true
end

 

data/talkactions.xml

<talkaction words="/removefrags;!removefrags" event="script" value="removefrags.lua"/>

 

data/lib/removefrags.lua

function doPlayerRemoveFrag(cid, count) -- by vodka
local query,t,k = db.getResult("SELECT `kill_id` FROM `player_killers` WHERE `player_id` = "..getPlayerGUID(cid)),{},0
if (query:getID() ~= -1) then
repeat
local gs = db.getResult("SELECT `unjustified` FROM `killers` WHERE `id` = "..query:getDataInt("kill_id"))
if (gs:getDataInt("unjustified") ~= 0) then
table.insert(t, query:getDataInt("kill_id"))
k = k +1
end
until not query:next() or k >= count  
query:free()
end
for _, frag in pairs(t) do
db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` = "..frag)
end
return true
end

Eu desisti deste script ^ eu achei um aqui agora amigo, que parece ser mais facil de se arrumar, olhe ele faz exatamente o que eu quero Remove todos os frags, so que quando o player mata algum player ele volta com os frags que estava antes de retirar olhe.

 

!frags

 

01:12 You currently have 3 frags today, 21 this week and 21 this month.
01:12 Last frag at 01 April 2014 00:44:17 on level 8 (Testandolor).

 

!removeskull

 

01:14 You currently have 0 frags today, 0 this week and 0 this month.

 

Depois que mato 1 player do !frags

 

01:14 You currently have 4 frags today, 22 this week and 22 this month.
01:14 Last frag at 01 April 2014 01:14:36 on level 7 (Testandolor).

 

Quero que depois que use o comando !removeskull, zere tudo e quando um player mata dinovo começa do 1, alguem pode me ajudar?

 

O script é este.

 

skull.lua

local exstorage = 1499

local COST = 8 -- Valor necessário para tirar red

local moeda = 2160 -- moeda que será removida

local REMOVE_FRAGS = "yes" -- "yes" ou "no" // para retirar todos os frags

local EFFECT = CONST_ME_YELLOW_RINGS -- efeito usado quando tirar o red

local battle = true -- players deve estar sem battle (true or false)

function onSay(cid, words, param, channel)

        if (exhaustion.check(cid, exstorage) == true) then

                doPlayerSendCancel(cid, "You are exhausted")

                return true

        end

         if battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then

                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não pode tirar red skull com battle.")

                return TRUE

        end

        if getCreatureSkullType(cid) == SKULL_RED then

                local query = db.getResult("SELECT `premdays` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. ";")

                local points = query:getDataInt("premdays")

                    if getPlayerItemCount(cid,moeda) >= COST then

                        db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")")

                        doCreatureSetSkullType(cid,0)

                        doPlayerSendTextMessage(cid, 27, "Sua red skull foi removida!")

                        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)

                        doPlayerSetSkullEnd(cid, 0, getPlayerSkullType(cid))

                        doPlayerRemoveItem(cid,moeda,COST)

                        doSendMagicEffect(getPlayerPosition(cid), effect)

                        doRemoveCreature(cid)

                else

                        doPlayerSendCancel(cid, "Você precisa de " ..COST.. " crystal coins para remover a red skull.")

                end

        else

                doPlayerSendCancel(cid, "Você não está red skull.")

        end

        exhaustion.set(cid, exstorage, 30)

        if (query ~= nil) then

                query:free()

        end

        return TRUE

end

 

REP+ .

Editado por Rodrigo0lg (veja o histórico de edições)

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

testa essa bagaça aqui 
 

local exstorage = 1499
local COST = 8 -- Valor necessário para tirar red
local moeda = 2160 -- moeda que será removida
local amount = 4 --quantidade de frags que vai remover
local EFFECT = CONST_ME_YELLOW_RINGS -- efeito usado quando tirar o red
local battle = true -- players deve estar sem battle (true or false)


function doPlayerRemoveFrag(cid, count) -- by vodka
local query,t,k = db.getResult("SELECT `kill_id` FROM `player_killers` WHERE `player_id` = "..getPlayerGUID(cid)),{},0
if (query:getID() ~= -1) then 
repeat
local gs = db.getResult("SELECT `unjustified` FROM `killers` WHERE `id` = "..query:getDataInt("kill_id"))
if (gs:getDataInt("unjustified") ~= 0) then
table.insert(t, query:getDataInt("kill_id"))
k = k +1
end
until not query:next() or k >= count  
query:free()
end
for _, frag in pairs(t) do
db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` = "..frag)
end
return true
end


function onSay(cid, words, param, channel)
        if (exhaustion.check(cid, exstorage) == true) then
                doPlayerSendCancel(cid, "You are exhausted")
                return true
        end
         if battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce não pode tirar sua skull com battle.")
                return TRUE
        end
        if creatureSkull ~= SKULL_NONE then
                local query = db.getResult("SELECT `premdays` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
                local points = query:getDataInt("premdays")
                    if getPlayerItemCount(cid,moeda) >= COST then
                       doPlayerRemoveFrag(cid, amount)
                        doCreatureSetSkullType(cid,0)
                        doPlayerSendTextMessage(cid, 27, "Sua skull foi removida!")
                        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
                        doPlayerSetSkullEnd(cid, 0, getPlayerSkullType(cid))
                        doPlayerRemoveItem(cid,moeda,COST)
                        doSendMagicEffect(getPlayerPosition(cid), effect)
                        doRemoveCreature(cid)
                else
                        doPlayerSendCancel(cid, "Voce precisa de " ..COST.. " crystal coins para remover a skull.")
                end
        else
                doPlayerSendCancel(cid, "Voce nao esta skull.")
        end
        exhaustion.set(cid, exstorage, 30)


        if (query ~= nil) then
                query:free()
        end


        return TRUE
end

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

 

testa essa bagaça aqui 

 

local exstorage = 1499
local COST = 8 -- Valor necessário para tirar red
local moeda = 2160 -- moeda que será removida
local amount = 4 --quantidade de frags que vai remover
local EFFECT = CONST_ME_YELLOW_RINGS -- efeito usado quando tirar o red
local battle = true -- players deve estar sem battle (true or false)


function doPlayerRemoveFrag(cid, count) -- by vodka
local query,t,k = db.getResult("SELECT `kill_id` FROM `player_killers` WHERE `player_id` = "..getPlayerGUID(cid)),{},0
if (query:getID() ~= -1) then 
repeat
local gs = db.getResult("SELECT `unjustified` FROM `killers` WHERE `id` = "..query:getDataInt("kill_id"))
if (gs:getDataInt("unjustified") ~= 0) then
table.insert(t, query:getDataInt("kill_id"))
k = k +1
end
until not query:next() or k >= count  
query:free()
end
for _, frag in pairs(t) do
db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` = "..frag)
end
return true
end


function onSay(cid, words, param, channel)
        if (exhaustion.check(cid, exstorage) == true) then
                doPlayerSendCancel(cid, "You are exhausted")
                return true
        end
         if battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce não pode tirar sua skull com battle.")
                return TRUE
        end
        if creatureSkull ~= SKULL_NONE then
                local query = db.getResult("SELECT `premdays` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
                local points = query:getDataInt("premdays")
                    if getPlayerItemCount(cid,moeda) >= COST then
                       doPlayerRemoveFrag(cid, amount)
                        doCreatureSetSkullType(cid,0)
                        doPlayerSendTextMessage(cid, 27, "Sua skull foi removida!")
                        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
                        doPlayerSetSkullEnd(cid, 0, getPlayerSkullType(cid))
                        doPlayerRemoveItem(cid,moeda,COST)
                        doSendMagicEffect(getPlayerPosition(cid), effect)
                        doRemoveCreature(cid)
                else
                        doPlayerSendCancel(cid, "Voce precisa de " ..COST.. " crystal coins para remover a skull.")
                end
        else
                doPlayerSendCancel(cid, "Voce nao esta skull.")
        end
        exhaustion.set(cid, exstorage, 30)


        if (query ~= nil) then
                query:free()
        end


        return TRUE
end

 

Aconteceu a mesma coisa, usa o comando !removeskull, ele tira o red skull e os frags, so que quando mata algum player os frags voltam todos, não começa do 0.

Mesmo assim vou te da REP+, porque ta me ajudando muito, Obrigado.

 

@Edit

 

Aqui esta um outro script de remover frags tambem, so que da erro, vou postar o script e o erro, caso esse seja mais facil de arrumar, ta aqui.

 

erro

[01/04/2014 03:20:30] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/skull.lua:10: 'end' expected (to close 'function' at line 1) near '<eof>'
[01/04/2014 03:20:30] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/skull.lua)
[01/04/2014 03:20:30] data/talkactions/scripts/skull.lua:10: 'end' expected (to close 'function' at line 1) near '<eof>'

 

script.lua

function onSay(cid, words)
 
if getPlayerFrags(cid) <= 0 then return true end
 
if doPlayerRemoveMoney(cid, 10000000) then
        db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")")
                else
                        doPlayerSendTextMessage(cid, 20, "You do not enough money!")
                                return true
                        end

Editado por Rodrigo0lg (veja o histórico de edições)

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

@UP

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
  • Solução

caralho, ajuda quem entende ok??

 

quem leu o erro, entendeu que a função 'getPlayerFrags' não existe no server dele.

 

é só adicionar na lib/functions isso:

 

function getPlayerFrags(cid)
local time = os.time()
local times = {today = (time - 86400), week = (time - (7 * 86400))}
local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
if(result:getID() ~= -1) then
repeat
local content = {date = result:getDataInt("date")}
if(content.date > times.today) then
table.insert(contents.day, content)
elseif(content.date > times.week) then
table.insert(contents.week, content)
else
table.insert(contents.month, content)
end
until not result:next()
result:free()
end
local size = {day = table.maxn(contents.day),week = table.maxn(contents.week),month = table.maxn(contents.month)}
return size.day + size.week + size.month
end

 

pqp meu deus, tão fácil...

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

eu tava tentando ajudar, mas fica dificil ensinar sem ter aprendido :/ o script é seu e eu achava que vc não entrava mais aqui então nem fui te procurar pra pedir ajuda.
Faz 6 anos que eu não jogo tibia e a ultima vez que eu scriptei foi na versão 8.1 se não me engano. Desde então tudo mudou, funções, jeito de scriptar, e até os erros no console. Pra alguém que tava "aposentado" até que eu ajudei bastante esse fórum.. dá um desconto aí vodk

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

caralho, ajuda quem entende ok??

 

quem leu o erro, entendeu que a função 'getPlayerFrags' não existe no server dele.

 

é só adicionar na lib/functions isso:

function getPlayerFrags(cid)
local time = os.time()
local times = {today = (time - 86400), week = (time - (7 * 86400))}
local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
if(result:getID() ~= -1) then
repeat
local content = {date = result:getDataInt("date")}
if(content.date > times.today) then
table.insert(contents.day, content)
elseif(content.date > times.week) then
table.insert(contents.week, content)
else
table.insert(contents.month, content)
end
until not result:next()
result:free()
end
local size = {day = table.maxn(contents.day),week = table.maxn(contents.week),month = table.maxn(contents.month)}
return size.day + size.week + size.month
end

pqp meu deus, tão fácil...

Opa funciono agora, valeu. REP +.

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo