Ir para conteúdo
  • Cadastre-se

Sttorm

Suporter
  • Total de itens

    649
  • Registro em

  • Última visita

  • Dias Ganhos

    35

Sttorm venceu a última vez em Julho 26

Sttorm teve o conteúdo mais curtido!

Sobre Sttorm

  • Rank
    L😞VE

Informação de Perfil

  • Genero
    Masculino
  • Eu sou
    Scripter
  • Meu personagem
    Sttorm

Últimos Visitantes

1.804 visualizações
  1. Sttorm

    Scripts

    Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
  2. Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
  3. @powerryze local itemid, count = 2160, 100 -- ItemID, count local storage = 34166 function onUse(cid, item, fromPosition, itemEx, toPosition) if getCreatureStorage(cid, storage) == -1 then doPlayerSendTextMessage(cid, 27, "Parabéns por completar a quest") doPlayerAddItem(cid, itemid, count) doCreatureSetStorage(cid, storage, 1) return true else doPlayerSendTextMessage(cid, 27, "Você já completou essa quest.") return false end return true end Vai em actions.xml e cola essa tag <action actionid="47155" event="script" value="quest"/> Agora vai no seu mapEditor, seleciona o baú que dará o prêmio e coloque em actionID o mesmo ID que está na em actionid na actions.XML, no caso 47155.
  4. Executa essa query no seu banco de dados; CREATE TABLE `account_storage` ( `account_id` int(11) NOT NULL default '0', `key` int(10) unsigned NOT NULL default '0', `value` varchar(255) NOT NULL default '0', UNIQUE KEY `account_id_2` (`account_id`,`key`), KEY `account_id` (`account_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Script; function getAccountStorageValue(accid, key) local value = db.getResult("SELECT `value` FROM `account_storage` WHERE `account_id` = " .. accid .. " and `key` = " .. key .. " LIMIT 1;") if(value:getID() ~= -1) then return value:getDataInt("value") else return -1 end value:free() end function setAccountStorageValue(accid, key, value) local getvalue = db.getResult("SELECT `value` FROM `account_storage` WHERE `account_id` = " .. accid .. " and `key` = " .. key .. " LIMIT 1;") if(getvalue:getID() ~= -1) then db.executeQuery("UPDATE `account_storage` SET `value` = " .. accid .. " WHERE `key`=" .. key .. " LIMIT 1');") getvalue:free() return 1 else db.executeQuery("INSERT INTO `account_storage` (`account_id`, `key`, `value`) VALUES (" .. accid .. ", " .. key .. ", '"..value.."');") return 1 end end local days = 2 -- Quantos dias vips serao adicionados local level = 100 -- Level minimo necessario local storage = 13500 function onUse(cid, item, fromPosition, itemEx, toPosition) if getAccountStorageValue(getPlayerAccountId(cid), storage) == 1 then doPlayerSendTextMessage(cid, 27, "Voce ja completou essa quest nessa conta!!") return true end if getPlayerLevel(cid) < level then doPlayerSendTextMessage(cid, 27, "Voce precisa ser level ".. level .." ou maior para completar essa quest") return true end doPlayerSendTextMessage(cid, 27, "Parabens!! Voce recebeu ".. days .." Premium Days!!") setAccountStorageValue(getPlayerAccountId(cid), storage, 1) doPlayerAddPremiumDays(cid, days) return true end
  5. @BangxD Você vai precisar fazer source editing
  6. @admelite local t = { ["local1"] = {{x=96, y=119, z=5}, 5000}, -- ["O que o player terá que digitar"] = {onde será levado, custo de money} ["local2"] = {{x=96, y=119, z=7}, 5000}, } function onSay(cid, words, param, channel) local exaust = 1 -- Minutos para usar o comando novamente local storage = 435569 local teleport = t[param] if os.time() - getPlayerStorageValue(cid, storage) <= exaust * 60 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O Comando está em exaustão") return true end if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o nome da quest que você quer") return true end if not teleport then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Local não encontrado.") return true end if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não pode estar em Battle") return true end if doPlayerRemoveMoney(cid, teleport[2]) then doPlayerSendTextMessage(cid, 25, "Teleportado") doTeleportThing(cid, teleport[1]) doSendMagicEffect(getCreaturePosition(cid), 2) setPlayerStorageValue(cid, storage, os.time()) return true else doPlayerSendTextMessage(cid, 27, "Voce nao tem dinheiro suficiente") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end
  7. Ae mano, você~e poderia me explicar como faz para usar a dll que postou no tópico samuelbs ? Eu não sei como faz para funcionar, poderia me ensinar ? meu client é 8.60 também 

    1. Sttorm

      Sttorm

      Basta jogar a DLL na pasta do seu client.

  8. @xMateuss Não se esqueça de registrar na XML do monstro e no creaturescripts.XML local t = { -- ["Monster name"] = Level minino(do player) para poder sofrer o ataque ["Cyclop"] = 50, ["Rat"] = 1 } function onCombat(cid, target) if not isMonster(cid) or not isPlayer(target) then return true end if t[getCreatureName(cid)] then if getPlayerLevel(target) <= t[getCreatureName(cid)] then return false end end return true end
  9. @Jovim Na pasta da sua source, se você tiver é claro.
  10. @Jovim Me envia sua tools.cpp
  11. @Jovim <attribute key="weight" value="100" /> <attribute key="attack" value="1500" /> <attribute key="weaponType" value="distance" /> <attribute key="shootType" value="56" /> <attribute key="range" value="6" /> <attribute key="ammoAction" value="moveback" /> <attribute key="showattributes" value="1" /> <attribute key="skillDist" value="5" /> Se o efeito que você quiser for um número além do 41, vai precisar de source editing.
  12. @admelite Testei aqui e ta funcional, você está configurando errado.
  13. @admelite 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 moeda = 2160 -- ID do item que será a moeda -- ["name"] = {Quantidade da moeda, Onde será teleportado, Level, vip(true or false)} local t = { ["konoha"] = {1, {x = 1012, y = 905, z = 7}, 1, false}, } if (msgcontains(msg, 'viajar')) then local str = "" str = str .. "Eu posso lhe levar para esses lugares: " for name, pos, d, c in pairs(t) do str = str.." {"..name.."} por {"..pos[1].."} gold bars, " end str = str .. "." npcHandler:say(str, cid) elseif t[msg] then if t[msg][4] == true and not isPremium(cid) then npcHandler:say("Apenas Premium Players podem viajar à essa ilha, procure outra!!", cid) return false end if getPlayerLevel(cid) < t[msg][3] then npcHandler:say("Voce precisa ser level ".. tonumber(t[msg][3]) .." ou maior para viajar à essa ilha.", cid) return false end if getCreatureSkullType(cid) == 3 then npcHandler:say("PK's não podem viajar.", cid) return false end if doPlayerRemoveItem(cid, moeda, t[msg][1]) then doTeleportThing(cid, t[msg][2]) npcHandler:say("Obrigado! Espero que volte em breve.", cid) else npcHandler:say("Voce nao tem gold bars suficientes para viajar.", cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) XML <?xml version="1.0"?> <npc name="Minoru" script="data/npc/scripts/Minoru.lua" walkinterval="5000" floorchange="0"> <health now="100" max="100"/> <look type="407" head="95" body="116" legs="121" feet="115" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja {viajar} ??" /> </parameters> </npc>
  14. Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum! @PlaYerZ https://github.com/edubart/otclient
  15. @Zyros Tirei a storage porque não é necessário, pense comigo, se você ja pode checar pela condition regeneration, pra que você ira utilizar uma storage se você já tem outro método de verificação que consome menos memória que a storage??? Para deixar o effect mais rápido, usa assim; local effsTortos = { --[eff] = {valores para corrigi-los}, [175] = {x= 1, y= 0}, --naruto } function repeatEff(cid, eff, tempo) if not isCreature(cid) or tempo == 0 then return end local p = getThingPos(cid) if effsTortos[eff] then p = {x= p.x+(effsTortos[eff].x), y= p.y+(effsTortos[eff].y), z= p.z} end doSendMagicEffect(p, eff) addEvent(repeatEff, 200, cid, eff, tempo - 0.2) end
×
Close