Ir para conteúdo

Beyond Sky

Membro
  • Registro em

  • Última visita

Tudo que Beyond Sky postou

  1. Beyond Sky postou uma resposta no tópico em Websites
    Funciona em TFS 1.0 ?
  2. Beyond Sky postou uma resposta no tópico em Suporte Tibia OTServer
    Foi exatamente esse que tentei parceiro, a cada STEP da instalação dava um erro eu arrumava procurava nos fórum concertava e dava outro erro até que desisti velho.
  3. Beyond Sky postou uma resposta no tópico em Websites
    Uma database para usar nele tem ?
  4. Beyond Sky postou uma resposta no tópico em Suporte Tibia OTServer
    Existe um Gesior que funcione na versão TFS 1.0 pelo amor de Deus até mesmo a do github da Gesior AAC não está funfando cheio de erros e conflitos com a Database por isso a cada dia que passa OTserver está em decadência tudo se tornou mais difícil
  5. E as DLL são as mesmas de sempre ?
  6. Existe uma forma melhor de eu usar o for então parceiro? está seria uma? Daí no caso eu iria dar um for para cada função ... for _, v in pairs(armasenergy) do
  7. Boa noite Max, olha eu aqui enchendo o saco denovo ... Enfim a minha dúvida é referente a esta linha hoje parceiro for _, v in pairs(skinning) doBom eu não entendi a função do "_" (underline) e do v nesta condição se tiver como me dar uma ajudada aí em relação a isso agradeço,o script é este parceiro? ... inclusive aquele break ali é realmente necessário ? local skinning = { {monster = "Vampire", corpse = 2956, after = 2957, skin = 5905, chance = 20 }, {monster = "Vampire Viscount", corpse = 21275, after = 21276, skin = 5905, chance = 20 }, {monster = "Vampire Bride", corpse = 9654, after = 9658, skin = 5905, chance = 20 }, {monster = "Vampire Lords", corpse = 8938, after = 8939, skin = 5905, chance = 20 }, {monster = "Demons", corpse = 2916, after = 2917, skin = 5906, chance = 20 } } function onUse(cid, item, fromPosition, itemEx, toPosition) for _, v in pairs(skinning) do if v.corpse == itemEx.itemid then local iEx = Item(itemEx.uid) if (math.random(1, 100) <= v.chance) then iEx:transform(v.after) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Player(cid):addItem(v.skin, 1, true) else toPosition:sendMagicEffect(CONST_ME_BLOCKHIT) iEx:transform(v.after) end break end end return true end
  8. Fiz um script que funciona da seguinte maneira, o player posiciona uma arma em uma mesa e um item que funcionaria com uma gema encantadora em outra mesa então puxa a alavanca os dois items somem e surge uma arma encantada, porém existem quatro locais diferentes para se fazer isso o local onde será encantada uma arma de fogo, um local para arma de gelo, para arma de tera e a de energy cada elemento terá uma chance diferente para ter sucesso no aprimoramento da arma, okay fiz tudo certinho ao meu ver porém na hora que fui testar fiz as devidas ações (posicionei os items e puxei alavanca) e aparece o erro da função getitem se alguém poder me ajudar agradeço. function onUse(cid, item, fromPos, itemEx, toPos) -- [[INICIO CONFIG - Beyond Sky]] armasfire = { [1] = {id = 2383, idfire = 7744, item = "spike sword"}, [2] = {id = 7383, idfire = 7748, item = "relic sword"}, [3] = {id = 7384, idfire = 7746, item = "mystic blade"}, [4] = {id = 7406, idfire = 7747, item = "blacksteel sword"}, [5] = {id = 7402, idfire = 7748, item = "dragon slayer"}, [6] = {id = 2423, idfire = 7754, item = "clerical mace"}, [7] = {id = 2445, idfire = 7755, item = "crystal mace"}, [8] = {id = 7415, idfire = 7756, item = "cranial basher"}, [9] = {id = 7392, idfire = 7757, item = "orcish maul"}, [10] = {id = 2391, idfire = 7758, item = "war hammer"}, [11] = {id = 2429, idfire = 7749, item = "barbarian axe"}, [12] = {id = 7402, idfire = 7750, item = "knight axe"}, [13] = {id = 7402, idfire = 7751, item = "heroic axe"}, [14] = {id = 7402, idfire = 7752, item = "headchopper"}, [15] = {id = 7402, idfire = 7753, item = "war axe"} } armasice = { [1] = {id = 2383, idice = 7763,item = "spike sword"}, [2] = {id = 7383, idice = 7764, item = "relic sword"}, [3] = {id = 7384, idice = 7765, item = "mystic blade"}, [4] = {id = 7406, idice = 7766, item = "blacksteel sword"}, [5] = {id = 7402, idice = 7767, item = "dragon slayer"}, [6] = {id = 2423, idice = 7773, item = "clerical mace"}, [7] = {id = 2445, idice = 7774, item = "crystal mace"}, [8] = {id = 7415, idice = 7775, item = "cranial basher"}, [9] = {id = 7392, idice = 7776, item = "orcish maul"}, [10] = {id = 2391, idice = 7777, item = "war hammer"}, [11] = {id = 2429, idice = 7768, item = "barbarian axe"}, [12] = {id = 7402, idice = 7769, item = "knight axe"}, [13] = {id = 7402, idice = 7770, item = "heroic axe"}, [14] = {id = 7402, idice = 7771, item = "headchopper"}, [15] = {id = 7402, idice = 7772, item = "war axe"} } armastera = { [1] = {id = 2383, idtera = 7854, item = "spike sword"}, [2] = {id = 7383, idtera = 7855, item = "relic sword"}, [3] = {id = 7384, idtera = 7856, item = "mystic blade"}, [4] = {id = 7406, idtera = 7857, item = "blacksteel sword"}, [5] = {id = 7402, idtera = 7858, item = "dragon slayer"}, [6] = {id = 2423, idtera = 7864, item = "clerical mace"}, [7] = {id = 2445, idtera = 7865, item = "crystal mace"}, [8] = {id = 7415, idtera = 7866, item = "cranial basher"}, [9] = {id = 7392, idtera = 7867, item = "orcish maul"}, [10] = {id = 2391, idtera = 7868, item = "war hammer"}, [11] = {id = 2429, idtera = 7859, item = "barbarian axe"}, [12] = {id = 7402, idtera = 7860, item = "knight axe"}, [13] = {id = 7402, idtera = 7861, item = "heroic axe"}, [14] = {id = 7402, idtera = 7862, item = "headchopper"}, [15] = {id = 7402, idtera = 7863, item = "war axe"} } armasenergy = { [1] = {id = 2383, idenergy = 7869, item = "spike sword"}, [2] = {id = 7383, idenergy = 7870, item = "relic sword"}, [3] = {id = 7384, idenergy = 7871, item = "mystic blade"}, [4] = {id = 7406, idenergy = 7872, item = "blacksteel sword"}, [5] = {id = 7402, idenergy = 7873, item = "dragon slayer"}, [6] = {id = 2423, idenergy = 7879, item = "clerical mace"}, [7] = {id = 2445, idenergy = 7880, item = "crystal mace"}, [8] = {id = 7415, idenergy = 7881, item = "cranial basher"}, [9] = {id = 7392, idenergy = 7882, item = "orcish maul"}, [10] = {id = 2391, idenergy = 7883, item = "war hammer"}, [11] = {id = 2429, idenergy = 7874, item = "barbarian axe"}, [12] = {id = 7402, idenergy = 7875, item = "knight axe"}, [13] = {id = 7402, idenergy = 7876, item = "heroic axe"}, [14] = {id = 7402, idenergy = 7877, item = "headchopper"}, [15] = {id = 7402, idenergy = 7878, item = "war axe"} } chancepos = { [1] = {idignitum = 6550, chance = 75, posignitum = {x=2229, y=2081, z=8, stackpos = 255}, posarma = {x=2229, y=2081, z=8, stackpos = 255}, spot = "fire"}, [2] = {idignitum = 6551, chance = 50, posignitum = {x=2229, y=2081, z=8, stackpos = 255}, posarma = {x=2229, y=2081, z=8, stackpos = 255}, spot = "ice"}, [3] = {idignitum = 6549, chance = 25, posignitum = {x=2229, y=2081, z=8, stackpos = 255}, posarma = {x=2229, y=2081, z=8, stackpos = 255}, spot = "tera"}, [4] = {idignitum = 6548, chance = 15, posignitum = {x=2229, y=2081, z=8, stackpos = 255}, posarma = {x=2229, y=2081, z=8, stackpos = 255}, spot = "energy"}, } local uniqid = 9999 -- [[FIM CONFIG - Beyond Sky]] for i = 1, 15 do getitemfire = getThingfromPos(chancepos[1].posignitum) getitemice = getThingfromPos(chancepos[2].posignitum) getitemtera = getThingfromPos(chancepos[3].posignitum) getitemenergy = getThingfromPos(chancepos[4].posignitum) getitemfire2 = getThingfromPos(chancepos[1].posarma) getitemice2 = getThingfromPos(chancepos[2].posarma) getitemtera2 = getThingfromPos(chancepos[3].posarma) getitemenergy2 = getThingfromPos(chancepos[4].posarma) if item.uid == uniqid and item.itemid == 9825 then if (chancepos[i].chance >= math.random(1, 100)) then if (getitemfire.itemid == (chancepos[1].idignitum)) and (getitemfire2.itemid == (armasfire[i].id)) then doRemoveItem(getitemfire.uid,1) doRemoveItem(getitemfire2.uid,1) doSendMagicEffect(getitemfire, CONST_ME_MAGIC_RED) doCreateItem(armasfire[i].idfire, 1, getitemfire2) doSendMagicEffect(getitemfire2, CONST_ME_FIREAREA) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "His weapon was successfully improved.") elseif (getitemice.itemid == (chancepos[2].idignitum)) and (getitemice2.itemid == (armasice[i].id)) then doRemoveItem(getitemice.uid,1) doRemoveItem(getitemice2.uid,1) doSendMagicEffect(getitemice, CONST_ME_MAGIC_BLUE) doCreateItem(armasice[i].idice, 1, getitemice2) doSendMagicEffect(getitemice2, CONST_ME_ICEAREA) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "His weapon was successfully improved.") elseif (getitemtera.itemid == (chancepos[1].idignitum)) and (getitemtera2.itemid == (armastera[i].id)) then doRemoveItem(getitemtera.uid,1) doRemoveItem(getitemtera2.uid,1) doSendMagicEffect(getitemtera, CONST_ME_MAGIC_GREEN) doCreateItem(armastera[i].idtera, 1, getitemtera2) doSendMagicEffect(getitemtera2, CONST_ANI_EARTH) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "His weapon was successfully improved.") elseif (getitemenergy.itemid == (chancepos[1].idignitum)) and (getitemenergy22.itemid == (armasenergy[i].id)) then doRemoveItem(getitemenergy.uid,1) doRemoveItem(getitemenergy2.uid,1) doSendMagicEffect(getitemenergy, CONST_ME_ENERGYHIT) doCreateItem(armasfire[i].idenergy, 1, getitemenergy2) doSendMagicEffect(getitemenergy2, CONST_ME_ENERGYAREA) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "His weapon was successfully improved.") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You are not using the necessary items or the items are not positioned correctly.") return TRUE end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Failed, not succeeded in improve its weapon. You lost both items.") end elseif item.uid == uniqid and item.itemid == 9826 then doTransformItem(item.uid, item.itemid - 1) end end end
  9. Estou um tempo fora do mundo de desenvolvimento do Open Tibia, e gostaria de saber se estão usando o xampp antigo ou qual melhor versão para usar para abrir o site ?
  10. Eu uso bastante o tópico porém eu não consigo identificar uma função que retorne o nome de player "x" da posição "y". Creio que encontrei, caso alguém tenha a mesma dúvida pode usar a função getWaypointPosition(name) para descobrir a posição de um player pelo nome dele.
  11. Eu estou desenvolvendo um script para dar uma treinada no comando For e pretendo publicar futuramente pra galera porém creio que vai demorar, enfim sem mais delongas eu preciso de uma condição nesse script que faria o seguinte ela vai verificar se o player que foi citado na talkaction usada está realmente na posição que deve estar. Para quem não entendeu ainda é o seguinte os dois players estarão posicionados em um tile especial e um deles irá desafiar o outro usando uma talk !desafiar, inimigo, valor do desafio, essa condição que procuro irá verificar se o player citado na talk é realmente o player que está no tile especial. Não sei se ficou bem claro mas agradeço a ajuda de quem entendeu a minha dúvida.
  12. Parabéns mais uma vez Max agora sim consegui fixar mais ou menos bem os segredos do comando consigo usar mais de forma bem simples ainda, agora eu tenho uma dúvida sobre o assunto estou desenvolvendo um script e peguei uma parte de um script aqui da annihi e parteé esta: for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do for z = toPos.z, toPos.z do local creature = getTopCreature({x = x, y = y, z = z, stackpos = 255}).uid if(creature > 0) then if(isPlayer(creature)) then table.insert(cid, creature) count = count + 1 if(getPlayerLevel(creature) < 250) then return "You and your enemy must be level 250." end elseif(isMonster(creature)) then return "Players are allowed only." end end end end end Estou com dúvida sobre esses dois cara aqui table.insert(cid, creature) count = count + 1 Qual a função deles no script ?
  13. Ótimo script parceiro, não sei se pode fazer isso mas creio eu que é relacionado ao assunto de qualquer forma. Estou tentando compreender o script e estou com uma dúvida nessa line do seu excelente script? local list = {} for i, tid in ipairs(getPlayersOnline()) do list[i] = tid end Por que essa condição foi usada e aquele ipairs ali não entendi muito bem estou tentando entender esses novos modelos de script e pego os mais simples e mesmo assim não consigo me acertar parceiro, detalhe conheço um pouco de for
  14. Qual a versão do seu servidor se for TFS 1.0 use player:registerEvent("killingInTheNameOfQuestKills")Agora se for TFS 0.4 registerCreatureEvent(cid, "KillingInTheNameOf")Coloque essas tags junto aos demais event no script data/creaturescript/scripts/login.lua
  15. Cara parabéns pelo tutorial desculpa estar revivendo o tópico mas como o alerta sugere vou perguntar algo relevante e tem a ver com o tópico. Seguindo o que nos ensinou, eu posso construir e destruir um andar com (do, end) no caso, então aqui. var = 1 do local var = 2 do var = 3 end print(var) end do começou o primeiro andar foi setada a variável local igual a var = 2, então começa o segundo andar e foi setada a variável global var = 3 e finaliza o segundo andar e voltamos ao primeiro e var continua valendo 3 por que ? seguindo a lógica que nos passou não deveria ser 2 o valor de var ? Isso quer dizer que as variáveis globais predominam uma variável local ?
  16. Muito obrigado parceiro já começou a dar um clareada na mente vou dar umas estudadas sobre iteração e loop, muito obrigado tópico resolvido.
  17. Beyond Sky postou uma resposta no tópico em Suporte & Pedidos
    Faz muito tempo que parei de editar, mas futuramente estarei postando novas imagens, agradecido pelo elogio.
  18. MaxWellden, tô louco pra por esse ótimo sistema no meu servidor porém está dando erro quando tento fazer download poderia resolver isso? Parabéns pelo sistema sempre admirei seus trabalhos.
  19. Estou voltando ao mundo do Open Tibia (na área de desenvolvimento) e estou testando meu potencial em scriptings quando me fiz ausente tinha um conhecimento bom já não tão grande mas quebrava um galho agora voltei e percebi que regredi bastante. Enfim, eu estava pegando uns scripts pra dar uma estudada e me deparei com uma coisa louca e gostaria muito que vocês experientes me ajudassem com isso. Peguei esse script da annihilator lever e está muito louco bem diferente do antigo postarei os dois e gostaria de saber qual a diferença entre os dois e se pudessem me explicar as vantagens e as condições usada no novo pq me embananei todo olhando esse script. Script Novo (que não entendi nada, o que aconteceu com a famosa function onUse(cid, item, frompos, item2, topos)) : local players_area = { {x = 33225, y = 31671, z = 13}, {x = 33222, y = 31671, z = 13} } local new_player_pos = { {x = 33222, y = 31659, z = 13}, {x = 33221, y = 31659, z = 13}, {x = 33220, y = 31659, z = 13}, {x = 33219, y = 31659, z = 13} } local demonPos = { {x = 33219, y = 31657, z = 13}, {x = 33221, y = 31657, z = 13}, {x = 33223, y = 31659, z = 13}, {x = 33224, y = 31659, z = 13}, {x = 33220, y = 31661, z = 13}, {x = 33222, y = 31661, z = 13} } function getPlayerCountInArea(toPos, fromPos) local count = 0 local cid = {} for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do for z = toPos.z, toPos.z do local creature = getTopCreature({x = x, y = y, z = z, stackpos = 255}).uid if(creature > 0) then if(isPlayer(creature)) then table.insert(cid, creature) count = count + 1 if(getPlayerLevel(creature) < 100) then return "All players must be above level 100." end elseif(isMonster(creature)) then return "Players are allowed only." end end end end end if(count < 4) then return "You need 4 players." else for i = 1,4 do Player(cid[5-i]):teleportTo(new_player_pos[i]) Player(cid[5-i]):getPosition():sendMagicEffect(CONST_ME_TELEPORT) end end return true end function SummonDemon(Pos) local count = 0 local cid = {} for x = Pos[1].x, Pos[4].x do for y = Pos[1].y, Pos[6].y do for z = Pos[1].z, Pos[6].z do local creature = getTopCreature({x = x, y = y, z = z, stackpos = 255}).uid if(creature > 0) then if(isPlayer(creature)) then return "A team is already inside the quest room." elseif(isMonster(creature)) then table.insert(cid, creature) count = count + 1 end end end end end for i = 1, #cid do doRemoveCreature(cid[i]) end for i = 1, #Pos do doSummonCreature("Demon", Pos[i]) end return getPlayerCountInArea(players_area[1], players_area[2]) end function onUse(cid, item) if(item.itemid == 1946) then local condition = SummonDemon(demonPos) if(condition ~= true) then doPlayerSendCancel(cid, condition) end else Item(item.uid):transform(1946) end return true end Script Antigo (do qual tenho total conhecimento sobre o que acontece ou não e por que) -- Alavanca Annihilator Quest -- by Nottinghster function onUse(cid, item, frompos, item2, topos) if item.uid == 7000 and item.itemid == 1945 then player1pos = {x=1109, y=1204, z=11, stackpos=253} player1 = getThingfromPos(player1pos) player2pos = {x=1110, y=1204, z=11, stackpos=253} player2 = getThingfromPos(player2pos) player3pos = {x=1111, y=1204, z=11, stackpos=253} player3 = getThingfromPos(player3pos) player4pos = {x=1112, y=1204, z=11, stackpos=253} player4 = getThingfromPos(player4pos) if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then queststatus1 = getPlayerStorageValue(player1.uid,7000) queststatus2 = getPlayerStorageValue(player2.uid,7000) queststatus3 = getPlayerStorageValue(player3.uid,7000) queststatus4 = getPlayerStorageValue(player4.uid,7000) if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then nplayer1pos = {x=1128, y=1181, z=11} nplayer2pos = {x=1129, y=1181, z=11} nplayer3pos = {x=1130, y=1181, z=11} nplayer4pos = {x=1131, y=1181, z=11} doSendMagicEffect(player1pos,2) doSendMagicEffect(player2pos,2) doSendMagicEffect(player3pos,2) doSendMagicEffect(player4pos,2) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doSendMagicEffect(nplayer1pos,10) doSendMagicEffect(nplayer2pos,10) doSendMagicEffect(nplayer3pos,10) doSendMagicEffect(nplayer4pos,10) doTransformItem(item.uid,item.itemid+1) else doPlayerSendCancel(cid,"Alguém em seu time já fez esta quest.") end else doPlayerSendCancel(cid,"Você precisa de um grupo de 4 pessoas para esta quest.") end elseif item.uid == 7000 and item.itemid == 1946 then if getPlayerAccess(cid) > 0 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Desculpe, não é possível.") end else return FALSE end return TRUE end
  20. Cara durante essa compilação é possível eu passar uma tfs 0.4 para versão 10.37/10.35 ?
  21. O alerta que continha no tópico antes do meu post me alertava que eu não poderia postar desde que não fosse nada importante ou que não fosse relacionado ao assunto discutido creio que não cometi uma inflação.
  22. As tasks estão 100% funcionais ? Com rank points e etc, quest log e tals? Gostaria de retirar o script do servidor.
  23. Eu estou ausente do mundo dos OTS como desenvolvedor desde a versão 8.6 mais ou menos e gostaria de saber se essa nova TFS complica muito em relação a usar scripts antigos ? LUA/LIB/XML enfim todas essas coisas mudaram muito a parte de Functions ali da própria TFS mudaram muitas coisas ? Existe 0.4 para versões atuais 10.37/10.35 ?
  24. Cara o sistema está perfeito já, porém eu queria saber se pudesse ser feito da seguinte forma. No dia e hora marcado aconteceria uma invasão mas não uma específica iria ser randomizada.

Informação Importante

Confirmação de Termo