Postado Fevereiro 17, 2018 7 anos TFS 1.3 Base: Otx Malucoo newest Gitlab I would like to know how can I fix this in order to work on tfs 1.3 The bot works but doesnt answer you name instead it says PLAYERNAME, also it doesnt give you the money when you win. Thanks in advance 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 local function delayMoneyRemoval(item, pos) doRemoveItem(getTileItemById(pos, item).uid) return true end local function placeMoney(amount, table_middle_pos) local remain = amount local crystal_coins = 0 local platinum_coins = 0 if (math.floor(amount / 10000) >= 1) then crystal_coins = math.floor(amount / 10000) remain = remain - crystal_coins * 10000 end if ((remain / 100) >= 1) then platinum_coins = remain / 100 end addEvent(doCreateItem, 550, 2152, platinum_coins, table_middle_pos) addEvent(doCreateItem, 600, 2160, crystal_coins, table_middle_pos) end local function rollDice(roll, cc_count, pc_count, table_left_pos, table_middle_pos, npc) local dice_ids = {5792, 5793, 5794, 5795, 5796, 5797} local random_rollval = math.random(1,6) local total_g = (10000 * cc_count) + (100 * pc_count) local prize_percent = 0.8 -- 80% if ((total_g) <= 500000 and (total_g) >= 30000) then doSendMagicEffect(table_left_pos, CONST_ME_CRAPS) for _, itemId in pairs(dice_ids) do if(getTileItemById(table_left_pos, itemId).uid > 0) then doTransformItem(getTileItemById(table_left_pos, itemId).uid, dice_ids[random_rollval]) end end if (roll == 1 and random_rollval <= 3) then placeMoney(total_g + (total_g * prize_percent), table_middle_pos) addEvent(doSendMagicEffect, 400, table_left_pos, CONST_ME_SOUND_GREEN) addEvent(doSendMagicEffect, 700, table_left_pos, CONST_ME_SOUND_GREEN) addEvent(doCreatureSay, 500, npc, "Ganaste perro huehue!", TALKTYPE_SAY, false, 0) elseif (roll == 2 and random_rollval >= 4) then placeMoney(total_g + (total_g * prize_percent), table_middle_pos) addEvent(doSendMagicEffect, 400, table_left_pos, CONST_ME_SOUND_GREEN) addEvent(doSendMagicEffect, 700, table_left_pos, CONST_ME_SOUND_GREEN) addEvent(doCreatureSay, 500, npc, "Ganaste perro huehue!", TALKTYPE_SAY, false, 0) else addEvent(doSendMagicEffect, 400, table_left_pos, CONST_ME_BLOCKHIT) addEvent(doSendMagicEffect, 700, table_left_pos, CONST_ME_BLOCKHIT) addEvent(doCreatureSay, 500, npc, "Ahi pa la otra compare.", TALKTYPE_SAY, false, 0) end doCreatureSay(npc, string.format("%s rolled a %d.", getCreatureName(npc), random_rollval), TALKTYPE_ORANGE_1, false, 0, table_left_pos) else addEvent(doCreateItem, 100, 2160, cc_count, table_middle_pos) addEvent(doCreateItem, 150, 2152, pc_count, table_middle_pos) doCreatureSay(npc, "La minima apuesta es 30K y la maxima es 500K.", TALKTYPE_SAY, false, 0) end return true end function onThink() local cid = getNpcCid() local npc = Creature(cid) local npcpos = {x = 32159, y = 32296, z = 7} local creature = Tile(32159, 32298, 7):getTopCreature() if creature and creature:isPlayer() then selfTurn(SOUTH) --doCreatureSay(npc, "Que pedo |PLAYERNAME|, Haz girar tu suerte.", TALKTYPE_SAY, false, 0) else selfTurn(WEST) --doCreatureSay(npc, "Hasta la vixtaaa |PLAYERNAME|!.", TALKTYPE_SAY, false, 0) end if npc then local outfit = npc:getOutfit() outfit.lookHead = math.random(0, 132) outfit.lookBody = math.random(0, 132) outfit.lookLegs = math.random(0, 132) outfit.lookFeet = math.random(0, 132) npc:setOutfit(outfit) addEvent(doSendMagicEffect, 700, npcpos, CONST_ME_GIFT_WRAPS) end npcHandler:onThink() end function creatureSayCallback(cid, type, msg) -- NPC userdata instance local npc = getNpcCid() -- Game table position userdata instances local table_left_pos = {x = 32158, y = 32296, z = 7} -- Pos da frente do Npc onde gira o dado 32008, 31897, 7 local table_middle_pos = {x = 32158, y = 32297, z = 7} -- Pos do meio onde vai o dinheiro 32009, 31897, 7 -- Search for coins on the left and middle tables and create item userdata instances local table_middle_cc = getTileItemById(table_middle_pos, 2160) local table_middle_pc = getTileItemById(table_middle_pos, 2152) -- Other variables local cc_count = 0 local pc_count = 0 local ROLL, LOW, HIGH = 0, 1, 2 posplayer = {x = 32159, y = 32298, z = 7} -- Pos onde o player precisa estar 32010, 31898, 7 local ppos = getPlayerPosition(cid) if ppos.x == posplayer.x and ppos.y == posplayer.y then if isInArray({"H", "HIGH", "high", "h"}, msg) then ROLL = HIGH elseif isInArray({"L", "LOW", "l", "low"}, msg) then ROLL = LOW elseif isInArray({"roll", "game", "info", "play", "hi"}, msg) then doCreatureSay(npc, "Hola, {|PLAYERNAME|} quieres jugar roll the dice? low y high? Siendo Low=1,2,3 y High=4,5,6.", TALKTYPE_SAY, false, 0) else return false end if (table_middle_cc.uid ~= 0) then cc_count = table_middle_cc.type doTeleportThing(table_middle_cc.uid, table_left_pos) addEvent(delayMoneyRemoval, 300, 2160, table_left_pos) end if (table_middle_pc.uid ~= 0) then pc_count = table_middle_pc.type doTeleportThing(table_middle_pc.uid, table_left_pos) addEvent(delayMoneyRemoval, 300, 2152, table_left_pos) end addEvent(rollDice, 500, ROLL, cc_count, pc_count, table_left_pos, table_middle_pos, npc) else return false end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) --npcHandler:addModule(FocusModule:new()) Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
Postado Maio 14, 2018 7 anos Em 17/02/2018 em 13:32, selenia.global disse: TFS 1.3 Base: Otx Malucoo newest Gitlab I would like to know how can I fix this in order to work on tfs 1.3 The bot works but doesnt answer you name instead it says PLAYERNAME, also it doesnt give you the money when you win. Thanks in advance 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 local function delayMoneyRemoval(item, pos) doRemoveItem(getTileItemById(pos, item).uid) return true end local function placeMoney(amount, table_middle_pos) local remain = amount local crystal_coins = 0 local platinum_coins = 0 if (math.floor(amount / 10000) >= 1) then crystal_coins = math.floor(amount / 10000) remain = remain - crystal_coins * 10000 end if ((remain / 100) >= 1) then platinum_coins = remain / 100 end addEvent(doCreateItem, 550, 2152, platinum_coins, table_middle_pos) addEvent(doCreateItem, 600, 2160, crystal_coins, table_middle_pos) end local function rollDice(roll, cc_count, pc_count, table_left_pos, table_middle_pos, npc) local dice_ids = {5792, 5793, 5794, 5795, 5796, 5797} local random_rollval = math.random(1,6) local total_g = (10000 * cc_count) + (100 * pc_count) local prize_percent = 0.8 -- 80% if ((total_g) <= 500000 and (total_g) >= 30000) then doSendMagicEffect(table_left_pos, CONST_ME_CRAPS) for _, itemId in pairs(dice_ids) do if(getTileItemById(table_left_pos, itemId).uid > 0) then doTransformItem(getTileItemById(table_left_pos, itemId).uid, dice_ids[random_rollval]) end end if (roll == 1 and random_rollval <= 3) then placeMoney(total_g + (total_g * prize_percent), table_middle_pos) addEvent(doSendMagicEffect, 400, table_left_pos, CONST_ME_SOUND_GREEN) addEvent(doSendMagicEffect, 700, table_left_pos, CONST_ME_SOUND_GREEN) addEvent(doCreatureSay, 500, npc, "Ganaste perro huehue!", TALKTYPE_SAY, false, 0) elseif (roll == 2 and random_rollval >= 4) then placeMoney(total_g + (total_g * prize_percent), table_middle_pos) addEvent(doSendMagicEffect, 400, table_left_pos, CONST_ME_SOUND_GREEN) addEvent(doSendMagicEffect, 700, table_left_pos, CONST_ME_SOUND_GREEN) addEvent(doCreatureSay, 500, npc, "Ganaste perro huehue!", TALKTYPE_SAY, false, 0) else addEvent(doSendMagicEffect, 400, table_left_pos, CONST_ME_BLOCKHIT) addEvent(doSendMagicEffect, 700, table_left_pos, CONST_ME_BLOCKHIT) addEvent(doCreatureSay, 500, npc, "Ahi pa la otra compare.", TALKTYPE_SAY, false, 0) end doCreatureSay(npc, string.format("%s rolled a %d.", getCreatureName(npc), random_rollval), TALKTYPE_ORANGE_1, false, 0, table_left_pos) else addEvent(doCreateItem, 100, 2160, cc_count, table_middle_pos) addEvent(doCreateItem, 150, 2152, pc_count, table_middle_pos) doCreatureSay(npc, "La minima apuesta es 30K y la maxima es 500K.", TALKTYPE_SAY, false, 0) end return true end function onThink() local cid = getNpcCid() local npc = Creature(cid) local npcpos = {x = 32159, y = 32296, z = 7} local creature = Tile(32159, 32298, 7):getTopCreature() if creature and creature:isPlayer() then selfTurn(SOUTH) --doCreatureSay(npc, "Que pedo |PLAYERNAME|, Haz girar tu suerte.", TALKTYPE_SAY, false, 0) else selfTurn(WEST) --doCreatureSay(npc, "Hasta la vixtaaa |PLAYERNAME|!.", TALKTYPE_SAY, false, 0) end if npc then local outfit = npc:getOutfit() outfit.lookHead = math.random(0, 132) outfit.lookBody = math.random(0, 132) outfit.lookLegs = math.random(0, 132) outfit.lookFeet = math.random(0, 132) npc:setOutfit(outfit) addEvent(doSendMagicEffect, 700, npcpos, CONST_ME_GIFT_WRAPS) end npcHandler:onThink() end function creatureSayCallback(cid, type, msg) -- NPC userdata instance local npc = getNpcCid() -- Game table position userdata instances local table_left_pos = {x = 32158, y = 32296, z = 7} -- Pos da frente do Npc onde gira o dado 32008, 31897, 7 local table_middle_pos = {x = 32158, y = 32297, z = 7} -- Pos do meio onde vai o dinheiro 32009, 31897, 7 -- Search for coins on the left and middle tables and create item userdata instances local table_middle_cc = getTileItemById(table_middle_pos, 2160) local table_middle_pc = getTileItemById(table_middle_pos, 2152) -- Other variables local cc_count = 0 local pc_count = 0 local ROLL, LOW, HIGH = 0, 1, 2 posplayer = {x = 32159, y = 32298, z = 7} -- Pos onde o player precisa estar 32010, 31898, 7 local ppos = getPlayerPosition(cid) if ppos.x == posplayer.x and ppos.y == posplayer.y then if isInArray({"H", "HIGH", "high", "h"}, msg) then ROLL = HIGH elseif isInArray({"L", "LOW", "l", "low"}, msg) then ROLL = LOW elseif isInArray({"roll", "game", "info", "play", "hi"}, msg) then doCreatureSay(npc, "Hola, {|PLAYERNAME|} quieres jugar roll the dice? low y high? Siendo Low=1,2,3 y High=4,5,6.", TALKTYPE_SAY, false, 0) else return false end if (table_middle_cc.uid ~= 0) then cc_count = table_middle_cc.type doTeleportThing(table_middle_cc.uid, table_left_pos) addEvent(delayMoneyRemoval, 300, 2160, table_left_pos) end if (table_middle_pc.uid ~= 0) then pc_count = table_middle_pc.type doTeleportThing(table_middle_pc.uid, table_left_pos) addEvent(delayMoneyRemoval, 300, 2152, table_left_pos) end addEvent(rollDice, 500, ROLL, cc_count, pc_count, table_left_pos, table_middle_pos, npc) else return false end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) --npcHandler:addModule(FocusModule:new()) Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
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.