Ir para conteúdo

kkk111

Campones
  • Total de itens

    27
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que kkk111 postou

  1. Bom vamos la... data/weapons/weapons.xml <wand id="2453" level="80" mana="20" min="130" max="170" type="energy" event="function" value="default"> <!-- Sprite Wand --> <vocation id="1" showInDescription="1"/> <vocation id="2" showInDescription="1"/> </wand> Type você pode usar: energy / fire / ice / earth / death / holy . data/items/items.xml <item id="2453" article="a" name="sprite wand"> <attribute key="weight" value="4100"/> <attribute key="weaponType" value="wand"/> <attribute key="shootType" value="energy"/> <attribute key="range" value="3"/> </item> <attribute key="shootType" value="energy"/> tem que ser igual type em weapons. Att, Paulo
  2. data/actions/scripts/questpedra.lua pedrapos = {x=3317, y=1010, z=14} -- posição inicial pedra pedraTo = {x=3319, y=1009, z=14} -- posiçaõ onde a pedra vai xtime = 25 -- Tempo para voltar ao normal automaticamente em "segundos" posLavanca = {x=3333, y=1009, z=14} -- posição da lavanca idpedra = 1355 -- id da pedra function onUse(cid, item, frompos, item2, topos) if item.itemid == 1945 then doRemoveItem(getTileItemById(pedrapos, idpedra).uid, 1) doSendMagicEffect(pedrapos, CONST_ME_POFF) doCreatureSay(cid, "Click!", TALKTYPE_MONSTER_YELL, false, 0, pedrapos) doCreateItem(idpedra, 1, pedraTo) doSendMagicEffect(pedraTo, 13) addEvent(doRemoveStone, xtime * 1000) doTransformItem(item.uid,1946) elseif item.itemid == 1946 then if getTileItemById(pedraTo, idpedra).uid <= 0 then doTransformItem(item.uid,1945) else doPlayerSendTextMessage(cid,26,"You can not use this object.") end end return true end function doRemoveStone() if getTileItemById(pedraTo, idpedra).uid > 0 then doRemoveItem(getTileItemById(pedraTo, idpedra).uid) doSendMagicEffect(pedraTo, CONST_ME_POFF) doCreatureSay(cid, "Click!", TALKTYPE_MONSTER_YELL, false, 0, pedraTo) doCreateItem(idpedra, 1, pedrapos) doSendMagicEffect(pedrapos, 13) doTransformItem(getTileItemById(posLavanca, 1946).uid,1945) end end data/actions/actions.xml <action uniqueid="XXXX" script="questpedra.lua"/> Att, Paulo
  3. STACKPOS_GROUND = 0 STACKPOS_TOP_CREATURE = 253 STACKPOS_TOP_FIELD = 254 STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE = 255 stackpos=255 seria para remover qualquer coisa que estiver porcima item ou creature, pode deixar assim mesmo no seu caso irá funcionar. Att, Paulo
  4. data/creaturescripts/scripts/VocOutfit.lua function onLogin(cid) local Vocations = { [0] = {Type=128, Head=78, Body=69, Legs=58, Feet=76, Addons=0}, -- Rooker [1] = {Type=130, Head=0, Body=114, Legs=94, Feet=132, Addons=3}, -- Sorc [2] = {Type=144, Head=114, Body=114, Legs=114, Feet=94, Addons=3}, -- Druid [3] = {Type=152, Head=114, Body=114, Legs=114, Feet=94, Addons=3}, -- Pala [4] = {Type=143, Head=114, Body=114, Legs=94, Feet=0, Addons=3}, -- Knight [5] = {Type=130, Head=0, Body=114, Legs=94, Feet=132, Addons=3}, -- M Sorc [6] = {Type=144, Head=114, Body=114, Legs=114, Feet=94, Addons=3}, -- E Druid [7] = {Type=152, Head=114, Body=114, Legs=114, Feet=94, Addons=3}, -- R Pala [8] = {Type=143, Head=114, Body=114, Legs=94, Feet=0, Addons=3} -- E Knight } --[[ Addons // 0 = sem 1 = primeiro addons 2 = segundo addons 3 = primeiro addons e segundo addons // Addons Full ]]-- if getPlayerVocation(cid) >= 0 and getPlayerVocation(cid) <= 8 then local Voc = Vocations[getPlayerVocation(cid)] doCreatureChangeOutfit(cid, {lookType = Voc.Type, lookHead = Voc.Head, lookBody = Voc.Body, lookLegs = Voc.Legs, lookFeet = Voc.Feet, lookAddons = Voc.Addons}) if getPlayerVocation(cid) == 0 then VocName = "Rooker" else VocName = getPlayerVocationName(cid) end doCreatureSay(cid, VocName, TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid,26,"Vocação não configurada.") end return true end data/creaturescripts/creaturescripts.xml <event type="login" name="VocOutfit" event="script" value="VocOutfit.lua"/> data/creaturescripts/scripts/login.lua Adicione registerCreatureEvent(cid, "VocOutfit") Att, Paulo
  5. data/npc/nome do npc.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome do NPC" script="superquest.lua"> <health now="100" max="100"/> <look type="325" head="114" body="114" legs="94" feet="94" addons="2"/> <parameters> <parameter key="message_greet" value="Tenho uma {mission} para você." /> </parameters> </npc> data/npc/scripts/superquest.xml local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 StorageQuest = 13400 -- StorageQuest é igual a Actiondid da porta. msg1 = 'Você gostaria de nos ajudar a {restabelecer} a {ordem} na nossa cidade?' -- Perguta msg2 = 'A {entrada} para o seu santuário interno foi {aberta} para você. Por favor, {detenha} os monstros antes que seja tarde demais!' -- Confirmação msg3 = 'Já passei as estruções para você.' -- Player ja tem a storage = 1 if msgcontains(msg, 'mission') or msgcontains(msg, 'quest') then if getPlayerStorageValue(cid,StorageQuest) ~= 1 then npcHandler:say(msg1, cid) talk_state = 1 end elseif msgcontains(msg, 'yes') and talk_state == 1 then if getPlayerStorageValue(cid,StorageQuest) ~= 1 then setPlayerStorageValue(cid,StorageQuest,1) npcHandler:say(msg2, cid) talk_state = 0 else npcHandler:say(msg3, cid) talk_state = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora a porta é o seguinte. No proprio TFS existe os scripts necessarios, se você não editou só incira no mapa editor a Actionid igual a StorageQuest que está no script do npc, no caso está 13400. *Lembrando que a porta tem que ser aquelas com fechadura vermelha. *Qualquer duvida é só avisar. Att, Paulo
  6. Já que você não informou a versão do OTServ não posso fazer milagre, mas eu uso TFS 0.3.6 PL 1 no meu caso está em data/xml/groups.xml Padrão seria esse: <group id="4" name="Gamemaster" flags="3808558964575" customFlags="257215" access="3" violationReasons="19" nameViolationFlags="10" statementViolationFlags="69" depotLimit="3000" maxVips="300" outfit="75"/> Para calcular flags entre nesse site: http://hem.bredband.net/johannesrosen/playerflags.html E customFlags nesse: http://www.fightingelf.net/customflags/ Att, Paulo
  7. Daria pra especificar pouco melhor, para eu poder fazer. Como vai começar? Talkaction? Action? Movements? CreatureEvent? GlobalEvent? Como vai terminar? Quais as condições para poder começar ou terminar? Necessita algum level? Alguma Storage? *addEvent(doPlayerRemoveMana, 1 * 1000, cid, -5) Att, Paulo
  8. No 5º Você digita a senha. Account é 1. E o Setup 8 e 9 não precisa ser executados (se der pra ser executados).
  9. 1º Sim 2º Sim 3º Dedicado 4º Meu caso eu contratei um servidor em Windows, assim podendo usar Área de trabalho remota. Agora em Linux realmente nunca usei. 5º .... 6º Ao meu ponto de vista está certo sim. Espero ter ajudado em alguma coisa. Att Paulo
  10. Concerteza você não deve ter colocado o IP no config.lua acertei? * Tem que sero IP de numeros. Exemplo: ip = "187.27.24.78" Att Paulo
  11. A Função onSay(Na hora que fala) a gente deveria colocar em Talkactions -- Ações por palavras // Ex: !online, !buypremium Script.. data/TALKACTIONS/script/fogos.lua local SOMS = {"LOL", ":s", "=]", "", "-.-'", "=D", "xD", ";p", ""} -- SOMS local CORES = {TEXTCOLOR_BLACK, TEXTCOLOR_BLUE, TEXTCOLOR_GREEN, TEXTCOLOR_PURPLE, TEXTCOLOR_ORANGE, TEXTCOLOR_PINK, TEXTCOLOR_RED, TEXTCOLOR_YELLOW} -- CORES local FOGOS = {CONST_ME_FIREWORK_BLUE, CONST_ME_FIREWORK_YELLOW, CONST_ME_FIREWORK_RED} -- FOGOS function onSay(cid, words, param) local randomSOMS = math.random(1, table.maxn(SOMS)) local randomCORES = math.random(1, table.maxn(CORES)) local randomFOGOS = math.random(1, table.maxn(FOGOS)) doSendMagicEffect(getCreaturePosition(cid), FOGOS[randomFOGOS]) doSendAnimatedText(getCreaturePosition(cid), SOMS[randomSOMS], CORES[randomCORES]) return true end TALKACTIONS.xml <talkaction words="lol;!lol" script="fogos.lua"/> Para usar FALE lol ou !lol Att Paulo
  12. Não entendi, você que a porta ou o piso? Na duvida vai os 2... PISO data/movements/scripts/PisoMagico.lua function onStepIn(cid, item, pos) local msg = "Você absorveu o Poder Magico !!!" -- edit please local erromsg = "Você ja tem o Poder Magico !!!" -- edit please if isPlayer(cid) == TRUE then if getPlayerStorageValue(cid, 50000) >= 1 then doPlayerSetStorageValue(cid, 50000, 1) doSendMagicEffect(getCreaturePosition(cid),49) doCreatureSay(cid, msg, TALKTYPE_ORANGE_1) else doSendMagicEffect(getCreaturePosition(cid),17) doCreatureSay(cid, erromsg, TALKTYPE_ORANGE_1) end end return 1 end movements.xml <movevent type="StepIn" uniqueid="50000" script="PisoMagico.lua"/> Porta data/actions/scripts/PortaMagica.lua function onUse(cid, item, frompos, item2, topos) local msg = "Você deve achar o Poder Magico !" -- edit please if getPlayerStorageValue(cid,50000) == 1 then pos = getPlayerPosition(cid) if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y else pos.y = topos.y end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x else pos.x = topos.x end else return 1 end doTeleportThing(cid,pos) else doPlayerSendTextMessage(cid,25,msg) end return 1 end actions.xml <action uniqueid="50001" script="PortaMagica.lua"/> * Não testei, mas deve funcionar
  13. ... data/npc/script/bless.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 -- Config local money = 80000 local premium = 'Você não tem {premium} {account}!' local offer = 'Você quer comprar todas {Bless} por {'..money..'} {gps}?' local erromoney = 'Você {não} tem {dinheiro}!' local havebless = 'Você {já} {tem} {Bless}!' local ty = '{Obrigado!}' -- Config player_gold = getPlayerItemCount(cid,2148) player_plat = getPlayerItemCount(cid,2152)*100 player_crys = getPlayerItemCount(cid,2160)*10000 player_money = player_gold + player_plat + player_crys if isPremium(cid) then if msgcontains(msg, 'bless') or msgcontains(msg, 'all') or msgcontains(msg, 'todas') then talkState[talkUser] = 1 selfSay(offer, cid) elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then talkState[talkUser] = 0 if getPlayerBlessing(cid, 1) then selfSay(havebless, cid) else if player_money >= money then doPlayerRemoveMoney(cid, money) doPlayerAddBlessing(cid, 1) doPlayerAddBlessing(cid, 2) doPlayerAddBlessing(cid, 3) doPlayerAddBlessing(cid, 4) doPlayerAddBlessing(cid, 5) selfSay(ty, cid) else selfSay(erromoney, cid) end end end else selfSay(premium, cid) end ------------------------------------------------ confirm no ------------------------------------------------ if msgcontains(msg, 'no') and (talk_state >= 1 and talk_state <= 5) then selfSay('Ok than.', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Não testei, mas deve funcionar.
  14. Ai vai... Em Talkactions.xml <talkaction words="!temple;/temple;!templo;/templo" script="templo.lua"/> E depois data/talkactions/script/templo.lua function onSay(cid, words, param) if isPlayerPzLocked(cid) ~= TRUE then doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid))) doSendMagicEffect(getCreaturePosition(cid),17) doCreatureSay(cid, "Bem vindo ao Templo de "..getTownName(getPlayerTown(cid)).."!", TALKTYPE_ORANGE_1) else doCreatureSay(cid, "Você está Pk!", TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(cid),2) end return 1 end ºNão testei, mas deve funcionar qualquer coisa pode informar. Att Paulo
  15. Logo embaixo dessas funções: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start 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 -- OTServ event handling functions end Insira isso: function onThink() npcHandler:onThink() if math.random(1,100) <= 1 then selfSay("Sua mensagem aqui!") end end Se quiser que ele fale com mais frequencia, mude aqui (if math.random(1,100) <= 1 then) para algum valor maior. Ex: (if math.random(1,100) <= 20 then). Fuiii...
  16. @Vilden pelo amor de deus, se for pra falar besteira nem comenta ou é só pra ganha "Posts"? @mathemas Bom Dia Gente! É,eu quero um script de porta que so vip passe! Se alguem tiver o script,poste aqui por favor! Minha Versão é 8.50! Obrigado! Unica coisa que importa se não colocou... :blink: Como é seu sistema Vip? Storage? Premium? Ou oque? Vou colocar o mais comun Storage: function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid,9999) >= 1 then -- Só colocar storage vip aqui pos = getPlayerPosition(cid) if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y else pos.y = topos.y end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x else pos.x = topos.x end else return 1 end doTeleportThing(cid,pos) else doPlayerSendTextMessage(cid,25,"Você não é Vip demonio.") end return 1 end <action uniqueid="9999" script="Porta-Vip.lua"/> Nem precisa explicar né? Se não for por storage poste aqui como é que eu te ajudo (pelo menos tento não posto qualquer porcaria pra ganha "Posts").
  17. Eu acho que ele não quiz perguntar como que se paga, ou com que se paga, e sim como é o sistema vip. Vip é "Premium" ou Vip é um char com "Storage", ou sei la...??? Se for STORAGE: 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 -- Config PosCityVip = {x=100, y=100, z=7} -- pos da cidade vip vip = getPlayerStorageValue(cid, 9999) -- storage vip msgErro = 'Você não tem {Vip}.' -- mensage de erro CityVip = 'yalahar' -- nome da cidade vip -- Config local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, CityVip)) then if vip >= 1 then doTeleportThing(cid,PosCityVip) doSendMagicEffect(getCreaturePosition(cid),10) else npcHandler:say(msgErro, cid) npcHandler:resetNpc() return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Se for por PREMIUM: 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 -- Config PosCityVip = {x=100, y=100, z=7} -- pos da cidade vip vip = getPlayerPremiumDays(cid) -- dias premium - vip msgErro = 'Você não tem {Vip}.' -- mensage de erro CityVip = 'yalahar' -- nome da cidade vip -- Config local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, CityVip)) then if vip >= 1 then doTeleportThing(cid,PosCityVip) doSendMagicEffect(getCreaturePosition(cid),10) else npcHandler:say(msgErro, cid) npcHandler:resetNpc() return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Só edita oque está entre -- Config...
  18. Devez você só ficar vendo erros, porque você não tenta ajudar? normal potion empty: 7636 strong potion empty: 7634 great potion empty: 7635
  19. Larga a mão de ser "puxa saco" :slap: @monster não gostei ... muito simples, esperava mais quando eu vi o post, qualquer "retardado" faz melhor que isso. lembrando é minha opiniao !
  20. Mas quem ta falando em LOOKTYPE ? :blink: <look typeex="1551" /> Pode feixa ta mais do resolvido !
  21. Não importa o Mapa Editor -.-' Você colocando nos mostros do ot , ja vai está
  22. Como você são cara de bosta ja postei isso algums dias atraz aqui mesmo em "Pedidos de Scripts" Se for TFS 0.3.5 use... globalevents/scritps/deletecharacter.lua function onStartup() db.executeQuery("DELETE FROM `players` WHERE `lastlogin` < UNIX_TIMESTAMP() - [color="#FF0000"]3[/color]*24*60*60") return true end globalevents/globalevents.xml <globalevent name="DeleteCharacter" type="start" event="script" value="deletecharacter.lua"/> 3 é os dias inativos. Outra coisa se ta "lag" é provavelmente sua internet !
  23. Deleta essa linha <look type="102" corpse="2253"/> Coloque essa <look typeex="1551" /> 1551 é o id do item No monstro que você quer !
  24. TFS 0.3.5 local config = { deathAssistCount = getConfigValue('deathAssistCount') + 1, maxDeathRecords = getConfigValue('maxDeathRecords'), limit = "" } if(config.deathAssistCount > 0) then config.limit = " LIMIT 0, " .. config.deathAssistCount end function onSay(cid, words, param, channel) local target = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";") if(target:getID() == -1) then doPlayerSendCancel(cid, "A player with that name does not exist.") return true end local targetName, targetId = target:getDataString("name"), target:getDataInt("id") target:free() local str, deaths = "", db.getResult("SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = " .. targetId .." ORDER BY `date` DESC LIMIT 0, " .. config.maxDeathRecords) if(deaths:getID() ~= -1) then repeat local killers = db.getResult("SELECT environment_killers.name AS monster_name, players.name AS player_name FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id WHERE killers.death_id = " .. deaths:getDataInt("id") .. " ORDER BY killers.final_hit DESC, killers.id ASC" .. config.limit) if(killers:getID() ~= -1) then if(str ~= "") then str = str .. "\n" .. os.date("%d %B %Y %X ", deaths:getDataLong("date")) else str = os.date("%d %B %Y %X ", deaths:getDataLong("date")) end local count, i = killers:getRows(false), 0 repeat local monster = killers:getDataString("monster_name") if(i == 0 or i == (count - 1)) then monster = string.gsub(monster:gsub("an ", ""), "a ", "") end if(killers:getDataString("player_name") ~= "") then if(i == 0) then str = str .. "Killed at level " .. deaths:getDataInt("level") .. " by:\n " elseif(i == count) then str = str .. " and by " elseif(i % 4 == 0) then str = str .. ",\n " else str = str .. ", " end if(monster ~= "") then str = str .. monster .. " summoned by " end str = str .. killers:getDataString("player_name") else if(i == 0) then str = str .. "Died at level " .. deaths:getDataInt("level") .. " by:\n " elseif(i == count) then str = str .. " and by " elseif(i % 4 == 0) then str = str .. ",\n " else str = str .. ", " end str = str .. monster end i = i + 1 if(i == count) then str = str .. "." end until not(killers:next()) killers:free() end until not(deaths:next()) deaths:free() else str = "No deaths recorded." end doPlayerPopupFYI(cid, "Deathlist for player: " .. targetName .. ".\n\n" .. str) return true end
  • Quem Está Navegando   0 membros estão online

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