Ir para conteúdo

Kuro o Shiniga

Colaborador
  • Total de itens

    271
  • Registro em

  • Última visita

  • Dias Ganhos

    12

Histórico de Reputação

  1. Upvote
    Kuro o Shiniga recebeu reputação de eliaspalermo em [Resolvido] Comando !bug com tempo   
    function onSay(cid, words, param) pos = {x=1051, y=1051, z=7} local cd = { cdtime = 60, -- TEMPO EM SEGUNDO PARA PODER USAR O ITEM 30 = 30 SEGUNDOS ! str = 69889, -- NÃO MEXA } if getPlayerStorageValue(cid, cd.str) < os.time() then setPlayerStorageValue(cid, cd.str, os.time() + cd.cdtime) doSendMagicEffect(getPlayerPosition(cid),19) doPlayerSendCancel(cid,"Teleportado!") doTeleportThing(cid,pos) else doPlayerSendCancel(cid, "espere para usar novamente") end end  
  2. Upvote
    Kuro o Shiniga recebeu reputação de eliaspalermo em [Resolvido] [Pedido] 3 Npcs [Acredito Médio]   
    Desculpa a demora brother, tava ocupado, aqui o script :
     
    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 str = 192537 --- STORAGE QUE VAI GANHAR local temitens = {{id = 2160, count = 100}, {id = 8306, count = 3}, {id = 2400, count = 2}, {id = 5878, count = 100}, {id = 2494, count = 2}, {id = 2486, count = 2}, {id = 2491, count = 2}} --- ID DOS ITENS QUE PRECISA PRA TROCAR PELA STORAGE! function onItemPlayer(cid, itemid) for i = 1, #temitens do if getPlayerItemCount(cid, temitens[i].id) < temitens[i].count then return false end end return true end function removeItem(cid) for i in ipairs (temitens) do doPlayerRemoveItem(cid, temitens[i].id, temitens[i].count) end end if msgcontains(msg, "trocar") and onItemPlayer(cid, temitens) and getPlayerStorageValue(cid, str) < 1 then removeItem(cid) setPlayerStorageValue(cid, str, 1) doSendMagicEffect(getThingPos(cid), 12) selfSay("Storage Adicionada !", cid) else selfSay("Voce nao tem os itens necessarios ou ja tem a storage!", cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    Aqui você muda a quantidade e o item que vai ser entregue ao NPC :
    local temitens = {{id = 2160, count = 100} Em "ID" é o id do item e em "COUNT" a quantidade !
  3. Upvote
    Kuro o Shiniga recebeu reputação de Fawkzz12 em [Resolvido] Banco / Guardar   
    function onSay(cid, words, param, channel) strplayer = 18316 str = getPlayerStorageValue(cid,strplayer) str = str == -1 and 0 or str if param:find('balance') then doPlayerSendTextMessage(cid, 22, "Voce tem na sua conta: " .. str .. " gold coins.") doSendMagicEffect(getThingPos(cid), 12) end if param:match('deposit') then local v = param:match('deposit (.+)') or tonumber(param) or param == 'all' and param local gc = tonumber(v == 'all' and getPlayerMoney(cid) or v) if not gc then doPlayerSendTextMessage(cid, 22, 'digite um valor para ser depositado') doSendMagicEffect(getThingPos(cid), 2) else if getPlayerMoney(cid) >= gc then setPlayerStorageValue(cid,strplayer,str+gc) doPlayerRemoveMoney(cid,gc) doPlayerSendTextMessage(cid, 22,'foi depositado em sua conta: '..gc..' gold coins.') doSendMagicEffect(getThingPos(cid), 12) else doPlayerSendTextMessage(cid, 22, 'voce tem apenas: '..getPlayerMoney(cid)..' gold coins.') doSendMagicEffect(getThingPos(cid), 2) end end end if param:match('withdraw') then local v = param:match('withdraw (.+)') or param:match('w (.+)') or tonumber(param) or param == 'all' and param local gc = tonumber(v == 'all' and str or v) if not gc then doPlayerSendTextMessage(cid, 22, 'digite um valor') else if str >= gc then setPlayerStorageValue(cid,strplayer,str-gc) doPlayerAddMoney(cid,gc) doPlayerSendTextMessage(cid,22,'foi retirado da sua conta: '..gc..' gold coins.') doSendMagicEffect(getThingPos(cid), 12) else doPlayerSendTextMessage(cid,22,'na sua conta tem apenas '..str..' gold coins.') doSendMagicEffect(getThingPos(cid), 2) end end end return TRUE end <talkaction words="/banco" event="script" value="arquivolua.lua" />  
    Comandos :
    Exemplo de retirar: /banco withdraw 100 ou /banco withdraw all Exemplo Deposito: /banco deposit 100 ou /banco deposit all balance: /banco balance  
  4. Upvote
    Kuro o Shiniga recebeu reputação de Fawkzz12 em [Resolvido] Comando !bug com tempo   
    function onSay(cid, words, param) pos = {x=1051, y=1051, z=7} local cd = { cdtime = 60, -- TEMPO EM SEGUNDO PARA PODER USAR O ITEM 30 = 30 SEGUNDOS ! str = 69889, -- NÃO MEXA } if getPlayerStorageValue(cid, cd.str) < os.time() then setPlayerStorageValue(cid, cd.str, os.time() + cd.cdtime) doSendMagicEffect(getPlayerPosition(cid),19) doPlayerSendCancel(cid,"Teleportado!") doTeleportThing(cid,pos) else doPlayerSendCancel(cid, "espere para usar novamente") end end  
  5. Upvote
    Kuro o Shiniga recebeu reputação de jeriposcleide em [Resolvido] [8.60] Erro na troca de vocação   
    Estranho aqui funcionou, testei com um sorcerer ele virou paladin, você colocou o script no local correto e deu reload?
  6. Upvote
    Kuro o Shiniga deu reputação a Benny em xTibia 2019! - Atualizações (visual, equipe, seções)   
    E ai, galera, beleza? Espero que sim (= 
    Nós do xTibia vamos tentar organizar tudo da melhor forma possível para vocês. Nesse ano de 2019 provavelmente ocorrerão varias mudanças ao longo do tempo.
     
    Enfim, hoje começamos uma das mais (talvez a mais) importantes no ano. Atualizamos o visual do fórum, adicionamos membros na equipe e organizamos as seções do suporte. 
     
    As seções de suporte foram limpas e organizadas. Um novo padrão de postagem foi criado. Assim, fica mais fácil da nossa equipe ajudar e mais fácil de vocês serem ajudados.
     
    Nosso discord foi atualizado! Novas regras e seções foram adicionadas! Que tal dar uma passada por lá?!
     

     
    Um novo visual mais bonito e agradável foi adicionado ao fórum. E, por fim, mas não menos importante. Saúdem os novos membros da equipe: 
     
     
    @Refe - Coordenador 
    @Yan Liima  - Moderador
    @Marshmello - Moderador 
    @Markowiicz - Colaborador 
    @Kuro o Shiniga - Colaborador 
     
    Enfim, é isso. 
     

  7. Upvote
    Kuro o Shiniga recebeu reputação de eliaspalermo em [Resolvido] Adição no tp scroll   
    local cd = { cdtime = 30, --//-- quanto tempo fica sem usar o item str = 65545, --- não mexa pos = {x = 81, y = 339, z = 7}, --- pos para onde o player vai } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, cd.str) < os.time() and not getCreatureCondition(cid, CONDITION_INFIGHT) then setPlayerStorageValue(cid, cd.str, os.time() + cd.cdtime) doPlayerSendTextMessage(cid, 19, "Voce foi transportado de volta a File City") -- mensagem que sairá quando ele for teleportado doTeleportThing(cid, cd.pos) doSendMagicEffect(getThingPos(cid), 10) doRemoveItem(item.uid, 1) elseif getPlayerStorageValue(cid, cd.str) >= os.time() then doPlayerSendTextMessage(cid, 19, "Espera para usar novamente") else doPlayerSendTextMessage(cid, 19,"Impossivel usar esse item em batalhas!") doSendMagicEffect(getThingPos(cid), 2) end return true end  
  8. Upvote
    Kuro o Shiniga recebeu reputação de Nosifero em Alavanca que inicia uma Raid   
    com tempo
    function onUse(cid, item) custo = 1000000 level = 100 monster = "dragon" posmonster = {x=79, y=335, z=7} switchUniqueID = 1912 local cd = { cdtime = 10, --//-- quanto tempo fica sem usar o item str = 69888, } if getPlayerLevel(cid) >= level and getPlayerMoney(cid) >= custo and item.uid == switchUniqueID and getPlayerStorageValue(cid, cd.str) < os.time() then setPlayerStorageValue(cid, cd.str, os.time() + cd.cdtime) doPlayerRemoveMoney(cid, custo) doCreateMonster(monster, posmonster) doSendMagicEffect(getThingPos(cid), 12) doPlayerBroadcastMessage(cid, "Raid Started") elseif getPlayerStorageValue(cid, cd.str) >= os.time() then doPlayerSendCancel(cid, "espere para usar novamente") else doPlayerSendCancel(cid, "voce nao tem level necessario para ativar essa task, ou seu dinheiro nao e suficiente !") doSendMagicEffect(getThingPos(cid), 2) end end  
  9. Thanks
    Kuro o Shiniga recebeu reputação de eliaspalermo em [Resolvido] Npc que da item e depois teleporta.   
    Primeiro npc :
    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 strBlueFalcon = 189860 -- não mexer strGoldHawk = 189861 -- não mexer strBlackSword = 189862 -- não mexer posBlueFalcon = {x=80, y=348, z=7} -- posição Blue Falcon posGoldHawk = {x=75, y=340, z=7} --- posição gold hawk posBlackSword = {x=84, y=339, z=7} --- posição black sword iditemfalcon = 2160 -- id do item que ganha quando escolhe a companhias falcon iditemhawk = 2160 -- id do item que ganha quando escolhe a companhias hawk iditemsword = 2160 -- id do item que ganha quando escolhe a companhias sword if msgcontains(msg, "mission") then selfSay("Ola aventureiro, tenho 3 companhias que voce pode escolher, (Blue Falcon, Gold Hawk e Black Sword) qual voce deseja?", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "blue falcon") and talkState[talkUser] == 1 and getPlayerStorageValue(cid, strBlueFalcon) < 1 and getPlayerStorageValue(cid, strGoldHawk) < 1 and getPlayerStorageValue(cid, strBlackSword) < 1 then setPlayerStorageValue(cid, strBlueFalcon, 1) doTeleportThing(cid, posBlueFalcon) doSendMagicEffect(getThingPos(cid), 10) doPlayerAddItem(cid, iditemfalcon, 1) selfSay("Que assim seja!", cid) elseif msgcontains(msg, "gold hawk") and talkState[talkUser] == 1 and getPlayerStorageValue(cid, strBlueFalcon) < 1 and getPlayerStorageValue(cid, strGoldHawk) < 1 and getPlayerStorageValue(cid, strBlackSword) < 1 then setPlayerStorageValue(cid, strGoldHawk, 1) doTeleportThing(cid, posGoldHawk) doSendMagicEffect(getThingPos(cid), 10) doPlayerAddItem(cid, iditemhawk, 1) selfSay("Que assim seja!", cid) elseif msgcontains(msg, "black sword") and talkState[talkUser] == 1 and getPlayerStorageValue(cid, strBlueFalcon) < 1 and getPlayerStorageValue(cid, strGoldHawk) < 1 and getPlayerStorageValue(cid, strBlackSword) < 1 then setPlayerStorageValue(cid, strBlackSword, 1) doTeleportThing(cid, posBlackSword) doSendMagicEffect(getThingPos(cid), 10) doPlayerAddItem(cid, iditemsword, 1) selfSay("Que assim seja!", cid) else selfSay("Voce ja escolheu seu destino", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    Segundo npc : 
    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 strBlueFalcon = 189860 -- não mexer strGoldHawk = 189861 -- não mexer strBlackSword = 189862 -- não mexer posBlueFalcon = {x=80, y=348, z=7} -- posição Blue Falcon posGoldHawk = {x=75, y=340, z=7} --- posição gold hawk posBlackSword = {x=84, y=339, z=7} --- posição black sword iditemfalcon = 2160 -- id do item que precisa para companhias falcon iditemhawk = 2160 -- id do item que precisa para companhias hawk iditemsword = 2160 -- id do item que precisa para companhias sword if msgcontains(msg, "mission") and getPlayerStorageValue(cid, strBlueFalcon) == 1 and getPlayerItemCount(cid, iditemfalcon) == 1 then selfSay("voce e da companhia Blue falcon, deseja ir para a ilha?", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "yes") and getPlayerStorageValue(cid, strBlueFalcon) == 1 and talkState[talkUser] == 1 then selfSay("que assim seja", cid) doTeleportThing(cid, posBlueFalcon) doSendMagicEffect(getThingPos(cid), 10) talkState[talkUser] = 0 elseif msgcontains(msg, "mission") and getPlayerStorageValue(cid, strGoldHawk) == 1 and getPlayerItemCount(cid, iditemhawk) == 1 then selfSay("voce e da companhia Gold Hawk, deseja ir para a ilha?", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "yes") and getPlayerStorageValue(cid, strGoldHawk) == 1 and talkState[talkUser] == 1 then selfSay("que assim seja", cid) doTeleportThing(cid, posGoldHawk) doSendMagicEffect(getThingPos(cid), 10) talkState[talkUser] = 0 elseif msgcontains(msg, "mission") and getPlayerStorageValue(cid, strBlackSword) == 1 and getPlayerItemCount(cid, iditemsword) == 1 then selfSay("voce e da companhia Black Sword, deseja ir para a ilha?", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "yes") and getPlayerStorageValue(cid, strBlackSword) == 1 and talkState[talkUser] == 1 then selfSay("que assim seja", cid) doTeleportThing(cid, posBlackSword) doSendMagicEffect(getThingPos(cid), 10) talkState[talkUser] = 0 else selfSay("Preciso que voce tenha o card em maos", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
  10. Upvote
    Kuro o Shiniga recebeu reputação de juio cesar em [Encerrado] Porta da house bugada em   
    Da look na porta vê se tem um ACTIONID nela, se tiver copia ele e procura ele no actions.xml, ACTIONID não é o 1249, esse é o id do item!
     
     
  11. Upvote
    Kuro o Shiniga recebeu reputação de M i s s em [Resolvido] NPc aparece em X horario em determinado local   
    function onThink(interval, lastExecution) local positi = {x = 81, y = 339, z = 7} -- posição que vai aparecer local npc = "Mr.Briney" -- nome do npc if os.date("%A") == "Thursday" and os.date("%X") == "12:45:00" and os.date("%X") < "12:45:01" then --- horario e dia que aparece o npc doBroadcastMessage("It is now 12:45 am on a Thursday morning, the Mr.Briney gets into Mossdeep", 22) --- mensagem que aparece na tela para os jogadores doCreateNpc(npc, positi) end return true end <globalevent name="teste" interval="start" event="script" value="arquivo.lua"/>  
  12. Upvote
    Kuro o Shiniga recebeu reputação de M i s s em [Resolvido] Remover uma parte do script   
    local poke = {"Girafarig", "Misdreavus", "Exeggutor", "Shiny Espeon"} --alterado v1.9 local etele = 9 local cdtele = 1 local config = { premium = true, -- se precisa ser premium account (true or false) battle = false -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas } local places = { [1] = {name = "Black Town", id = 7, sto = 897540}, [2] = {name = "White Town", id = 8, sto = 897541}, [3] = {name = "City Vip", id = 9, sto = 897542}, [4] = {name = "Flora Vip", id = 10, sto = 897543}, [5] = {name = "Castelia", id = 11, sto = 897544}, } function onSay(cid, words, param) if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "You need a pokemon to use teleport.") return true end if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then return 0 end if getPlayerStorageValue(cid, 22545) == 1 then --golden arena doPlayerSendCancel(cid, "You can't do that while the golden arena!") return true end if getPlayerStorageValue(cid, 212124) >= 1 then --alterado v1.6 return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!") end if getPlayerStorageValue(cid, 52480) >= 1 then return doPlayerSendCancel(cid, "You can't do it while a duel!") --alterado v1.6 end if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v1.7 end if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then local tempo = tonumber(exhaustion.get(cid, etele)) or 0 local min = math.floor(tempo) doPlayerSendCancel(cid, "Your pokemon is tired, wait "..getStringmytempo(tempo).." to teleport again.") return true end if config.premium and not isPremium(cid) then doPlayerSendCancel(cid, "Only premium members are allowed to use teleport.") return true end if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendCancel(cid, "Your pokemon can't concentrate during battles.") return true end if (param == '') then local str = "" str = str .. "Places to go :\n\nHouse\n" for a = 1, #places do str = str..""..places[a].name.."\n" end doShowTextDialog(cid, 7416, str) return true end local item = getPlayerSlotItem(cid, ? local nome = getPokeballName(item.uid) local summon = getCreatureSummons(cid)[1] local lastppos = getThingPos(cid) local lastspos = getThingPos(summon) local telepos = {} local myplace = "" local townid = 0 local citySto = 0 --alterado v1.7 if string.lower(param) == "house" then if not getHouseByPlayerGUID(getPlayerGUID(cid)) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You don't own a house.") return true end myplace = "our home" else for x = 1, #places do if string.find(string.lower(places[x].name), string.lower(param)) then townid = places[x].id myplace = places[x].name citySto = places[x].sto or -1 --alterado v1.7 end end if myplace == "" then doPlayerSendCancel(cid, "That place doesn't exist.") return true end end doSendMagicEffect(getThingPos(summon), 29) doSendMagicEffect(getThingPos(cid), 29) local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH)) doTeleportThing(summon, pos2, false) doSendMagicEffect(getThingPos(cid), 29) doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1) doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1, false, 0, lastppos) doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER) doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER, false, 0, lastspos) doCreatureSetLookDir(cid, SOUTH) doCreatureSetLookDir(summon, SOUTH) doSendMagicEffect(getThingPos(summon), CONST_ME_TELEPORT) exhaustion.set(cid, etele, cdtele) setPlayerStorageValue(cid, 98796, -1) setPlayerStorageValue(cid, 98797, -1) return true end  
  13. Upvote
    Kuro o Shiniga recebeu reputação de M i s s em [Resolvido] NPC   
    Testa ai :
     
    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 pos1 = {x=82, y=339, z=7} -- posicao da pra onde ele vai ser teleportado depois de 5 minutos local pos2 = {x=79, y=335, z=7} --- posiçao da cidade local stora = 355222 -- não mexer local tempo = 300 -- tempo que vai demorar para ele ser teleportado para a posicao if msgcontains(msg, "teste") and getPlayerStorageValue(cid, stora) < os.time() then doTeleportThing(cid, pos1) doSendMagicEffect(getThingPos(cid), 10) setPlayerStorageValue(cid, stora, os.time() + tempo) selfSay("voce foi enviado para outro destino", cid) elseif msgcontains(msg, "teste") and getPlayerStorageValue(cid, stora) >= os.time() then doTeleportThing(cid, pos2) selfSay("voce esta na cidade", cid) doSendMagicEffect(getThingPos(cid), 10) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
  14. Upvote
    Kuro o Shiniga recebeu reputação de Shadowfess em [Resolvido] NPC Jack Analist   
    Precisa fazer um script para a porta abrir com o tal storage da quest, fiz um mais simples para você sem precisar da porta, você pode remover essa porta do mapa pelo mapa editor.
     
    Eu baixei um tyranic aqui no meu pc e encontrei o arquivo LUA da quest nessa posição, no seu pode ser diferente mas é so substituir por esse script meu.
     
    Lembrando que o jogador só vai conseguir fazer a quest se ele concluir todas as missões do npc !
     
    você vai em Actions/Scripts/fiparadox Abre o arquivo Lua com o nome de dwarvarm.lua e substitui o script dele por esse :
     
    function onUse(cid, item, fromPosition, itemEx, toPosition) local strdwarven = 8586599 local str = 871658 if getPlayerStorageValue(cid, strdwarven) == 3 and getPlayerStorageValue(cid, str) < 1 then doPlayerAddItem(cid, 2503, 1) setPlayerStorageValue(cid, str, 1) doPlayerSendTextMessage(cid, 22, "You have found a Dwarven Armor.") doSendMagicEffect(getThingPos(cid), 12) elseif getPlayerStorageValue(cid, strdwarven) == 3 and getPlayerStorageValue(cid, str) == 1 then doPlayerSendTextMessage(cid, 22, "Quest Empty.") doSendMagicEffect(getThingPos(cid), 2) elseif getPlayerStorageValue(cid, strdwarven) < 3 then doPlayerSendTextMessage(cid, 22, "You do not have access to this quest.") doSendMagicEffect(getThingPos(cid), 2) end end  
  15. Thanks
    Kuro o Shiniga recebeu reputação de amoxicilinaaaaa em [Resolvido] TFS [1.3] Alavanca Script   
    function onUse(cid, item, fromPosition, itemEx, toPosition, words, param, channel, item2, topos) local quest = { level = 50, -- level mínimo max_times = 3, -- quantas vezes poderá usar timetowait = {1, "day"}, -- tempo para usar novamente após atingir o max_times max_players = 3, -- máximo de players dentro da área room = {from = {x = 32312, y = 32507, z = 8}, to = {x = 32312, y = 32507, z = 8}},-- posição do canto superior esquerdo, posição do canto inferior direito da sala newpos = {x = 32327, y = 32528, z = 18}, -- posição para onde o player será teleportado ao entrar stone = {id = 1304, pos = {x = 32320, y = 32516, z = 8}}, -- id da pedra, posição timetokick = {2, "min"}, -- tempo para ser kikado da sala } local pos = { {x=32331, y=32526, z=7, stackpos=1}, kickpos = {x = 32331 , y = 32526, z = 7} } -- quando kikados da área, o player vai para essa posição local p, inside = getPlayerPosition(cid), getPlayersInArea(quest.room.from, quest.room.to) if getPlayerStorageValue(cid, 84309) > os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You can use again at " .. os.date("%d %B %Y %X", getPlayerStorageValue(cid, 84309))..".") return true else if getPlayerStorageValue(cid, 84310) == quest.max_times then setPlayerStorageValue(cid, 84310, -1) end end if #inside >= quest.max_players then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait for the team to leave the room.") doSendMagicEffect(p, CONST_ME_POFF) return true end if getPlayerLevel(cid) < quest.level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need at least level " .. quest.level .. " to go.") doSendMagicEffect(p, CONST_ME_POFF) return true end local max_times = getPlayerStorageValue(cid, 84310) > 0 and getPlayerStorageValue(cid, 84310) or 0 if (max_times + 1) == quest.max_times then setPlayerStorageValue(cid, 84309, mathtime(quest.timetowait) + os.time()) end local stone = getTileItemById(quest.stone.pos, quest.stone.id).uid if stone > 0 then doSendMagicEffect(quest.stone.pos, CONST_ME_POFF) doRemoveItem(stone) end doTeleportThing(cid, quest.room.newpos) doSendMagicEffect(quest.room.newpos, CONST_ME_TELEPORT) setPlayerStorageValue(cid, 84310, max_times+1) addEvent(kickFromArea, mathtime(quest.timetokick) * 1000, cid) return true end function getPlayersInArea(fromPos, toPos) local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return players end function mathtime(table) -- by dwarfer local unit = {"sec", "min", "hour", "day"} for i, v in pairs(unit) do if v == table[2] then return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1) end end return error("Bad declaration in mathtime function.") end function kickFromArea(cid) local stone = getTileItemById(quest.stone.pos, quest.stone.id) if stone.uid == 0 then doCreateItem(quest.stone.id, 1, quest.stone.pos) end if isPlayer(cid) and isInRange(getPlayerPosition(cid), quest.room.from, quest.room.to) then doTeleportThing(cid, quest.kickpos) end doSendMagicEffect(quest.kickpos, CONST_ME_TELEPORT) end  
  16. Upvote
    Kuro o Shiniga recebeu reputação de ceesar90 em [Resolvido] Como começar a editar as sourcers de um OT?   
    compilando em windows :
    https://www.xtibia.com/forum/topic/233074-dev-c-compilando-tfs-no-windows/ compilando em linux :
    https://www.xtibia.com/forum/topic/239213-compilando-tfs-04-no-linux/ abraço, boa sorte no projeto.
  17. Upvote
    Kuro o Shiniga recebeu reputação de ceesar90 em [Resolvido] Como começar a editar as sourcers de um OT?   
    pode usar o dev c++, porem tem que ter todos os arquivos cpp da sources.
  18. Upvote
    Kuro o Shiniga recebeu reputação de carlinhoo0ww em [Resolvido] ao matar monter some parede   
    Acredito que resolva seu problema.
    https://www.xtibia.com/forum/topic/134875-matar-monstro-abrir-tp-remover-parede-ganhar-storage/  
  19. Upvote
    Kuro o Shiniga recebeu reputação de Bluetooth em [Action] Snake System   
    Lol troca isso
     
     
     
     
     
    Por isso
     
  20. Upvote
    Kuro o Shiniga deu reputação a RastaLegion em Quest que sorteia entre 3 itens   
    Olá xtibianos
    sou iniciante e este é o primeiro script que trago ao xtibia, é uma quest com premio sorteado entre 3 itens ,e depois teleporta o player para o templo ,então vamos lá.
    crie um script chamado questx e cole isso dentro

    depois adicione esta tag em actions.xml. Configuração a configuração não é nada complicada vermelho = ids dos premios que serão sorteados verde = level que o player poderá abrir o bau laranja = posição do templo creditos : meu por fazer o script killua por me ajudar tirar o erro
  21. Upvote
    Kuro o Shiniga recebeu reputação de vital900 em C/C++ Parte 3   
    Eae galerinha do XTibia, voltei para dar continuidade aos tutoriais então vamos continuar !
     
    Operadores :
     
    Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas e lógicas específicas. A linguagem C++ possui três classes gerais de operadores: aritméticos, relacionais e lógicos e bit-a-bit.
     
    Operador de atribuição:
    O operador “=” atribui um valor ou resultado de uma expressão contida a sua direita para a variável especificada a sua esquerda. Exemplos:
    a = 10; b = c * valor + getval(x); a = b = c = 1; O último exemplo é interessante por mostrar que é possível associar vários operadores de atribuição em sequência, fazendo com que todas as variáveis envolvidas tenham o mesmo valor especificado.
     
    Operadores Aritméticos :
    São aqueles que operam sobre números e expressões, resultando valores numéricos. São eles:
    Operador Ação + Soma - subtração * multiplicação / divisão % mСdulo da divisão (resto da divisão inteira) - sinal negativo (operador unАrio) Operadores Relacionais :
    Operador: Ação: > Maior >= maior ou igual < Menor <= menor ou igual == Igual != não igual (diferente)  
    Operadores Lógicos :
    Operador AND && operação AND || operação OR ! operador de negação NOT (operador unário) Exemplos de “short circuit”:
    (a == b) && (b == c) /* Se a != b não avalia o resto da expressão */ (a == b) || (b == c) /* Se a == b não avalia o resto da expressão */ Manipulação de bits :
    Operador Ação & bit and | bit or ^ bit xor - exclusive or << Rotação a esquerda >> Rotação a direita ~ bit not (complemento) Operadores de assinalamento :
    var = var op expr -> var op = expr Onde tempos op como um dos seguintes operadores:
    Operador Ação + Soma - Subtração * Multiplicação / Divisão % módulo (resto da divisão) >> Rotação a direita << Rotação a esquerda & And ^ xor - exclusive or | Or Exemplo de aplicação: i+= 2; /* É equivalente a: i = i + 2 */ j-= 3; /* É equivalente a: j = j – 3 */ k >>= 3; /* É equivalente a: k = k >> 3;*/ z &= flag; /* É equivalente a: z = z & flag;*/ Operadores de Pré e Pós-Incremento :
     
    E isso galera por hoje é só espero que gostem abraço !
  22. Upvote
    Kuro o Shiniga recebeu reputação de Gabrieltxu em C/C++ Parte 3   
    Eae galerinha do XTibia, voltei para dar continuidade aos tutoriais então vamos continuar !
     
    Operadores :
     
    Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas e lógicas específicas. A linguagem C++ possui três classes gerais de operadores: aritméticos, relacionais e lógicos e bit-a-bit.
     
    Operador de atribuição:
    O operador “=” atribui um valor ou resultado de uma expressão contida a sua direita para a variável especificada a sua esquerda. Exemplos:
    a = 10; b = c * valor + getval(x); a = b = c = 1; O último exemplo é interessante por mostrar que é possível associar vários operadores de atribuição em sequência, fazendo com que todas as variáveis envolvidas tenham o mesmo valor especificado.
     
    Operadores Aritméticos :
    São aqueles que operam sobre números e expressões, resultando valores numéricos. São eles:
    Operador Ação + Soma - subtração * multiplicação / divisão % mСdulo da divisão (resto da divisão inteira) - sinal negativo (operador unАrio) Operadores Relacionais :
    Operador: Ação: > Maior >= maior ou igual < Menor <= menor ou igual == Igual != não igual (diferente)  
    Operadores Lógicos :
    Operador AND && operação AND || operação OR ! operador de negação NOT (operador unário) Exemplos de “short circuit”:
    (a == b) && (b == c) /* Se a != b não avalia o resto da expressão */ (a == b) || (b == c) /* Se a == b não avalia o resto da expressão */ Manipulação de bits :
    Operador Ação & bit and | bit or ^ bit xor - exclusive or << Rotação a esquerda >> Rotação a direita ~ bit not (complemento) Operadores de assinalamento :
    var = var op expr -> var op = expr Onde tempos op como um dos seguintes operadores:
    Operador Ação + Soma - Subtração * Multiplicação / Divisão % módulo (resto da divisão) >> Rotação a direita << Rotação a esquerda & And ^ xor - exclusive or | Or Exemplo de aplicação: i+= 2; /* É equivalente a: i = i + 2 */ j-= 3; /* É equivalente a: j = j – 3 */ k >>= 3; /* É equivalente a: k = k >> 3;*/ z &= flag; /* É equivalente a: z = z & flag;*/ Operadores de Pré e Pós-Incremento :
     
    E isso galera por hoje é só espero que gostem abraço !
  23. Upvote
    Kuro o Shiniga recebeu reputação de BananaFight em C/C++ Parte 3   
    Eae galerinha do XTibia, voltei para dar continuidade aos tutoriais então vamos continuar !
     
    Operadores :
     
    Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas e lógicas específicas. A linguagem C++ possui três classes gerais de operadores: aritméticos, relacionais e lógicos e bit-a-bit.
     
    Operador de atribuição:
    O operador “=” atribui um valor ou resultado de uma expressão contida a sua direita para a variável especificada a sua esquerda. Exemplos:
    a = 10; b = c * valor + getval(x); a = b = c = 1; O último exemplo é interessante por mostrar que é possível associar vários operadores de atribuição em sequência, fazendo com que todas as variáveis envolvidas tenham o mesmo valor especificado.
     
    Operadores Aritméticos :
    São aqueles que operam sobre números e expressões, resultando valores numéricos. São eles:
    Operador Ação + Soma - subtração * multiplicação / divisão % mСdulo da divisão (resto da divisão inteira) - sinal negativo (operador unАrio) Operadores Relacionais :
    Operador: Ação: > Maior >= maior ou igual < Menor <= menor ou igual == Igual != não igual (diferente)  
    Operadores Lógicos :
    Operador AND && operação AND || operação OR ! operador de negação NOT (operador unário) Exemplos de “short circuit”:
    (a == b) && (b == c) /* Se a != b não avalia o resto da expressão */ (a == b) || (b == c) /* Se a == b não avalia o resto da expressão */ Manipulação de bits :
    Operador Ação & bit and | bit or ^ bit xor - exclusive or << Rotação a esquerda >> Rotação a direita ~ bit not (complemento) Operadores de assinalamento :
    var = var op expr -> var op = expr Onde tempos op como um dos seguintes operadores:
    Operador Ação + Soma - Subtração * Multiplicação / Divisão % módulo (resto da divisão) >> Rotação a direita << Rotação a esquerda & And ^ xor - exclusive or | Or Exemplo de aplicação: i+= 2; /* É equivalente a: i = i + 2 */ j-= 3; /* É equivalente a: j = j – 3 */ k >>= 3; /* É equivalente a: k = k >> 3;*/ z &= flag; /* É equivalente a: z = z & flag;*/ Operadores de Pré e Pós-Incremento :
     
    E isso galera por hoje é só espero que gostem abraço !
  24. Upvote
    Kuro o Shiniga recebeu reputação de RastaLegion em C/C++ Parte 3   
    Eae galerinha do XTibia, voltei para dar continuidade aos tutoriais então vamos continuar !
     
    Operadores :
     
    Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas e lógicas específicas. A linguagem C++ possui três classes gerais de operadores: aritméticos, relacionais e lógicos e bit-a-bit.
     
    Operador de atribuição:
    O operador “=” atribui um valor ou resultado de uma expressão contida a sua direita para a variável especificada a sua esquerda. Exemplos:
    a = 10; b = c * valor + getval(x); a = b = c = 1; O último exemplo é interessante por mostrar que é possível associar vários operadores de atribuição em sequência, fazendo com que todas as variáveis envolvidas tenham o mesmo valor especificado.
     
    Operadores Aritméticos :
    São aqueles que operam sobre números e expressões, resultando valores numéricos. São eles:
    Operador Ação + Soma - subtração * multiplicação / divisão % mСdulo da divisão (resto da divisão inteira) - sinal negativo (operador unАrio) Operadores Relacionais :
    Operador: Ação: > Maior >= maior ou igual < Menor <= menor ou igual == Igual != não igual (diferente)  
    Operadores Lógicos :
    Operador AND && operação AND || operação OR ! operador de negação NOT (operador unário) Exemplos de “short circuit”:
    (a == b) && (b == c) /* Se a != b não avalia o resto da expressão */ (a == b) || (b == c) /* Se a == b não avalia o resto da expressão */ Manipulação de bits :
    Operador Ação & bit and | bit or ^ bit xor - exclusive or << Rotação a esquerda >> Rotação a direita ~ bit not (complemento) Operadores de assinalamento :
    var = var op expr -> var op = expr Onde tempos op como um dos seguintes operadores:
    Operador Ação + Soma - Subtração * Multiplicação / Divisão % módulo (resto da divisão) >> Rotação a direita << Rotação a esquerda & And ^ xor - exclusive or | Or Exemplo de aplicação: i+= 2; /* É equivalente a: i = i + 2 */ j-= 3; /* É equivalente a: j = j – 3 */ k >>= 3; /* É equivalente a: k = k >> 3;*/ z &= flag; /* É equivalente a: z = z & flag;*/ Operadores de Pré e Pós-Incremento :
     
    E isso galera por hoje é só espero que gostem abraço !
  25. Upvote
    Kuro o Shiniga recebeu reputação de vital900 em C/C++ Parte 2 Continuação!   
    Eae galerinha voltei para dar continuidade ao tutorial, esse tutorial é continuação da parte 2, eu não expliquei totalmente ela vou terminar ela nesse tutorial espero que gostem e vamos ao que interessa!

     
     
    Então vamos lá !
     
    Float é o tipo de variável real natural, aquela com a qual o sistema trabalha com maior naturalidade. Double e long double são úteis quando queremos trabalhar com intervalos de números reais realmente grandes. Utilizamos números reais geralmente para expressar precisão através do número de casas decimais, então podemos dizer que uma variável float é menos precisa que uma variável double, assim como uma variável double é menos precisa que long double. A tabela abaixo mostra os tipos de variáveis reais, seu tamanho em bits e o intervalo de armazenagem.
    Tipo Tamanho (em bits) Intervalo Float 32 3,4E-38 a 3,4E+38 Double 64 1,7E-308 a 1,7E+308 long double 80 3,4E-4932 a 1,1E+4932 Definição de Variáveis:
     
    <tipo> <nome>; Por exemplo:
    int exemplo Além disso, caso seja necessário, podemos declarar um valor a esta variável no momento de sua declaração, e também adicionar um prefixo a ela, da seguinte forma:
    <prefixo> <tipo> <nome> = <valor>; Por exemplo:
    unsigned int exemplo = 12; Definição de Constantes:
    O conceito de constantes em linguagens de programação é atribuir um certo valor constante a um nome, e quando este nome for referenciado dentro do código do programa, será utilizado nas operações o valor atribuído a este nome. Ou seja, se for definida a constante PI com o valor “3,1415926536”, quando for encontrado no código o nome PI, será utilizado em seu lugar o valor “3,1415926536”. Em C++ , utilizamos o prefixo const associado a um tipo, um nome e um valor para definir uma constante. Assim: const <tipo> <nome> = <valor>; Por exemplo:
    const int eterna = 256; No exemplo acima, definimos uma constante inteira de nome “eterna” que possui o valor numérico 256. É importante notar que devemos declarar a constante e lhe atribuir um valor na mesma linha de comando. Não podemos criar uma constante e lhe atribuir um valor posteriormente, ou seja, as seguintes linhas de comando são inválidas:
    const int eterna; eterna = 256; A partir da primeira linha, “eterna” passa a ser uma constante e seu valor não pode ser mais mudado durante a execução do programa. Como seu valor não foi declarado, esta constante pode ter qualquer valor que esteja na memória do computador naquele momento da declaração da variável.
     
    Números Hexadecimais e Octais :
     
    hex = 0xFF; /* 255 em decimal */ oct = 011; /* 9 em decimal */ Outra base numérica muito utilizada na programação é a base binária. Apesar de C++ não possuir uma forma específica de se expressar valores de base binária, podemos utilizar a notação hexadecimal para esta função.
     
    Valores Strings:
     
     
    Então e isso galera, não deu pra terminar tudo a parte 2 porque ela vai ser bem grandinha! espero que gostem e estudem ^^
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...