Ir para conteúdo

Dwarfer

Membro
  • Registro em

  • Última visita

Solutions

  1. Dwarfer's post in (Resolvido)Editar Jail System 0.3.6 8.54 was marked as the answer   
    Fiz um mod aqui, teste-o:
     
     
    Configuração:
     
    JAIL_SYS = { block_mana = true, -- 'true' para bloquear ganho de mana, 'false' para não bloquear prision_area = { -- área da prisão fromPos = {x = 1, y = 1, z = 6}, -- posição do canto superior esquerdo (caso a prisão possua andares diferentes, aqui é o de menor 'z') toPos = {x = 2, y = 2, z = 7} -- posição do canto inferior direito da área (caso a prisão possua andares diferentes, aqui é o de maior 'z') }, max_security_skulls = {SKULL_RED, SKULL_BLACK}, -- caso o player tenha essas skulls, irão para as 'celas de segurança máxima' jails_enter_positions = { ["NORMAL"] = { -- posições das celas normais [1] = {x = 1, y = 1, z = 1}, [2] = {x = 1, y = 1, z = 1}, [3] = {x = 1, y = 1, z = 1}, }, ["MAX_SECURITY"] = { -- posições das celas de segurança máxima [1] = {x = 1, y = 1, z = 1}, [2] = {x = 1, y = 1, z = 1}, [3] = {x = 1, y = 1, z = 1}, }, }, storages = {jailtime = 76530} -- só modifique se necessário }  
    Na linha: 
     
    <globalevent name="JailBlockMana" interval="10000" event="script"><![CDATA[
    Edite o 10000 (10 segundos) para o intervalo de tempo que todos da prisão terão a mana igual a 0.
     
    Para utilizar o comando:
     
    !jail Nome do player,tempo preso em minutos,levels perdidos Ex.: !jail Dwarfer,2,1 <- Preso por 2 minutos e perderá 1 level
     
  2. Dwarfer's post in (Resolvido)Ajuda no desenvolvimento de uma script was marked as the answer   
    @DboExplorer
    Caso se trate de TFS 0.4, fiz um exemplo simples para você. Como não sei onde está esse item e como você está fazendo para pegar suas informações, coloquei o exemplo da talkaction como verificando os atributos do item na mão esquerda do player.
     
    Primeiramente, adicione as seguintes funções na sua lib:
     
     
    Para a action, você pode fazer algo como:
     
     
    Para a talkaction:
     
     
    Ao falar !addon 1, trocará para o primeiro outfit adicionado ao item lá na action, !addon 2 o segundo e por aí vai. Como disse, fiz uma forma simplificada, a partir disso você consegue implementá-lo.
     
  3. Dwarfer's post in (Resolvido)Juntar duas actions was marked as the answer   
    local t = {[1499] = function(item) doSendMagicEffect(getThingPos(item.uid), CONST_ME_POFF) doRemoveItem(item.uid) end, [2782] = function(item) doTransformItem(item.uid, 2781) doDecayItem(item.uid) end} function onUse(cid, item, fromPosition, itemEx, toPosition) local x = t[itemEx.itemid] if x then x(itemEx) return true end return destroyItem(cid, itemEx, toPosition) end  
  4. Dwarfer's post in (Resolvido)Estou perdido com == true | == false was marked as the answer   
    if getPlayerStorageValue(cid, 40300) == -1 then setPlayerStorageValue(cid, 40300, 1) else doPlayerSendTextMessage(cid, 18, "Você já possui o storage igual a 1") end  
    Não tem complicação nenhuma. É só armazenar o VALOR do storage e depois verificar se o VALOR corresponde ao retornado por getPlayerStorageValue(). 
    Apesar de ser desnecessário fazer com true ou false, como não sei com que finalidade você tá fazendo isso, você poderia fazer algo assim:
    if getBooleanFromString(getPlayerStorageValue(cid, 40300)) == true then doPlayerSendTextMessage(cid, 18, "Verdadeiro") else doPlayerSendTextMessage(cid, 18, "Falso") setPlayerStorageValue(cid, 40300, "true") end Ou somente verificar a própria string armazenada (qualquer string):
    if getPlayerStorageValue(cid, 40300) == "true" then doPlayerSendTextMessage(cid, 18, "Verdadeiro") else doPlayerSendTextMessage(cid, 18, "Falso") setPlayerStorageValue(cid, 40300, "true") end  
  5. Dwarfer's post in (Resolvido)ajuda em sistema (postarei aqui no fórum) was marked as the answer   
    Tá bem bagunçado isso aí carinha, na verdade não ia funcionar nada rsrsr. Testa assim:
     
    lib
     
     
    Em creaturescripts/scripts, crie um arquivo.lua:
     
     
    No login.lua, registre o evento:
    player:registerEvent("tptile_modal")  
    No creaturescripts.xml, adicione a tag:
    <event type="modalwindow" name="tptile_modal" script="NOMEDOARQUIVO.lua"/> Em movements/scripts, crie um arquivo.lua (ou substitua pelo que tem dentro do arquivo que você já possui):
     
    No movements.xml, adicione a tag:
    <movevent event="StepIn" actionid="ACTION_ID_DO_PISO" script="NOMEDOARQUIVO.lua" />  
  6. Dwarfer's post in (Resolvido)Usar item e adicionar ppoints was marked as the answer   
    Em actions/scripts crie um arquivo.lua:
     
     
    No actions.xml: <action itemid="ID_DO_ITEM" script="NOMEDOARQUIVO.lua" />
  7. Dwarfer's post in (Resolvido)max door Level was marked as the answer   
    Porta
    Em actions/scripts, crie um arquivo.lua:
     
    No actions.xml:  <action actionid="ACTION_ID_DA_PORTA" script="NOMEDOARQUIVO.lua" />
     
    Tp
    Em movements/scripts, crie um arquivo.lua:
     
    No movements.xml: <movevent type="StepIn" actionid="ACTION_ID_DO_TELEPORT" event="script" value="NOMEDOARQUIVO.lua"/>
     
    Npc
     
    Um arquivo xml como base:
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Dwarfer" script="NOMEDOARQUIVO.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="66"/> </npc>  
  8. Dwarfer's post in (Resolvido)Pedido Teleporte por comando para OTserver 10.98 was marked as the answer   
    Em talkactions/scripts crie um arquivo.lua:
     
     
    No talkactions.xml, adicione a tag: <talkaction words="/ir" separator=" " script="NOMEDOARQUIVO.lua" />
  9. Dwarfer's post in (Resolvido)Alavanca potion. was marked as the answer   
    local config = { money = 10000, -- Dinheiro que vai custar item = 7591, -- ID do item que vai vender count = 100, -- Quantidade } function onUse(cid, item, fromPosition, itemEx, toPosition) local p = getPlayerPosition(cid) if getPlayerFreeCap(cid) < getItemWeightById(config.item, config.count) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você não tem cap suficiente para ".. config.count.." "..getItemNameById(config.item)..".") doSendMagicEffect(p, CONST_ME_POFF) return true end if not doPlayerRemoveMoney(cid, config.money) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você não possui "..config.money.. " gold coins.") doSendMagicEffect(p, CONST_ME_POFF) return true end doPlayerAddItem(cid, config.item, config.count) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você comprou "..config.count.." "..getItemNameById(config.item)..".") doSendAnimatedText(toPosition, "SUCCESS!", COLOR_TEAL) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end  
  10. Dwarfer's post in (Resolvido)[Pedido] Double Fishing was marked as the answer   
    Item que dá o bônus
     
    Em actions/scripts, crie um arquivo.lua:
     
     
     
    Em actions/scripts, adicione a tag: <action itemid="ID_DO_ITEM" script="NOMEDOARQUIVO.lua" />
  11. Dwarfer's post in (Resolvido)Npc que summona monstro em troca de item was marked as the answer   
    Em npcs/scripts crie um arquivo.lua:
     
     
    Um arquivo.xml como base:
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Dwarfer" script="NOMEDOARQUIVO.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="66"/> </npc>  
  12. Dwarfer's post in (Resolvido)Modificar um script pra TFS 1.2 was marked as the answer   
    @Jobs
     
     
  13. Dwarfer's post in (Resolvido)[Ajuda] Action Quest was marked as the answer   
    Como assim não precisa estar na mão? Você colocou no tópico que "o Player clicka na porta com o XXX Item na mão", da próxima vez tente deixar seu pedido bem detalhado. Fiz a alteração para verificar se o player possui o item, independente de estar na mão. 
     
     
    Com relação ao erro, se você configurar as posições corretamente, vai funcionar.
  14. Dwarfer's post in (Resolvido)[Ajuda] Desert Quest Bugada was marked as the answer   
    @Joaoafp
     
     
  15. Dwarfer's post in (Resolvido)Adaptar script NPC Reborn was marked as the answer   
    @DiigooMix Ajeita esse script como coloquei na tabela abaixo, vai eliminar esse monte de elseif.
    local t = { [8] = {level = 300, reborn = {1,10,9}}, -- [id da vocação] = {level = 300, reborn = {parâmetros da função doReborn}}  
  16. Dwarfer's post in (Resolvido)Porta checa área was marked as the answer   
    Em actions/scripts, crie um arquivo.lua:
     
     
    Em actions.xml: <action uniqueid="UNIQUE_ID_DA_PORTA" event="script" value="NOMEDOARQUIVO.lua"/>
  17. Dwarfer's post in (Resolvido)Magia por Posição. was marked as the answer   
    Não tirou dano porque você não tinha dito que era pra tirar. Enfim:
     
     
     
  18. Dwarfer's post in (Resolvido)[ajuda] Por storage e level na action was marked as the answer   
  19. Dwarfer's post in (Resolvido)Porta premium was marked as the answer   
  20. Dwarfer's post in (Resolvido)Converter IP gerado no log.txt was marked as the answer   
    local pname = getPlayerNameByGUID(getPlayerGUID(cid)) local pip = doConvertIntegerToIp(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").."\n".. pname .." Através do Ip: " .. pip .. "\nusou o comando >> ".. words .." ".. param .."\n\n") file:close()  
  21. Dwarfer's post in (Resolvido)spell criar items was marked as the answer   
    local items = {{2160,1},{2158,2},{2148,4}} --{id, quantidade} function onCastSpell(cid, var) local r = math.random(1, #items) local i, c = items[r][1], items[r][2] if not isItemStackable(i) then for k = 1, c do doPlayerAddItem(cid, i, 1) end else doPlayerAddItem(cid, i, c) end doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) return true end  
  22. Dwarfer's post in (Resolvido)[PEDIDO] Efeito ao equipar item. was marked as the answer   
    Não testei, qualquer coisa fala aí. Em movements/scripts, crie um arquivo.lua:
     
     
    No movements.xml adicione as tags para cada item:
    <movevent type="Equip" itemid="1111" slot="head" event="script" value="NOMEDOARQUIVO.lua"/> <movevent type="Equip" itemid="2222" slot="armor" event="script" value="NOMEDOARQUIVO.lua"/> <movevent type="Equip" itemid="3333" slot="legs" event="script" value="NOMEDOARQUIVO.lua"/> <movevent type="Equip" itemid="4444" slot="feet" event="script" value="NOMEDOARQUIVO.lua"/>  
  23. Dwarfer's post in (Resolvido)Selar monstro was marked as the answer   
    @xMateuss Não tinha colocado, porque você não disse pra colocar. Apenas falou sobre remover o papel kk
     
     
  24. Dwarfer's post in (Resolvido)Erro comando !saga was marked as the answer   
  25. Dwarfer's post in (Resolvido)[NPC] Barco com Passe was marked as the answer   
    Supondo ser a versão correta:
     
    Em npcs/scripts, crie um arquivo:
     
    ilhadofogo.lua
     
     
    Um xml para o npc como base, edite como quiser:
     
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Traveller" script="ilhadofogo.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="66"/> </npc>  

Informação Importante

Confirmação de Termo