Ir para conteúdo

rockstar96

Barão
  • Total de itens

    216
  • Registro em

  • Última visita

Tudo que rockstar96 postou

  1. Eis o script: function onUse(cid, item, frompos, topos) --Config local Vocs = {3,4,7,8} if isInArray(Vocs, getPlayerVocation(cid)) then doTeleportThing(cid, topos) else doTeleportThing(cid, frompos) end return true end Difícil demais de configurar...nem explico porque eu não sei.
  2. rockstar96

    Palavrao

    Eis o script: function onSay(cid) local Words = {"*^^*", "Elefantes são legais", ":D"} doCreatureSay(cid, Words[math.random(1, #Words)], TALKTYPE_SAY) return true end Para configurar os palavrões, faça assim: <talkaction words="viado; gay; puto" event="script" value="NOMEDOARQUIVO.lua"/>
  3. Script configurável com nome do monstro, vocação a ser usada, e remover item(yes ou no): function onUse(cid, item) --Config local GlobalConf = { Vocations = {1,2,3,4,5,6,7,8}, Monsters = { [1] = "Demon", [2] = "Dragon Lord" }, RemoveItem = "yes" } if isInArray(GlobalConf.Vocations, getPlayerVocation(cid)) == true then if GlobalConf.RemoveItem == "yes" then Monster = doCreateMonster(GlobalConf.Monsters[getPlayerVocation(cid)], getCreaturePosition(cid)) doConvinceCreature(cid, Monster) doRemoveItem(item.uid) else Monster = doCreateMonster(GlobalConf.Monsters[getPlayerVocation(cid)], getCreaturePosition(cid)) doConvinceCreature(cid, Monster) end else doPlayerSendCancel(cid, "Sua vocação não pode sumonar monstros.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end return true end Na array Monsters você deve colocar entre colchetes o ID da vocação, e o valor, coloque o nome do monstro que ela sumona. Espero ter ajudado.
  4. Ok...esse script aqui é um pouco mais configurável, e com a possibilidade de inserir mais de 1 monstro para ser sumonado: function onStepIn() --Config local Monster = { [1] = {"Demon",{x=130, y=130, z=10}}, [2] = {"Rat",{x=130, y=130, z=10}} } for i = 1, #Monster do doCreateMonster(Monster[i][1], Monster[i][2]) end return true end Para adicionar mais monstros, coloque outra vírgula no final do penúltimo colchete, insira um número a mais(no caso ali, seria o 3), igual ao jeito que está, mude o nome do monstro, e a posição. O último nunca termina com uma vírgula. Espero ter ajudado... #KaKilo: Não é necessário adicionar aquela condição, ela é definida no movevents.xml. #Demonbholder: Normalmente, colocamos return true antes do end para finalizar a function, pois raras vezes "buga" o script e sai algo errado.
  5. function onStepIn(cid, item, position, fromPosition, param, words) playername = getPlayerName(cid) message = 'You have absorved the spirit of Verminor, the Plaguelord.' status = getPlayerStorageValue(cid,4078) doCreatureSay(cid, message, TALKTYPE_ORANGE_1) setPlayerStorageValue(cid,9000,1) end Atualização de dorgas: function onStepIn(cid) --Config-- --Mensagem que o player receberá ao passar pelo tile Message = "You have absorved the spirit of Verminor, the Plaguelord." --Storage que será usado Storage = 9001 if getPlayerStorageValue(cid, Storage) ~= 1 then doPlayerSetStorageValue(cid, Storage, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Message) end return true end
  6. Troque o script por esse(não esqueça de configurar e arrumar as posições): function onUse(cid, item) --Config --Posição do item que será removido local itemPos = {x=1036, y=1242, z=7, stackpos=255} --ID do item que deve estar na posição local itemID = 9930 --Mensagem enviada ao player se a ação obter sucesso local doneMsg = "Você desenferrujou as chaves." --Mensagem enviada ao player se a ação falhar local failMsg = "Ponha o rusty remover no compartimento." --Storage value e seu valor que será setado local storageValue = {storage = 2239, value = 1} --[Config if item.itemid == 1945 then doTransformItem(item.uid, 1946) else doTransformItem(item.uid, 1945) end if getThingFromPos(itemPos).itemid == itemID then if item.itemid == 1945 then doTransformItem(item.uid, 1946) else doTransformItem(item.uid, 1945) end doRemoveItem(getThingFromPos(itemPos).uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, doneMsg) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doPlayerSetStorageValue(cid, storageValue.storage, storageValue.value) else doPlayerSendCancel(cid, failMsg) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end return true end Marcryzius, meu jovem, a stackpos 253 identifica a top creature da posição, e não o top item.
  7. Makc vai ser banido lálálálálá ._. Repetindo, moleque ingênuo -.-'
  8. Olha o nome do GOD uaheuahuaehu pegou 1 ss do delton e outra do snowz Que cara ingênuo -.-" Pelo amor de deus façam uma área para avaliação de downloads, mil pessoas baixam isso sem nem ler, e com avaliação fica mais bunitineo *-*
  9. Legal esse script, eu nem sabia como pegar storages por luaSQL :* Agora só falta fazer um para mostrar quando der look \o/ Falou...
  10. Crie um arquivo LUA chamado de prison.lua em data/talkactions/scripts adicione isto ao seu conteúdo, sem mais nada: function onSay(cid, words, param, channel) --Config t = string.explode(param, ",") time = t[2] player = getPlayerByNameWildcard(t[1]) --Posição que o player será mandado jailPosition = {x=1, y=1, z=1} --Posição que será mandado após terminar o tempo preso jailExitPosition = {x=1, y=1, z=1} --Mensagem que será enviada ao jogador message = "You have been jailed by ".. getCreatureName(cid) .."." --Tempo padrão em minutos, se não colocado vírgula(/jail Player,tempo) defaultTime = 5 --//Config if not time then doTeleportThing(player, jailPosition) addEvent(doTeleportThing, defaultTime * 60 * 1000, player, jailExitPosition) doSendMagicEffect(jailPosition, CONST_ME_TELEPORT) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, message) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You jailed ".. t[1] .." for ".. t[2] or defaultTime ..".") elseif(t[1] and t[2]) ~= nil then doTeleportThing(player, jailPosition) addEvent(doTeleportThing, time * 60 * 1000, player, jailExitPosition) doSendMagicEffect(jailPosition, CONST_ME_TELEPORT) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, message) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You jailed ".. t[1] .." for ".. t[2] or defaultTime ..".") else doPlayerSendCancel(cid, "This command requires param.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end return true end E adicione esta tag em data/talkactions/talkactions.xml: <talkaction access="5" words="/jail" script="prison.lua"/> O 5 você muda para o access necessário para usar a talkaction. O script tem funções configuráveis, só ler o script. Para usá-lo, diga: /jail NomeDoPlayer,tempo Ou senão, para ativar o tempo padrão, definido no script, diga somente: /jail NomeDoPlayer Eu que fiz, se não funcionar fique certo que não estou muito ativo ultimamente =/ Tchau.
  11. O script poderia ser diminuído em muitas linhas utilizando tabelas... Bom, mas obrigado por trazer conteúdo ao XTibia Adios, Eu.
  12. O primeiro script eu fiz...coloque em talkactions.xml: <talkaction words="!buyvip" event="script" value="NOMEDOARQUIVO.lua"/> Em talkactions/scripts: function onSay(cid, words, param, channel) --Config PREMIUM_DAYS = 30 G_INGOT_QUANT = 10 PLAYER_MESSAGE = "Você recebeu 30 dias de premmium account." -------- if doPlayerTakeItem(cid, 9971, G_INGOT_QUANT) then doPlayerRemoveItem(cid, 9971, G_INGOT_QUANT) doPlayerAddPremiumDays(cid, PREMIUM_DAYS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, PLAYER_MESSAGE) else doPlayerSendCancel(cid, "Você precisa de ".. G_INGOT_QUANT .." para usar esse comando.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF end return TRUE end É configurável...em PREMIUM_DAYS coloque quantos dias de premium irá receber, em G_INGOT_QUANT, coloque quantos gold ingot precisa para usar o comando, e em PLAYER_MESSAGE, coloque a mensagem que o player receberá ao usar o comando com sucesso.
  13. Tire o local da frente da variável chance, assim sempre que for executada a ação ela não será fixada na primeira vez que foi feito o "random"
  14. - Nome (Real):William Christopher - Idade:13 - Cargo desejado:Scripter - Experiencia no Cargo:1 ano, se não me engano - Msn :williamkiller@msn.com - Trabalhos anteriores:Adicione no msn, não posso colocar os links aqui.
  15. É jail.lua... O script está bom...mas por favor coloque um return TRUE porque em OTs 8.50 normalmente os efeitos e mensagens não são validadas sem ele...(: Aprovado!
  16. function onSay(cid, words, param, channel) local t = string.explode(param,",") if getPlayerGroupId(cid) >= 3 then doCreatureSay(getPlayerByName(t[1]),t[2],1) else doPlayerSendCancel(cid,"Você não tem acesso suficiente.") return TRUE end Desculpe S; nem testei ><" E para usar: /makesay Fulano,frase A apóstrofe morreu, só existe em raras ocasiões (:
  17. Aqui não está nem um pouco bugado... E eu vou usar esse mapa com TPs no meu ot *-* parece rox! No more~
  18. Easy...ó o script, renomeie para makesay.lua: function onSay(cid, words, param, channel) local param = string.explode(param,",") doCreatureSay(getPlayerByName(param[1],param[2],1) else doPlayerSendCancel(cid,"Você não tem acesso suficiente.") return TRUE end Em talkactions.xml, coloque: <talkaction access="5" words="/makesay" event="script" value="makesay.lua"/> Falous
  19. Como o Wiltry falou, use o gasto de mana, se quiser, a função é esta: doPlayerAddSpentMana(cid, amount) E, poderia fazer tudo em um só script, penso eu, usando o for... Ah, e para a skill, faça a mesma coisa...a função é esta: doPlayerAddSkillTry(cid, skillid, n) Bom, é isso (:
  20. Tente agora, retirei a tabela: function onLogin(cid) local storagePlayer = 56123 local msgPlayer = 'Bem vindo ao '.. serverName ..'!' local serverName = getConfigInfo(serverName) local playerItems = { 2512, 2412 } if getPlayerStorageValue(cid, storagePlayer) <= 0 then for i = 1, table.maxn(playerItems) do setPlayerStorageValue(cid, storagePlayer, 1) doPlayerAddItem(cid, playerItems[i], 1) end else end end
  21. rockstar96

    Ajuda

    Fiz esse script, mas precisa fazer mais 88 partes, não vou perder tempo, tenho que almoçar (: Para configurar é simples, pros coal basin, coloque a posição deles em x, y e z, sempre que for colocar outro, ponha um número a mais entre colchetes, como [3] = {x=1, y=1, z=1, stackpos=2} O último não tem vírgula depois do colchete, o resto todos tem, ok? E agora a tradução: itemId = item que deve colocar nos coal basin(coloque o id) posTp = lugar que o player vai ser teleportado Aí tá o script: function onUse(cid, item, frompos, item2, topos) local coalsPos = { [1] = {x=1, y=1, z=1, stackpos=2}, [2] = {x=1, y=1, z=1, stackpos=2} } local itemId = 1234 local posTp = {x=1, y=1, z=1} for i = 1, #coalsPos do if getThingfromPos(coalsPos[i]) == itemId then doTeleportThing(cid, posTp) else doPlayerSendCancel(cid,'Há itens faltando, vá verificar.') end end end Falou, vou almoçar (x
  22. No seu programa de SQL, vá em players, e procure o account manager, edite o posx, posy, e posz dele para algum lugar válido no mapa...
  23. Fiz um script improvisado S: mas acho que serve para o que você precisa (: function addDoor(params) doCreateItem(doorId, 1, doorPos) end function onDeath(cid, corpse, killer) local monsterName = getCreatureName(cid) local bossName = 'Hellgorak' --Aqui você coloca o nome do Boss local doorId = 1209 --Aqui coloca o id da porta local secondsUntilRemakeDoor = 60 --Aqui os segundos até criar a porta denovo local doorPos = {x=1, y=1, z=1, stackpos=1} --Posição da porta local doorPos2 = getThingfromPos(doorPos) local paramsKey = {cid = cid} if monsterName == bossName then doRemoveItem(doorPos2,1) addEvent(addDoor,secondsUntilRemakeDoor*1000,paramsKey) end end Creio que já saiba o XML, até mais, espero que o script funcione ><
  24. Eu fiz um script de firstItems novo, mas não testei ainda, ok? Em data/creaturescripts/scripts, crie um arquivo .LUA e nomeie para items.lua, colocando o seguinte código dentro: function onLogin(cid) local c = { storagePlayer = 56123, msgPlayer = 'Bem vindo ao '.. c.serverName ..'!', serverName = getConfigInfo(serverName), playerItems = { 2512, 2412 } } if getPlayerStorageValue(cid, c.storagePlayer) <= 0 then for i = 1, table.maxn(c.playerItems) do setPlayerStorageValue(cid, c.storagePlayer, 1) doPlayerAddItem(cid, playerItems[i], 1) end else end end Em data/creaturescripts/creaturescripts.xml, coloque esta tag: <event type="login" name="Items" script="items.lua"/> Agora, como eu configuro? Em playerItems, eu coloquei dois itens de amostra, a katana e o wooden shield, você pode colocar mais, por exemplo, vou por mais um item que tem ID 2400: playerItems = { 2512, 2412, 2400 } Note que sempre o último ID não tem uma vírgula, se for adicionar mais IDs, coloque mais vírgulas, mas o último sempre sem vírgula, ok? Tchau (:
  • Quem Está Navegando   0 membros estão online

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