Ir para conteúdo

meubk

Visconde
  • Total de itens

    311
  • Registro em

  • Última visita

  • Dias Ganhos

    8

Tudo que meubk postou

  1. @JasonLucas cara nunca desista , é seu futuro, mas pra frente vai fazer falta . @all vlw a todos que gostarão !!
  2. sim, vou atualizando aos poucos, vlw pela idéia.
  3. Fundamentos da aplicação Olá, eu sou Miiller conhecido aqui no xtibia como "xotservx", tenho 17 anos, e iniciei a minha faculdade este ano, estou cursando análise e desenvolvimento de sistemas , na faculdade estou começando aprender desenvolver aplicações em C#, e como sou fanático em scripts, resolvi criar uma aplicação que facilita-se algo na vida dos scripters, então eu desenvolvi essa aplicação para q ela crie o inicio do script, aonde você pode adicionar varias condições para que o script aconteça. Perai ! O aplicativo faz o script pra você ? Não ! Ele não faz o script totalmente para você, mas ajuda muito quado se quer colocar por exemplo, para que somente players level 20, usa tal script, foi pensando nisso que desenvolvi essa aplicação. Interface e exemplo de uso Esta é a interface da aplicação veja que tem varias configurações que pode ser adicionada no script, como level, magic level, skills, posição adequada, storages ( permite varias storages ), items e suas quantidades, entre outras, depois clicando no butão Create File, a seguinte mensagem irá aparecer : O aplicativo automáticamente cria o arquivo em lua, no mesmo diretório que estiver o executavel da aplicação, o script resultou o seguinte: -- Script Name: test V1.0 -- Autor: xotservx -- Using Script Check Generator (xotservx) function onSay(cid, words, param, channel) if getPlayerLevel(cid) < 20 then return doPlayerSendCancel(cid, 'You need level 20') end if getPlayerVocation(cid) ~= 3 then return doPlayerSendCancel(cid, 'His vocation to be ' .. getPlayerVocationName(3)) end if getPlayerItemCount(cid, 2160) < 10 then return doPlayerSendCancel(cid, 'You need 10 '.. getItemNameById(2160)) end -- Start your script return true end Tudo correto as verificações agora se pode iniciar o script. Downloads MEGA Mediafire Zippyshare Scan : VirusTotalScan Requisitos : .net framework 3.5 ou superior Bom, então é isso ai, quem gosto pelo menos da idéia, comenta ai, e se souberem de bugs e tals, ou de novas idéias podem me adiconar no msn avontade .
  4. ai ja é erro teu não tem erro algum no script ....
  5. prontinho http://ideone.com/K6gSJS pode configurar no inicio na tabela o level
  6. function create_random_area(sizex, sizey, typecenter) local area = {} for y = 1, sizey do tab = {} for x = 1, sizex do table.insert(tab, ((sizey - 1) / 2) + 1 == y and ((sizex - 1) / 2) + 1 == x and typecenter or math.random(0, 1) ) end table.insert(area, tab) end return area end cria uma area randomizada, para ele criar o centro vc precisa usar numeros impares no tamanho do x e y, pois não tem como achar o centro de uma area 2, 2 por exemplo . create_random_area(3, 5, 2) resultado: {0, 1, 1} {0, 1, 1} {0, 2, 1} {1, 1, 0} {0, 1, 0} até.
  7. minha versão : string.explode = function (string, char) local tab, pos = {}, 1 for str in string:gmatch(".") do pos = str == char and pos + 1 tab[pos] = tab[pos] or "" tab[pos] = str == char or tab[pos] .. str end return tab end
  8. SISTEMA ATUALIZADO PARA VERSÃO 3.0 Log V3.0 ( 03/02/2013 ) :
  9. skyen vc ainda perde tempo ajudando ele , kkk
  10. ediita os icones na pasta client\modules\gamelib\icons vai ter os arquivos skull_red e skull_white.
  11. abra seu arquivo data/lib/level system.lua e troca a função adjustWildPoke(cid, optionalLevel) por esta : function adjustWildPoke(cid, optionalLevel) optionalLevelWild = { ["Blastoise"] = 350, ["Charizard"] = 350, ["Venusaur"] = 350, } if isMonster(cid) and pokes[getCreatureName(cid)] then local level = 0 local b = getCreatureOutfit(cid).lookBody local lvl = getPokemonLevel(cid) --alterado v1.4 if optionalLevel then level = optionalLevel elseif b > lvl then level = b else level = lvl end if optionalLevelWild[getCreatureName(cid)] and not optionalLevel then level = optionalLevelWild[getCreatureName(cid)] end setPlayerStorageValue(cid, 1001, pokes[getCreatureName(cid)].offense * level) setPlayerStorageValue(cid, 1002, pokes[getCreatureName(cid)].defense) setPlayerStorageValue(cid, 1003, pokes[getCreatureName(cid)].agility) setPlayerStorageValue(cid, 1004, pokes[getCreatureName(cid)].vitality * level) setPlayerStorageValue(cid, 1005, pokes[getCreatureName(cid)].specialattack * level) doRegainSpeed(cid) --alterado! setCreatureMaxHealth(cid, (getVitality(cid) * HPperVITwild)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) if pokes[getCreatureName(cid)].exp then local exp = pokes[getCreatureName(cid)].exp * baseExpRate + pokes[getCreatureName(cid)].vitality * pokemonExpPerLevelRate setPlayerStorageValue(cid, 1006, (exp * generalExpRate/2)*10) if getPlayerStorageValue(cid, 22546) == 1 then setPlayerStorageValue(cid, 1006, 750) doSetCreatureDropLoot(cid, false) end end end end bom os pokes que vc quiser que tenha level maior que 255 , vc coloca na tabela : optionalLevelWild = { ["Blastoise"] = 350, ["Charizard"] = 350, ["Venusaur"] = 350, } caso vc não adicionar o poke na tabela ele vai pegar o level do body mesmo... é uma forma para vc fazer o poke maior q 255.
  12. slicer, precisava falar com vc :X
  13. ow cara tem msn, preciso de ajuda
  14. meubk

    Pedido De Funçao

    eu usaria o mesmo metodo do slice, esta função do kydrai ja me ajudo mto .
  15. faça pelas sources, fica mais bonito e mais bem feito . vc não vai precisar editar aas armas . http://www.xtibia.com/forum/topic/167172-two-weapons-system/
  16. se o monstro morrer oq acontece cm o colar ?
  17. Olá, eu estou montando um server de Cabal, baseando no tibia, eu estou fazendo o server todo sozinho, até pq sou scripter, programador e mapper, porém não sou spriter, e justamente oque mais vou precisar. Eu nunca fiz uma sprite antes, e tentei fazer esta espada, que é uma espada do cabal, a Osmium Blade. Queria a opinião de vocês. Espada Original: Sprite:
  18. meubk

    Evil Spirit

    Evil Spirit Olá, venho trazer esta spell Evil Spirit, que fiz baseada na magia do MuOnline. -- SPELL EVIL SPIRIT BY: XOTSERVX -- local min, max = 100, 200 -- dano function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function getPosDirs(p, dir) return dir == 1 and {x=p.x-1, y=p.y, z=p.z} or dir == 2 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 3 and {x=p.x, y=p.y+1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x+1, y=p.y, z=p.z} or dir == 6 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 7 and {x=p.x, y=p.y-1, z=p.z} or dir == 8 and {x=p.x-1, y=p.y-1, z=p.z} end function posIgual(pos1, pos2) return pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z and true or false end effect = 62 distance = 31 damage = COMBAT_DEATHDAMAGE evilspirit = { walk = function (cid, min, max, pos, rounds, ultimapos) if rounds == 0 then return true end if not isCreature(cid) then return true end posdisp = {} for _, dir in pairs({1, 5, 7, 3}) do if isWalkable(getPosDirs(pos, dir)) and not posIgual(getPosDirs(pos, dir), getThingPos(cid)) and not posIgual(getPosDirs(pos, dir), ultimapos) then table.insert(posdisp, getPosDirs(pos, dir)) end end if #posdisp < 1 then return true end posesc = posdisp[math.random(1, #posdisp)] ultimapos = pos doSendDistanceShoot(pos, posesc, distance) doAreaCombatHealth(cid, damage, posesc, 0, -min, -max, effect) addEvent(evilspirit.walk, 140, cid, -min, -max, posesc, rounds - 1, ultimapos) end } function onUse(cid,item,item2,frompos,pos,topos) evilspirit.walk(cid, 10, 20, getThingPos(cid), 40, {x=1, y=1, z=1}) for i = 1, 13 do addEvent(evilspirit.walk, i * math.random(300, 500), cid, min, max, getThingPos(cid), 40, {x=1, y=1, z=1}) end return true end As configurações está no script, vcs montam a tag agora. Ai vai um video paraver como tá:
  19. é, agora eu to largado, ai voltei kkkk, adc meu msn ai da assinatura.
  • Quem Está Navegando   0 membros estão online

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