Ir para conteúdo

Samuel2011

Campones
  • Total de itens

    71
  • Registro em

  • Última visita

Tudo que Samuel2011 postou

  1. muito bom mapa gostei arkires :button_ok:
  2. muito bom tutorial :button_ok:
  3. # Custom itens Runes # Custom Telepoorters # Custom # NPC Custom é # Editado mapa Evolutions # Mais de 50 quests # Mais de 150 telepoorters! # Chuva / neve na cidade! # Muitos recursos interessantes # A cada hora, um chefe spawns especiais e soltar itens addon bom! # Os jogadores podem invocar os seus próprios animais de estimação! # Os jogadores podem comprar um animal de estimação de cura / mana especial! Informações Animais de estimação: Nível de comando 100! Petone 150! Pettwo 200! Petthree 250! Petfour 300! Petfive 350! Petsix 400! Petseven 450! Peteight 8! Petspecial Todos os animais de estimação vai custar algum dinheiro, máximo de 14cc, exceto para petspecial ele vai custar 200cc Algumas fotos: http://imageshack.us/g/855/15we5hl.png/ download link: http://www.speedyshare.com/files/26943396/data.rar só mapa e minimapa ir a este link: http://www.speedyshare.com/files/26923192/world.rar heal / mana script pet: http://www.xtibia.com/forum/topic/159630-acton-health-mana-pet/page__pid__1052316#entry1052316 Scan: http://www.virustotal.com/pt/analisis/ac40c110e6a8643e670e1fdab63ea8d5 Jikoe @ Não tenho certeza se este é o caminho certo: P então me diga quando alguém testou plox nao deu para post scan pq site virustotal nao ta abrindo
  4. muito bom bholder :button_ok:
  5. muito bom obrigado Mdgabrielzim :button_ok:
  6. Créditos para: Doggynub para fazer o script! Aildetico Esquisofrenico Por Ter Feito Tutorial colocar isso em data-> feitiços-> scripts put this in data->spells->scripts heal pet : local amount = 200 -- amount of hp local times = 1 -- in sec local name = "Heal pet" -- monster name , make sure that the monster is convinced local storage = 6746 -- player who have this storage will be able to use local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, TRUE) local function heal(cid) local p = getThingPos(cid) local healing = false if(#getCreatureSummons(cid) >= 1) then for _,pid in ipairs(getCreatureSummons(cid)) do if string.lower(getCreatureName(pid)) == string.lower(name) then healing = true break end end end if healing == true then doCreatureAddHealth(cid,amount) doSendMagicEffect(getThingPos(cid),CONST_ME_MAGIC_BLUE) addEvent(heal,times*1000,cid) for _,pid in ipairs(getCreatureSummons(cid)) do if string.lower(getCreatureName(pid)) == string.lower(name) then doSendMagicEffect(getThingPos(pid),CONST_ME_MAGIC_BLUE) doSendAnimatedText(getThingPos(pid),"Healing",math.random(1,255)) break end end end return true end local function check(cid) local checked = 0 local place = { x=0,y=0,z=0} local h = getThingPos(cid) local frompos = {x=h.x-2,y=h.y-2,z=h.z} local topos = {x=h.x+2,y=h.y+2,z=h.z} for g = frompos.x,topos.x do for d = frompos.y,topos.y do local poss = {x=g,y=d,z=h.z} local tid = getTopCreature(poss).uid if isMonster(tid) or isPlayer(tid) or getTilePzInfo(poss) == TRUE or doTileQueryAdd(cid, poss) ~= 1 then checked = checked + 1 else place.x = poss.x place.y = poss.y place.z = poss.z break end end end if checked >= 25 then return checked elseif checked < 25 then return place end return true end function onCastSpell(cid, var) if getPlayerStorageValue(cid,storage) < 1 then return doPlayerSendCancel(cid,"You cant use this") and doSendMagicEffect(getThingPos(cid),2) and false end local search = false if(#getCreatureSummons(cid) >= 1) then for _,pid in ipairs(getCreatureSummons(cid)) do if string.lower(getCreatureName(pid)) == string.lower(name) then search = true break end end end if search == true then doPlayerSendCancel(cid,"You already have a "..string.lower(name).." summoned.") doSendMagicEffect(getThingPos(cid),2) return false else local f = getThingPos(cid) local pos = {x=f.x+1,y=f.y,z=f.z} if not tonumber(check(cid)) then doConvinceCreature(cid,doSummonCreature(string.lower(name), check(cid))) heal(cid) doCombat(cid,combat,var) else doPlayerSendCancel(cid,"You cant summon here.") doSendMagicEffect(getThingPos(cid),2) return false end return true end return true end mana pet : local amount = 100 -- amount of hp local times = 1 -- in sec local name = "Mana pet" -- monster name , make sure that the monster is convinced local storage = 6745 -- player who have this storage will be able to use local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, TRUE) local function heal(cid) local p = getThingPos(cid) local mana = false if(#getCreatureSummons(cid) >= 1) then for _,pid in ipairs(getCreatureSummons(cid)) do if string.lower(getCreatureName(pid)) == string.lower(name) then mana = true break end end end if mana == true then doCreatureAddMana(cid,amount) doSendMagicEffect(getThingPos(cid),CONST_ME_MAGIC_BLUE) addEvent(heal,times*1000,cid) for _,pid in ipairs(getCreatureSummons(cid)) do if string.lower(getCreatureName(pid)) == string.lower(name) then doSendMagicEffect(getThingPos(pid),CONST_ME_MAGIC_BLUE) doSendAnimatedText(getThingPos(pid),"Mana",math.random(1,255)) break end end end return true end local function check(cid) local checked = 0 local place = { x=0,y=0,z=0} local h = getThingPos(cid) local frompos = {x=h.x-2,y=h.y-2,z=h.z} local topos = {x=h.x+2,y=h.y+2,z=h.z} for g = frompos.x,topos.x do for d = frompos.y,topos.y do local poss = {x=g,y=d,z=h.z} local tid = getTopCreature(poss).uid if isMonster(tid) or isPlayer(tid) or getTilePzInfo(poss) == TRUE or doTileQueryAdd(cid, poss) ~= 1 then checked = checked + 1 else place.x = poss.x place.y = poss.y place.z = poss.z break end end end if checked >= 25 then return checked elseif checked < 25 then return place end return true end function onCastSpell(cid, var) if getPlayerStorageValue(cid,storage) < 1 then return doPlayerSendCancel(cid,"You cant use this") and doSendMagicEffect(getThingPos(cid),2) and false end local search = false if(#getCreatureSummons(cid) >= 1) then for _,pid in ipairs(getCreatureSummons(cid)) do if string.lower(getCreatureName(pid)) == string.lower(name) then search = true break end end end if search == true then doPlayerSendCancel(cid,"You already have a "..string.lower(name).." summoned.") doSendMagicEffect(getThingPos(cid),2) return false else local f = getThingPos(cid) local pos = {x=f.x+1,y=f.y,z=f.z} if not tonumber(check(cid)) then doConvinceCreature(cid,doSummonCreature(string.lower(name), check(cid))) heal(cid) doCombat(cid,combat,var) else doPlayerSendCancel(cid,"You cant summon here.") doSendMagicEffect(getThingPos(cid),2) return false end return true end return true end adicionar menos em data-> feitiços-> spells.xml <instant name="Sumonmana pet" words="manavip" lvl="8" mana="100" prem="0" exhaustion="2000" needlearn="0" event="script" value="mana pet.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> <instant name="Summon healthpet" words="healthvip" lvl="8" mana="100" prem="0" exhaustion="2000" needlearn="0" event="script" value="health pet.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> seu trabalho com storageid para isso é uma ação. colocar isso em dados -> ações -> actions.xml <action itemid="2347" script="petmanadonation.lua"/> <action itemid="2348" script="pethealthdonation.lua"/> fazer 2 novos arquivos e chamá-los petmanadonation e pethealthdonation colocar em healthpetdonation: function onUse(cid, item, frompos, item2, topos) if item.itemid == 2347 then if getPlayerLevel(cid) > 1 then getPlayerStorageValue(cid, 6746) doSendAnimatedText(getPlayerPosition(cid), "Gratz!", TEXTCOLOR_RED) doCreatureSay(cid, "CONGRATULATIONS! You can now summon your healthpet with : healthvip!. ", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, 6746, 1) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid,'You are not a donator.') doRemoveItem(item.uid, 1) end else end return 1 end petmanadonation : function onUse(cid, item, frompos, item2, topos) if item.itemid == 2348 then if getPlayerLevel(cid) > 1 then getPlayerStorageValue(cid, 6745) doSendAnimatedText(getPlayerPosition(cid), "Gratz!", TEXTCOLOR_RED) doCreatureSay(cid, "CONGRATULATIONS! You can now summon your manapet with : healthmana!. ", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, 6745, 1) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid,'You are not a donator.') doRemoveItem(item.uid, 1) end else end return 1 end agora a última coisa em monsters.xml acrescentar: <monster name="Heal pet" file="Heal pet.xml"/> <monster name="mana pet" file="mana pet.xml"/> criar 2 novos monstros e chamá-los e curá-mana pet animal de estimação. apenas um exemplo: <?xml version="1.0" encoding="UTF-8"?> <monster name="mana pet" nameDescription="a pet" race="blood" experience="5" speed="1534" manacost="2000000"> <health now="20000" max="20000"/> <look type="21" corpse="5964"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="5"/> </flags> <attacks> <attack name="melee" interval="2000" skill="10" attack="10"/> </attacks> <defenses armor="1" defense="2"/> <elements> <element earthPercent="100"/> <element holyPercent="100"/> <element icePercent="100"/> <element deathPercent="100"/> </elements> <voices interval="5000" chance="10"> <voice sentence="Meep!"/> </voices> <loot> <item id="2696" chance="40750" /><!-- cheese --> <item id="1987" chance="100000"><!-- bag --> <inside> <item id="2148" countmax="4" chance="43750" /><!-- gold coin --> </inside> </item> </loot> </monster> usando os itens "2347" e "2348" você pode usar o comando! viphealth ou! vipmana ~ ~! Lembre-se de todos os créditos são para doggynub ele criou o script mais importante! ~ ~ desfrutar jikoe
  7. veja esse topico http://www.xtibia.com/forum/topic/137298-dev-c-como-compilar-um-otserv/
  8. muito bom tutorial muito obrigado pela contribuicao :button_ok:
  9. esse aq bem parecido local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -5.0, -30, -6.0, 0) local arr = { {1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1}, {1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1}, {1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1}, {1, 0, 0, 0, 1, 0, 2, 0, 1, 1, 1, 1, 1}, {0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end <instant name="Utevo Mort" words="utevo mort" lvl="100" mana="1600" prem="1" exhaustion="1200" selftarget="1" needlearn="0" script="attack/utevo mortlua"
  10. Game Design é o acto de decidirmos o que um jogo deve ser. É isso mesmo, visto assim parece simples.
  11. veja esse topico... http://www.xtibia.com/forum/topic/95477-sistema-de-parcel-para-ot-server/
  12. Samuel2011

    VÍrus

    #link dlls arrumado
  13. gtostei belo tutorial muito bom :button_ok:
  14. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.7, 0) local arr = { {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 2, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end <instant name="Utevo Mort" words="utevo mort" lvl="100" mana="1600" prem="1" exhaustion="1200" selftarget="1" needlearn="0" script="attack/utevo mortlua"
  15. ligue xamp tudo serto veja servidor esta online mesmo aguarde 1 minuto e esta on. Bye
  16. muito legal esse spell mais pode causar lag quando muito player usa ela no mesmo tempo e pode cair server... Bye
  17. se for velox ip fixo agora se mudo para banda larga vai muda mesmo agora se quizer abri porta modem´vai internet endereço digite 192.168.1.1 or 192.168.0.1 a senah admin em cima em baixo ou so no usuario admin depois la se ve ja q vc ja tinha aberto Bye
  18. muito bom otimo tutorial agora ja sei como tira 8090 do meu site... Muito Obrigado pela contribuicao Bye
  19. ... lol isso da lag pra caramba podendo ate cair servidor mais pelo trabalho gostei :button_ok:
  20. muito bom belo map tem tudo para stronda... Bye
  21. otimo servidor gostei parabens pelo trabalho :button_ok:
  22. ja tem topico similar esse http://www.xtibia.com/forum/topic/139236-vodkart-da-uma-olhadinha/ Bye
  23. belas fotos... Bye
  24. Testado no slayer yurots v11 tfs 0.3.1 vai talk/script e adicione esse script -- Script SYtem vip 1.0 -- function onSay(cid, words, param) if(words == "!buyvip") then local price = 150000000 if doPlayerRemoveMoney(cid, 150000000) == TRUE then local name = getCreatureName(cid) local days = 30 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) db.executeQuery("UPDATE `players` SET `name` = '[s.Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") end elseif(words == "!vipdays") then local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.") elseif(words == "/checkvip") then if getPlayerAccess(cid) == 5 then if not param then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(param) if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") end local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60)) doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.") return TRUE end elseif(words == "/addvip") then if getPlayerAccess(cid) == 5 then local t = string.explode(param, ",") if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(t[1]) local days = t[2] if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") end local daysvalue = days*3600*24 local storageplayer = getPlayerStorageValue(player, 13540) local timenow = os.time() local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") setPlayerStorageValue(player, 13540, time) local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.") end elseif(words == "/delvip") then if getPlayerAccess(cid) == 5 then local dec = MESSAGE_INFO_DESCR if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end local C,t = {},string.explode(param, ",") C.pos = getPlayerPosition(cid) C.uid = getCreatureByName(t[1]) C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia. C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip. if(getPlayerStorageValue(C.uid,13540) < C.time)then doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.') else doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.') setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time) end doSendMagicEffect(C.pos, math.random(28,30)) end end return TRUE end depois vai em talk.xml adicione isso <talkaction words="!buyvip" script="buyvip.lua"/> quando player ajunta 150kk e fala !buyvip ela fica no prefixo nome [s.Vip]
  25. se é mesmo nao sei só sei q versao diferente contendo novas novidades masi ainda nao conseguiram ajusta attack do poke di acordo com lvl role player...
  • Quem Está Navegando   0 membros estão online

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