-
Total de itens
411 -
Registro em
-
Última visita
-
Dias Ganhos
10
Tudo que RigBy postou
-
Não deveria responde mas já respondendo, qual a diferencia entre: "Eu queria uma spell que de stun no target." Para: "Queria uma spell que deixa o target parado. Explicaõ: eu atacou um target o ficara parado por 10 segundos n poderá se move, mas ninguém poderá o ataca. E fica uma statua em cima do target que foi ativado a spell, a statua ficará por 10 segundos depois some." Para que dois pedidos com a mesma coisa? Qualquer duvida entre em contato via PM #tópico Então espere alguém responde com a solução. Quer que mova para a área de pedidos e duvidas? já que você já tinha marcado como melhor resposta e desmarco.
-
creatureevent Como Modificar Essa Script ! Me Ajudem !
pergunta respondeu ao TiagoBordin1988 de RigBy em Scripts
Caso o do bruno não funcione, tente esse: local config = { [100] = { -- level [{1, 5}] = {item = 2160, quant = 50, sto = 1001}, -- [voc] = s e ms [{2, 6}] = {item = 2160, quant = 50, sto = 1001}, -- [voc] = d e ed [{3, 7}] = {item = 2160, quant = 50, sto = 1001}, -- [voc] = p e rp [{4, 8}] = {item = 2160, quant = 50, sto = 1001} -- [voc] = k e ek }, [200] = { -- level [{1, 5}] = {item = 2160, quant = 100, sto = 1002}, -- [voc] = s e ms [{2, 6}] = {item = 2160, quant = 100, sto = 1002}, -- [voc] = d e ed [{3, 7}] = {item = 2160, quant = 100, sto = 1002}, -- [voc] = p e rp [{4, 8}] = {item = 2160, quant = 100, sto = 1002} -- [voc] = k e ek } } function onAdvance(cid, skill, oldLevel, newLevel) for level, a in pairs(config) do if newLevel >= level then for voc, b in pairs(a) do for i = 1, #voc do if getPlayerVocation(cid) == voc[i] and getPlayerStorageValue(cid, b.sto) <= 0then doPlayerAddItem(cid, b.item, b.quant) setPlayerStorageValue(cid, b.sto, 1) doPlayerSendTextMessage(cid, 22, "Você upou level " .. newLevel .. " e ganhou " .. b.quant .. "x ".. getItemNameById(b.item) .. "!") break end end end end end return true end -
porque você simplesmente não coloca um teleport dentro da sala?
-
que TFS você ta usando? eu testei aqui e pega de boa.
-
Eu fiz desse jeito, vai remove a parede quando joga o item no coal basin mas para volta você coloca um teleport la porque se não o cara pode esquecer de ter o black pearl e fica preso la dentro. e também para que o cara não passe, não tendo feito a quest eu criei um movement que impede ele de passar. Testa ai: Movement: xml: <movevent event="AddItem" tileitem="1" actionid="13501" script="NOMEDOSCRIPT.lua"/> <movevent event="StepIn" actionid="13500" script="NOMEDOSCRIPT.lua"/> lua: local pearl = 2693 -- id do item que vai joga local pos = Position({x = 90, y = 124, z = 7}) -- onde a parede esta local wall_id = 3362 -- id da parede local time = 5 -- quanto tempo ficara aberto local storage = 21321 -- storage que precissa para passar function onAddItem(moveitem, tileitem, position) local wall = getTileItemById(pos, wall_id) if moveitem:getId() == pearl then if wall.itemid ~= 0 then pos:sendMagicEffect(3) doRemoveItem(wall.uid, 1) moveitem:remove() addEvent(function() Game.createItem(wall_id, 1, pos) pos:sendMagicEffect(3) end, time*1000) end end return true end function onStepIn(creature, item, position, fromPosition) if creature:isPlayer() then if creature:getStorageValue(storage) == -1 then creature:teleportTo(fromPosition) end end return true end agora só basta coloca o actionid 13501 no coal basin onde terá que joga o item e o actionid 13500 no local em que só pode passar se tiver feito a quest. ps. não esqueça de configurar o script
- 5 respostas
-
- tfs 1.2
- mover parede
- (e 4 mais)
-
Tópico movido para lixeira, por você já ter criado um igual. http://www.xtibia.com/forum/topic/235945-spell-stop/ Espere alguém responder sua pergunta
-
pedido [TFS 1.2]Script que reduz skills em % dependendo da vocação
pergunta respondeu ao DeCarvalho de RigBy em Scripts
To meio sem tempo porque eu to consertando meu computador mas vou tentar fazer. Vou fazer um npc. * So vai ter essa redução se ele for para rook, então para outras cidades ele fica com a skill normal? -
se for possível, quero mudar meu nome para: JV ou J.V
-
1 - Avueja 2 - Kissy 3 - crownz
-
creatureevent [ModalWindow][TFS 1.2][NPC] Sistema de Diálogo
tópico respondeu ao DeCarvalho de RigBy em Globalevents e Spells
Legal, eu tinha feito um sistema quase assim só que para 8.6, mas não fico tão bom quanto esse.- 9 respostas
-
- modalwindow
- modal window
- (e 3 mais)
-
Se tiver precisando de ajuda pode adicionar eu no skype: jv.alves97
-
é o action do teleport, não precisa coloca em lugar nenhum, ele ja é criado automaticamente quando aparece o teleport. Sim, eu acabei de formatar o pc, então depois eu posto aqui adaptado para 1.2
-
Eu fiz isso porque caso o player deslogue la dentro e o tempo acaba-se o script ia buga e ele poderia fica la pra sempre. desculpa, muda o valor de 1 para -1 no setPlayerSto.... Da uma olhada nessa parte: addEvent(function() if not isPlayer(cid) then return false end if getPlayerStorageValue(cid, 21321321) == 1 then doTeleportThing(cid, pos) setPlayerStorageValue(cid, 21321321, -1) end end, tempo * 60 * 1000)
-
Ola, tava dando uma olhada no TFS 1.x e acabei percebendo que não tinha o comando /attr, então tinha decidido recriar, alguns comandos ja tava funcionando mas eu acabei achando esse na internet e resolvi trazer para ca. Exemplo: /attr action, 1231 Então vamos la instalar: Em talkactions/talkactions.xml adicione essa tag: <talkaction words="/attr" separator=" " script="attributes.lua" /> Em talkactions/scripts, crie o arquivo attributes.lua e adicione isso: local itemFunctions = { ["actionid"] = { isActive = true, targetFunction = function (item, target) return item:setActionId(target) end }, ["action"] = { isActive = true, targetFunction = function (item, target) return item:setActionId(target) end }, ["aid"] = { isActive = true, targetFunction = function (item, target) return item:setActionId(target) end }, ["description"] = { isActive = true, targetFunction = function (item, target) return item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, target) end }, ["desc"] = { isActive = true, targetFunction = function (item, target) return item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, target) end }, ["remove"] = { isActive = true, targetFunction = function (item, target) return item:remove() end }, ["decay"] = { isActive = true, targetFunction = function (item, target) return item:decay() end }, ["transform"] = { isActive = true, targetFunction = function (item, target) return item:transform(target) end }, ["clone"] = { isActive = true, targetFunction = function (item, target) return item:clone() end } } local creatureFunctions = { ["health"] = { isActive = true, targetFunction = function (creature, target) return creature:addHealth(target) end }, ["mana"] = { isActive = true, targetFunction = function (creature, target) return creature:addMana(target) end }, ["speed"] = { isActive = true, targetFunction = function (creature, target) return creature:changeSpeed(target) end }, ["droploot"] = { isActive = true, targetFunction = function (creature, target) return creature:setDropLoot(target) end }, ["skull"] = { isActive = true, targetFunction = function (creature, target) return creature:setSkull(target) end }, ["direction"] = { isActive = true, targetFunction = function (creature, target) return creature:setDirection(target) end }, ["maxHealth"] = { isActive = true, targetFunction = function (creature, target) return creature:setMaxHealth(target) end }, ["say"] = { isActive = true, targetFunction = function (creature, target) creature:say(target, TALKTYPE_SAY) end } } local playerFunctions = { ["fyi"] = { isActive = true, targetFunction = function (player, target) return player:popupFYI(target) end }, ["tutorial"] = { isActive = true, targetFunction = function (player, target) return player:sendTutorial(target) end }, ["guildnick"] = { isActive = true, targetFunction = function (player, target) return player:setGuildNick(target) end }, ["group"] = { isActive = true, targetFunction = function (player, target) return player:setGroup(Group(target)) end }, ["vocation"] = { isActive = true, targetFunction = function (player, target) return player:setVocation(Vocation(target)) end }, ["stamina"] = { isActive = true, targetFunction = function (player, target) return player:setStamina(target) end }, ["town"] = { isActive = true, targetFunction = function (player, target) return player:setTown(Town(target)) end }, ["balance"] = { isActive = true, targetFunction = function (player, target) return player:setBankBalance(target + player:getBankBalance()) end }, ["save"] = { isActive = true, targetFunction = function (player, target) return target:save() end }, ["type"] = { isActive = true, targetFunction = function (player, target) return player:setAccountType(target) end }, ["skullTime"] = { isActive = true, targetFunction = function (player, target) return player:setSkullTime(target) end }, ["maxMana"] = { isActive = true, targetFunction = function (player, target) return player:setMaxMana(target) end }, ["addItem"] = { isActive = true, targetFunction = function (player, target) return player:addItem(target, 1) end }, ["removeItem"] = { isActive = true, targetFunction = function (player, target) return player:removeItem(target, 1) end }, ["premium"] = { isActive = true, targetFunction = function (player, target) return player:addPremiumDays(target) end } } function onSay(player, words, param) if(not player:getGroup():getAccess()) or player:getAccountType() < ACCOUNT_TYPE_GOD then return true end if(param == "") then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return false end local position = player:getPosition() position:getNextPosition(player:getDirection(), 1) local split = param:split(",") local itemFunction, creatureFunction, playerFunction = itemFunctions[split[1]], creatureFunctions[split[1]], playerFunctions[split[1]] if(itemFunction and itemFunction.isActive) then local item = Tile(position):getTopVisibleThing(player) if(not item or not item:isItem()) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Item not found.") return false end if(itemFunction.targetFunction(item, split[2])) then position:sendMagicEffect(CONST_ME_MAGIC_GREEN) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You cannot add that attribute to this item.") end elseif(creatureFunction and creatureFunction.isActive) then local creature = Tile(position):getTopCreature() if(not creature or not creature:isCreature()) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Creature not found.") return false end if(creatureFunction.targetFunction(creature, split[2])) then position:sendMagicEffect(CONST_ME_MAGIC_GREEN) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You cannot add that attribute to this creature.") end elseif(playerFunction and playerFunction.isActive) then local targetPlayer = Tile(position):getTopCreature() if(not targetPlayer or not targetPlayer:getPlayer()) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return false end if(playerFunction.targetFunction(targetPlayer, split[2])) then position:sendMagicEffect(CONST_ME_MAGIC_GREEN) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You cannot add that attribute to this player.") end else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Unknow attribute.") end return false end Credito: Darkhaos, por ter adptado para lua WibbenZ, por ter adptado para TFS 1.x
-
Movido para lixeira por você já ter criado um tópico com o mesmo pedido, espere alguém responde com a solução http://www.xtibia.com/forum/topic/235868-quest-log/#entry1662937
-
substitui o movement por esse: -- Do not remove the credits -- -- [MOVEEVENT] Limite de player por sala -- -- Developed by Rigby -- -- Especially for the Xtibia.com -- function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local pos = {x = 1073, y = 1031, z = 7} -- quando o tempo acaba para onde ele ira ser teleportado local tempo = 10 -- tempo que pode fica em minutos local config = { [5555] = {area = getPlayersInArea({x = 1030, y = 1020, z = 7}, {x = 1040, y = 1030, z = 7}), amountOfPlayers = 1, teleport = {x = 1037, y = 1025, z = 7}}, } if config[item.actionid] then if #config[item.actionid].area < config[item.actionid].amountOfPlayers then doTeleportThing(cid, config[item.actionid].teleport, false) doPlayerSendTextMessage(cid, 25, "Welcome") setPlayerStorageValue(cid, 21321321, 1) addEvent(function() if not isPlayer(cid) then return false end if getPlayerStorageValue(cid, 21321321) == 1 then doTeleportThing(cid, pos) setPlayerStorageValue(cid, 21321321, -1) end end, tempo * 60 * 1000) else doPlayerSendTextMessage(cid, 25, "The room already reached its limit "..config[item.actionid].amountOfPlayers.." player 's wait someone out .") doTeleportThing(cid, fromPosition) end end return true end function getPlayersInArea(fromPos, toPos) -- Function made by Vodkart local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return players end e para que ele quando desloga volta pro templo adicione isso. em creaturescript, dentro do Login.lua antes do ultimo return true. .lua if getPlayerStorageValue(cid, 21321321) == 1 then local pos = {x = 1073, y = 1031, z = 7} -- posição para onde ele vai doTeleportThing(cid, pos) setPlayerStorageValue(cid, 21321321, 1) end
-
Como já tinha feito, e só tinha esquecido de posta ta aqui: Eu meio que refiz. .xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Jasinto Pinto" script="NOME_DO_SCRIPT.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Ola, gostaria de fazer uma mission"/> </parameters> </npc> .lua 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 local storage = 60081 if msgcontains(msg, 'missão') and getPlayerStorageValue(cid, storage) == -1 then selfSay('Você poderia ajudar a achar o briquedo do meu irmão?', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and getPlayerStorageValue(cid, storage) == -1 and talkState[talkUser] == 1 then selfSay('Obrigada, você estará fazendo um grande favor.', cid) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 end if msgcontains(msg, 'mission') and getPlayerStorageValue(cid, storage) == 1 then selfSay('Você acho o briquedo?', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and getPlayerStorageValue(cid, storage) == 1 and talkState[talkUser] == 1 then if getPlayerItemCount(cid, 5944) >= 2 then selfSay('Obrigao, ja fazia ideia de que isso iria acontecer. Pegue isso em forma de gratidao!', cid) doPlayerAddItem(cid, 5908, 2) setPlayerStorageValue(cid, storage, 2) doPlayerRemoveItem(cid, 5944, 2) talkState[talkUser] = 0 else selfSay('Isso nao eh do meu irmao, nao brinque comigo!', cid) end end if msgcontains(msg, 'mission') and getPlayerStorageValue(cid, storage) == 2 then selfSay('Você ja me ajudou!', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
action Fruit Picking (Colheita de fruta)
tópico respondeu ao RigBy de RigBy em Actions e Talkactions
Tava testando a TFS 1.2, e acabei adaptando esse script, então ta ai quem quiser. -- Do not remove the credits -- -- [ACTION] Fruit Harvesting [TFS 1.2]-- -- Developed by Rigby -- -- Especially for the Xtibia.com -- local config = { -- [ID_DA_ARVORE] = {FRUTA, QUANTIDADE{minimo, maximo}, ID_DA_ARVORE_SEM_FRUTO, TEMPO_PARA_ÀRVORE_FICA_COM_FRUTO} [5157] = {fruit = 5097, quantity = {0,1}, treeWithoutFruit = 5156, timeToGrow = 5}, [4006] = {fruit = 2675, quantity = {0,3}, treeWithoutFruit = 4008, timeToGrow = 5}, [5094] = {fruit = 2676, quantity = {3,6}, treeWithoutFruit = 5092, timeToGrow = 5}, [5096] = {fruit = 2678, quantity = {2,7}, treeWithoutFruit = 2726, timeToGrow = 5}, } function onUse(player, item, fromPosition, itemEx, toPosition) for i, k in pairs(config) do if item:getId() == i then random = math.random(k.quantity[1],k.quantity[2]) item:transform(k.treeWithoutFruit) player:addItem(k.fruit, random) addEvent(function() item:transform(i) end, k.timeToGrow * 1000) if random > 0 then player:sendTextMessage(27,"Você pego "..random.." "..ItemType(k.fruit):getName().."!") else player:sendTextMessage(27,"Àrvore não deu nenhum fruto!") end end end return true end- 11 respostas
-
- colheita de fruta
- fruit harvesting
- (e 3 mais)
-
De uma olhada nisso: http://www.xtibia.com/forum/topic/235070-limite-de-player-por-sala/
-
action [TFS 1.0] Battlefield Event - NEW 100%
tópico respondeu ao mkbrabsolute de RigBy em Lixeira Pública
Tópico movido a área correta. Belo sistema, obrigado por compartilhar. -
Ta dando esse erro agora. Query: SELECT `id`, `name`, `password`, `premdays`, `lastday`, `email`, `key`, `create_ip`, `creation`, `premium_points`, `page_access`, `location`, `rlname`, `email_new`, `email_new_time`, `email_code`, `next_email`, `last_post`, `flag` FROM `accounts` WHERE `name` = '1' SQLSTATE: 42S22 Driver code: 1054 Error message: Unknown column 'create_ip' in 'field list' Fatal error: Call to a member function fetch() on boolean in C:\xampp\htdocs\classes\account.phpon line 33
-
Erro: http://prntscr.com/7xr7kg
-
http://prntscr.com/7xr1le Deu esse erro quando eu fui executar, se for a db, passa alguma eu to usando a que veio no TFS.
-
Tem isso. $last_threads = $SQL->query('SELECT ' . $SQL->tableName('players') . '.' . $SQL->fieldName('name') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_text') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_topic') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_smile') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('id') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('replies') . ', ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('post_date') . ' FROM ' . $SQL->tableName('players') . ', ' . $SQL->tableName('z_forum') . ' WHERE ' . $SQL->tableName('players') . '.' . $SQL->fieldName('id') . ' = ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('author_guid') . ' AND ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('section') . ' = 1 AND ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('first_post') . ' = ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('id') . ' ORDER BY ' . $SQL->tableName('z_forum') . '.' . $SQL->fieldName('last_post') . ' DESC LIMIT ' . $config['site']['news_limit'])->fetchAll();
-
Alguém pode explica como resolve esse erro? http://prntscr.com/7xqoml To usando Gesior 2012 - TFS 1.0 com a TFS 1.2.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.