
Tudo que luangop postou
-
(Resolvido)[Ajuda] System Look
Provavelmente vc ja tem algum outro script de look então, procura no seu creaturescripts algo relacionado a look e manda o script
-
(Resolvido)[Ajuda] System Look
function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and not (thing.uid == cid) then local player = thing.uid doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Informações de '".. getCreatureName(player) .."':") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "-- HP: ".. getCreatureHealth(player) .."/".. getCreatureMaxHealth(player) .."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "-- MP: ".. getCreatureMana(player) .."/".. getCreatureMaxMana(player) .."") return true end return false end Acho que isso resolve a questão de si mesmo, quanto a hora não da pra remover, ao menos não sem mexer na source (eu acho).
-
(Resolvido)[Ajuda] System Look
rsrs e só clicar no coração ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>>>>
-
(Resolvido)[Ajuda] System Look
Não testei, vê ai se funciona: data/creaturescripts creaturescripts.xml <event type="look" name="PlayerLookInfo" event="script" value="pli.lua"/> Em data/creaturescripts/scripts abra login.lua Abaixo de qualquer linha que possua 'registerCreatureEvent' adicione essa linha: registerCreatureEvent(cid, "PlayerLookInfo") Em data/creaturescripts/scripts crie um arquivo pli.lua com o seguinte: function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and not (thing.uid == cid) then local player = thing.uid doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Informações de '".. getCreatureName(player) .."':") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "-- HP: ".. getCreatureHealth(player) .."/".. getCreatureMaxHealth(player) .."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "-- MP: ".. getCreatureMana(player) .."/".. getCreatureMaxMana(player) .."") return true end end
-
Saber qual comando a Staff usou
Perdão erro meu... Modifique a parte: local pip = getPlayerIp(cid) para: local pip = doConvertIntegerToIp(getPlayerIp(cid))
-
Saber qual comando a Staff usou
Sim!
-
Saber qual comando a Staff usou
O correto seria você ter criado um novo tópico fazendo seu pedido, mas vamos lá. Tente assim: function onSay(cid, words, param, channel) local pname = getPlayerNameByGUID(getPlayerGUID(cid)) local pip = getPlayerIp(cid) local file = io.open('data/logs/'.. pname ..'.txt','a') file:write("Dia: "..os.date("%d").."/"..os.date("%m").."/"..os.date("%Y").." Hora: "..os.date("%X").." Ip: ".. pip .." usou o comando >> ".. words .." ".. param .."\n") file:close() if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end local t = string.explode(param, ",") local ret = RETURNVALUE_NOERROR local pos = getCreaturePosition(cid) local id = tonumber(t[1]) if(not id) then id = getItemIdByName(t[1], false) if(not id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.") return true end end local amount = 100 if(t[2]) then amount = t[2] end local item = doCreateItemEx(id, amount) if(t[3] and getBooleanFromString(t[3])) then if(t[4] and getBooleanFromString(t[4])) then pos = getCreatureLookPosition(cid) end ret = doTileAddItemEx(pos, item) else ret = doPlayerAddItemEx(cid, item, true) end if(ret ~= RETURNVALUE_NOERROR) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Couldn't add item: " .. t[1]) return true end doDecayItem(item) if(not isPlayerGhost(cid)) then doSendMagicEffect(pos, 87) end return true end Obs: Neste código fiz com que na pasta logs seja criado um .txt com o nome de quem digitou o comando, para separar os comandos de cada staff em arquivo diferente.
-
[BUG] em item com tempo que não acaba
Vc não falou qual seu TFS, não falou se fez isso pelo items.xml ou por script, não postou script... fica difícil ajudar.
-
(Resolvido)[PEDIDO] Entrega de donate
Caramba rsrs Desculpe a falta de suporte, eu raramente entro no fórum...
-
(Resolvido)[PEDIDO] Entrega de donate
data/talkactions talkactions.xml <talkaction words="/entregar" log="yes" access="6" script="entregar.lua"/> data/talkactions/scripts entregar.lua data/actions actions.xml <action actionid="65470" event="script" value="BauDonate.lua"/> *actionid="65470" <~~ Action do bau no map-editor. data/actions/scripts BauDonate.lua Observações: O comando que criei pra vc armazena um log em data/logs com nome de entregar-log.txt com todos os detalhes dos pontos entregues. A action do bau armazena um log em data/logs com nome de entregue-log.txt com todos os detalhes de quando alguem recebe os pontos no bau. Qualquer dúvida e só avisar, mas como já deve ter percebido eu demoro um pouco a responder rsrs.
-
(Resolvido)[PEDIDO] Entrega de donate
Simples, basta criar uma talk de force storage para setar o valor donate que o player tem a receber, e no bau uma action que checa se o player tem a storage, se tiver entrega os pontos. Qual o tfs usado?
-
ALAVANCA QUE VERIFICA ITEMS X QUANTIDADES
Não testei, qualquer coisa avisa. Obs: Posso demorar a responder, pois acesso pouco o fórum atualmente.
-
(Resolvido)[PEDIDO] Cura própria
Não, na verdade ele foi bem específico, ele quer uma magia que heale 30% a mais de uma já existente no jogo dele, porém ele não teve o senso lógico pra saber que pra isso, preciso saber o valor que o script dele está healando, para assim criar outro que heale 30% a mais...
-
(Resolvido)[PEDIDO] Cura própria
Poste o script deste Big Regeneration....
- Script /B GM
-
Magia com cost em porcentagem da mana máxima
Não fui eu que fiz, quem fez essa parte foi o amigo la em cima
-
Tamanho do ModalWindow
Não manjo de tibia superior a 8.6, Mas se quiser postar o script q faz isso ai, tenho boa noção de inglês e lua, se tiver como aumentar deve ser fácil identificar no script.
-
Magia com cost em porcentagem da mana máxima
Erro meu, mude essa parte: local config = { cooldown = 0, -- tempo entre uma magia e outra tempo = 10, -- tempo em segundos que ficará healando percent = 0.5, --- porcentagem da vida que cura storage = 45382, effect = 12 --- efeito que vai sair mana_cost_percent = 20 -- % da mana que vai custar } para: local config = { cooldown = 0, -- tempo entre uma magia e outra tempo = 10, -- tempo em segundos que ficará healando percent = 0.5, --- porcentagem da vida que cura storage = 45382, effect = 12, --- efeito que vai sair mana_cost_percent = 20, -- % da mana que vai custar }
-
Magia com cost em porcentagem da mana máxima
Estranho, nem eu nem o amigo acima mechemos na função de healar, a menos que o script já não era funcional, deveria funcionar. Refiz os cálculos da minha forma, tente assim: *Edit: Realmente o script estava sem a função de add o health no player kk local config = { cooldown = 0, -- tempo entre uma magia e outra tempo = 10, -- tempo em segundos que ficará healando percent = 0.5, --- porcentagem da vida que cura storage = 45382, effect = 12 --- efeito que vai sair mana_cost_percent = 20 -- % da mana que vai custar } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) setConditionFormula(condition, 0.8, -72, 0.8, -72) setCombatCondition(combat, condition) function onCastSpell(cid, var) local manacost = math.ceil((getCreatureMaxMana(cid) / 100) * (config.mana_cost_percent)) if getCreatureMana(cid) >= manacost then if os.time() - getPlayerStorageValue(cid, config.storage) >= config.cooldown then for i = 1, config.tempo do addEvent(function() if isCreature(cid) then local lifedraw = math.ceil(getCreatureMaxHealth(cid) * (config.percent)/100) local pos = getPlayerPosition(cid) doSendAnimatedText(pos, "+"..lifedraw , TEXTCOLOR_GREEN) doCreatureAddHealth(cid, lifedraw) doSendMagicEffect(pos, config.effect) end end, 1000*i) end doPlayerSetStorageValue(cid, config.storage, os.time()) doCombat(cid, combat, var) doCreatureAddMana(cid, -(manacost)) else doPlayerSendCancel(cid, "Your Mass Healing is at cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storage))).." seconds.") end else doPlayerSendCancel(cid, "You do not have enough mana.") end return true end
-
Magia com cost em porcentagem da mana máxima
Faltou uma verificação de mana, segue o script do amigo acima com a verificação: local config = { cooldown = 0, -- tempo entre uma magia e outra tempo = 10, -- tempo em segundos que ficará healando percent = 0.5, --- porcentagem da vida que cura storage = 45382, effect = 12, --- efeito que vai sair mana_cost_percent = 10 -- % da mana que vai custar } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) setConditionFormula(condition, 0.8, -72, 0.8, -72) setCombatCondition(combat, condition) function onCastSpell(cid, var) if getCreatureMana(cid) >= (config.mana_cost_percent*getCreatureMaxMana(cid)*0.01) then if os.time() - getPlayerStorageValue(cid, config.storage) >= config.cooldown then for i = 1, config.tempo do addEvent(function() if isCreature(cid) then local lifedraw = math.ceil(getCreatureMaxHealth(cid) * (config.percent)/100) local pos = getPlayerPosition(cid) doSendAnimatedText(pos, "+"..lifedraw , TEXTCOLOR_GREEN) doSendMagicEffect(pos, config.effect) end end, 1000*i) end doPlayerSetStorageValue(cid, config.storage, os.time()) doCombat(cid, combat, var) doPlayerAddMana(cid, -(config.mana_cost_percent*getCreatureMaxMana(cid)*0.01)) else doPlayerSendCancel(cid, "Your Mass Healing is at cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storage))).." seconds.") end else doPlayerSendCancel(cid, "You do not have enough mana.") end return true end
-
Script /B GM
E não aparece nenhum erro na distro? Tente assim: local config = { itemprice = 2160, -- id do dinheiro necessário para recarregar price = 50, -- quantos 'itemprice' será necessário para recarregar itemID = 9999, -- id do item usos = 100, -- quantos usos do comando o player vai comprar storage = 84454, -- storage que salva quantos usos do item o player vai ganhar ( mesmo do storage2 da talkaction) } 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() doCreatureSetLookDirection(getNpcId(), (2)) 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, 'recarregar') or msgcontains(msg, 'yes')) then selfSay('Voce deseja recarregar seu '.. getItemNameById(config.itemID) ..' por '.. price ..' '.. itemprice ..'?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, config.storage) <= 0 then if(getPlayerItemCount(cid, config.itemID) >= 1) then if(doPlayerRemoveItem(cid, config.itemprice, config.price) == TRUE) then setPlayerStorageValue(cid, config.storage, config.usos) selfSay('Pronto, agora você pode usar por mais '.. config.usos ..' vezes!', cid) else selfSay('Desculpe, mas voce nao tem dinheiro.', cid) end else selfSay('Desculpe, mas voce nao possui '.. getItemNameById(config.itemID) ..'', cid) end else elfSay('Desculpe, mas voce ainda pode usar o comando '.. getPlayerStorageValue(cid, config.storage) ..' vezes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok, obrigado.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Não incomoda não, eu não manjo nada de npc, estou fazendo na sorte então isso é um aprendizado para mim rsrs
-
Script /B GM
<?xml version="1.0" encoding="UTF-8"?> <npc name="Recharger" script="Rechargerbroad.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2"> <health now="150" max="150"/> <look type="510" head="115" body="148" legs="39" feet="41"/> <parameters> <parameter key="message_greet" value="Ola jogador, deseja {recarregar}?"/> </parameters> </npc>
- Script /B GM
-
TFS 0.3.6 Voltando ao normal depois do doTransformItem
Simples cara, remova a função de fazer a árvore voltar ao normal, e no items.xml, no item da árvore cortada, ponha a tag DecayTo Dessa forma: <attribute key="decayTo" value="ID_DA_ARVORE_NORMAL" /> <attribute key="duration" value="TEMPO_EM_SEGUNDOS_PARA_ARVORE_VOLTAR_AO_NORMAL" />
-
[PEDIDO] Junção de Talkactions (2 scripts prontos
Segundo baú: function onUse(cid, item, fromPos, item2, toPos) local sto = 8445682 if getPlayerStorageValue(cid, sto) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa fazer a quest da primeira aura antes de fazer a segunda.") elseif getPlayerStorageValue(cid, sto) > 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você já possui aura level 2 ou superior.") elseif getPlayerStorageValue(cid, sto) == 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns! Você adquiriu a aura level 2!") setPlayerStorageValue(cid, sto, 2) doSendMagicEffect(getThingPos(cid), 29) end end