• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua -=[TFS]=- 0.4 8.60 NPC REVIVE

samuel157

/root
Joined
Mar 19, 2010
Messages
447
Solutions
3
Reaction score
49
Location
São Paulo, Brazil
GitHub
Samuel10M
ERROR SCRIPT ON CONSOLE SCRIPT NPC/REVIVVE
Lua:
local MONEY_AMOUNT = 1000 --Quantidade de dinheiro (em gold coins) que o player necessitará para reviver
local MAGIC_EFFECT_TELEPORT = 65 -- Efeito que aparecerá quando o player for teleportado

local PLAYER_REBORN_POSITION_X = 66541
local PLAYER_REBORN_POSITION_Y = 66542
local PLAYER_REBORN_POSITION_Z = 66543

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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 creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

    if(msgcontains(msg, 'reviver') or msgcontains(msg, 'revive')) then
        selfSay('Voce precisa de ' .. MONEY_AMOUNT .. ' gold(s) para ressuscitar no local aonde voce morreu recentemente', cid)
        talkState[talkUser] = 1
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
        if(getPlayerMoney(cid) >= MONEY_AMOUNT) then
            doPlayerRemoveMoney(cid, MONEY_AMOUNT)
            if teleportPlayerToPositionReborn(cid) then
                doTeleportThing(cid, { x=playerRebornPositionX, y=playerRebornPositionY, z=playerRebornPositionZ })
                doSendMagicEffect(getThingPos(cid), MAGIC_EFFECT_TELEPORT)
                selfSay('Ok, voce foi ressuscitado', cid)
            end
        else
            selfSay('Desculpe, mais voce nao possui o dinheiro suficiente.', cid)
        end
        talkState[talkUser] = 0
    elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
        talkState[talkUser] = 0
        selfSay('Ok, ate mais.', cid)
    end
    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

function teleportPlayerToPositionReborn(cid)
    local playerRebornPositionX = getPlayerStorageValue(cid, PLAYER_REBORN_POSITION_X)
    local playerRebornPositionY = getPlayerStorageValue(cid, PLAYER_REBORN_POSITION_Y)
    local playerRebornPositionZ = getPlayerStorageValue(cid, PLAYER_REBORN_POSITION_Z)
    if (playerRebornPositionX <= -1 or playerRebornPositionY <= -1 or playerRebornPositionZ <= -1) then
        selfSay('Voce nao morreu nenhuma vez ainda.', cid)
        return false
    end
    doTeleportThing(cid, { x=playerRebornPositionX, y=playerRebornPositionY, z=playerRebornPositionZ })
    return true
end

Lua:
 (luaGetCreatureName) Creature not found
[08/04/2022 13:54:51] [Error - Npc interface]
[08/04/2022 13:54:51] data/npc/scripts/reviver.lua:onThink
[08/04/2022 13:54:51] Description:
[08/04/2022 13:54:51] (luaGetNpcDistanceTo) Thing not found

[08/04/2022 13:54:51] [Error - Npc interface]
[08/04/2022 13:54:51] data/npc/scripts/reviver.lua:onThink
[08/04/2022 13:54:51] Description:
[08/04/2022 13:54:51] (luaGetCreatureName) Creature not found

[08/04/2022 13:54:51] [Error - Npc interface]
[08/04/2022 13:54:51] data/npc/scripts/reviver.lua:onThink
[08/04/2022 13:54:51] Description:
[08/04/2022 13:54:51] data/npc/lib/npcsystem/npchandler.lua:301: bad argument #3 to 'gsub' (string/function/table expected)
[08/04/2022 13:54:51] stack traceback:
[08/04/2022 13:54:51]     [C]: in function 'gsub'
[08/04/2022 13:54:51]     data/npc/lib/npcsystem/npchandler.lua:301: in function 'parseMessage'
[08/04/2022 13:54:51]     data/npc/lib/npcsystem/npchandler.lua:538: in function 'onWalkAway'
[08/04/2022 13:54:51]     data/npc/lib/npcsystem/npchandler.lua:473: in function 'onThink'
[08/04/2022 13:54:51]     data/npc/scripts/reviver.lua:16: in function <data/npc/scripts/reviver.lua:16>

[08/04/2022 13:54:52] [Warning] NpcSystem:
[08/04/2022 13:54:52] Parameter(s) missing for item:
[08/04/2022 13:54:52] 500


[08/04/2022 13:54:52] [Warning] NpcSystem:
[08/04/2022 13:54:52] Parameter(s) missing for item:
[08/04/2022 13:54:52] 500


[08/04/2022 13:54:52] [Warning] NpcSystem:
[08/04/2022 13:54:52] Parameter(s) missing for item:
[08/04/2022 13:54:52] 500


[08/04/2022 13:54:53] [Warning] NpcSystem:
[08/04/2022 13:54:53] Parameter(s) missing for item:
[08/04/2022 13:54:53] 500


[08/04/2022 13:54:53] [Warning] NpcSystem:
[08/04/2022 13:54:53] Parameter(s) missing for item:
[08/04/2022 13:54:53] 500


[08/04/2022 13:54:55] Reloaded npcs.
[08/04/2022 13:54:55] [Error - Npc interface]
[08/04/2022 13:54:55] data/npc/scripts/bank.lua:onThink
[08/04/2022 13:54:55] Description:
[08/04/2022 13:54:55] attempt to call a nil value
[08/04/2022 13:54:55] stack traceback:
[08/04/2022 13:54:55]     [C]: in function 'insert'
[08/04/2022 13:54:55]     data/npc/lib/npcsystem/keywordhandler.lua:84: in function 'addChildKeywordNode'
[08/04/2022 13:54:55]     data/npc/lib/npcsystem/modules.lua:789: in function 'addBuyableItem'
[08/04/2022 13:54:55]     data/npc/lib/npcsystem/modules.lua:606: in function 'parseBuyable'
[08/04/2022 13:54:55]     data/npc/lib/npcsystem/modules.lua:547: in function 'parseParameters'
[08/04/2022 13:54:55]     data/npc/lib/npcsystem/npcsystem.lua:163: in function 'parseParameters'
[08/04/2022 13:54:55]     data/npc/scripts/food.lua:3: in main chunk

[08/04/2022 13:54:55] [Error - Npc interface]
[08/04/2022 13:54:55] data/npc/scripts/default.lua
[08/04/2022 13:54:55] Description:
 
Last edited:
Back
Top