TekaZudo
seuserver.com.br
DESCRIÇÃO
Anuncie aqui neste countdown e dê maior visibilidade ao seu lançamento |
Full Global • Custom Quests • Custom Outfits • Lottery System • Version 15x
Inicia em:
--
Participar
Histórico de Curtidas
-
Laastzn recebeu reputação de Pedroquessada em [URGENTE] Temple position is wrong. Contact with the administrationquando voce cria o char fica normal? loga normal? so da esse erro quando morre?
Se for, é só voce mudar no sample, o town que o player vai nascer. no caso é o 1
em config.php se nao me engano la tem newplayer town. tu poem 1 tbm, e configura no remeres o town 1 a posicao la do temple. muda tbm no config.lua o newplayertown pra 1 !
qualquer coisa posta ae !
-
Laastzn recebeu reputação de Malvera OT em [Resolvido] Duvidas ( TFS ) \ ( DB )Mas não dava esses erros quando eu usava a distro do Real Server, ai eu mudei pro TFS 0.4 e deu esses erros.
-
Laastzn deu reputação a Luquinha em [Resolvido] Script, Treiner.Vamos lá ,vá em movements.xml e adicione isso
<movevent type="StepIn" actionid="25000" event="script" value="autokick.lua"/> <movevent type="StepOut" actionid="25000" event="script" value="autokick.lua"/>
Agora em movements/scripts crie um arquivo chamado autokick.lua e adicione isso dentro
events1,events2= {},{} local config = {tempo = 15,storage = 20000 } function onStepIn(cid, item, frompos, topos) if isPlayer(cid) and getPlayerStorageValue(cid, config.storage) <= 0 then doPlayerSendTextMessage(cid, 22, "[Trainer]: Movimente-se a cada " .. config.tempo .. " minutos, caso contrário, seu char será levado ao templo.") setPlayerStorageValue(cid, config.storage, 1) events1[getPlayerGUID(cid)] = addEvent(setPlayerStorageValue, config.tempo*60*1000-1000, cid, config.storage, -1) events2[getPlayerGUID(cid)] = addEvent(doTeleportThing, config.tempo*60*1000-500, cid, getTownTemplePosition(getPlayerTown(cid))) end return true end function onStepOut(cid, item, frompos, topos) if isPlayer(cid) and getPlayerStorageValue(cid, config.storage) >= 1 then setPlayerStorageValue(cid, config.storage, -1) doPlayerSendTextMessage(cid, 23, "System kick off!") stopEvent(events1[getPlayerGUID(cid)]) stopEvent(events2[getPlayerGUID(cid)]) end return true end
Explicação ,em local config = {tempo = 15
Em 15 é o tempo em minutos
Agora abra o MAP EDITOR e coloque no TILE dos trainers o action id 25000
Agora eu conheço outro sistema que pode ser configurado no config.lua e eu posso criar um script da frase e você configura o tempo lá no config.lua, eu posso te ajudar !
Se quiser só falar.
-
Laastzn deu reputação a Sociopata em Instalando Zombie EventBem hj vou estar postando o ZOMBIE EVENT q eu uso no meu server sem erros nem nada..
Testado em tfs 0.3 pra mais
Testado em 8.54,8.60
COMANDOS
INSTALAÇÃO
data/creaturescripts/scripts/zombie/onattack.lua
function loseOnZombieArena(cid) kickPlayerFromZombiesArea(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "BOOM! You are dead.") local players = getZombiesEventPlayers() if(#players <= 1) then local winner = players[1] if(winner) then doPlayerAddItem(winner, 2157, 5, true) doPlayerAddItem(winner, 6119, 1, true) doPlayerSendTextMessage(winner, MESSAGE_STATUS_CONSOLE_BLUE, "You won zombies arena event.") doBroadcastMessage("After " .. os.time() - getPlayerZombiesEventStatus(winner) .. " seconds of fight " .. getCreatureName(winner) .. " won Zombie Arena Event in game versus " .. getStorage(ZE_ZOMBIES_SPAWNED) .. " zombies!") kickPlayerFromZombiesArea(winner) else doBroadcastMessage("Zombie arena event finished! No one win?!?!?! WTF!") end doSetStorage(ZE_STATUS, 0) doSetStorage(ZE_PLAYERS_NUMBER, ZE_DEFAULT_NUMBER_OF_PLAYERS) doSetStorage(ZE_ZOMBIES_TO_SPAWN, 0) doSetStorage(ZE_ZOMBIES_SPAWNED, 0) local width = (math.max(ZE_spawnFromPosition.x, ZE_spawnToPosition.x) - math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)) / 2 + 1 local height = (math.max(ZE_spawnFromPosition.y, ZE_spawnToPosition.y) - math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)) / 2 + 1 local centerPos = {x=math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)+width,y=math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)+height,z=ZE_spawnFromPosition.z} for z = math.min(ZE_spawnFromPosition.z, ZE_spawnToPosition.z), math.max(ZE_spawnFromPosition.z, ZE_spawnToPosition.z) do centerPos.z = z for i, uid in pairs(getSpectators(centerPos, width, height, false)) do if(isMonster(uid)) then doRemoveCreature(uid) end end end end end function onStatsChange(target, cid, changetype, combat, value) if((cid and isMonster(cid) and getCreatureName(cid) == "Zombie Event") or (isInRange(getThingPosition(target), ZE_spawnFromPosition, ZE_spawnToPosition) and changetype == STATSCHANGE_HEALTHLOSS and math.abs(value) >= getCreatureHealth(target))) then doCreatureAddHealth(target, getCreatureMaxHealth(target)) loseOnZombieArena(target) return false end return true end /data/creaturescripts/scripts/zombie/ondeath.lua function onDeath(cid) setZombiesToSpawnCount(getZombiesToSpawnCount() + 2) doCreatureSay(cid, "I'll be back!", 19) return true end /data/creaturescripts/scripts/zombie/onthink.lua function onThink(cid) local target = getCreatureTarget(cid) if(target ~= 0 and not isPlayer(target)) then doRemoveCreature(target) end return true end /data/creaturescripts/scripts/login.lua add: registerCreatureEvent(cid, "ZombieAttack") /data/globalevents/scripts/zombie/onstartup.lua function onStartup() db.executeQuery("UPDATE `player_storage` SET `value` = 0 WHERE `key` = " .. ZE_isOnZombieArea .. ";") doSetStorage(ZE_STATUS, 0) doSetStorage(ZE_PLAYERS_NUMBER, ZE_DEFAULT_NUMBER_OF_PLAYERS) doSetStorage(ZE_ZOMBIES_TO_SPAWN, 0) doSetStorage(ZE_ZOMBIES_SPAWNED, 0) addZombiesEventBlockEnterPosition() return true end /data/globalevents/scripts/zombie/onthink.lua function onThink(interval, lastExecution, thinkInterval) if(getStorage(ZE_STATUS) == 2) then setZombiesToSpawnCount(getZombiesToSpawnCount()+1) local players = getZombiesEventPlayers() for i=1, getZombiesToSpawnCount() * 2 do if(getZombiesToSpawnCount() > 0 and spawnNewZombie()) then setZombiesToSpawnCount(getZombiesToSpawnCount()-1) end end end return true end /data/lib/zombie_event.lua -- CONFIG ZE_DEFAULT_NUMBER_OF_PLAYERS = 5 ZE_ACCESS_TO_IGNORE_ARENA = 3 -- POSITIONS ZE_blockEnterItemPosition = {x= 873, y=997, z=7} ZE_enterPosition = {x = 1638, y = 1530, z = 7} ZE_kickPosition = {x=874, y=994, z=7} ZE_spawnFromPosition = {x = 1617, y = 1514, z = 7} ZE_spawnToPosition = {x = 1671, y = 1565, z = 7} -- ITEM IDS ZE_blockEnterItemID = 2700 -- STORAGES -- - player ZE_isOnZombieArea = 34370 -- - global ZE_STATUS = 34370 -- =< 0 - off, 1 - waiting for players, 2 - is running ZE_PLAYERS_NUMBER = 34371 ZE_ZOMBIES_TO_SPAWN = 34372 ZE_ZOMBIES_SPAWNED = 34373 -- FUNCTION function setZombiesEventPlayersLimit(value) doSetStorage(ZE_PLAYERS_NUMBER, value) end function getZombiesEventPlayersLimit() return getStorage(ZE_PLAYERS_NUMBER) end function addPlayerToZombiesArea(cid) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) doTeleportThing(cid, ZE_enterPosition, true) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) if(getPlayerAccess(cid) < ZE_ACCESS_TO_IGNORE_ARENA) then setPlayerZombiesEventStatus(cid, os.time()) end end function kickPlayerFromZombiesArea(cid) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) doTeleportThing(cid, ZE_kickPosition, true) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) setPlayerZombiesEventStatus(cid, 0) end function getPlayerZombiesEventStatus(cid) return getCreatureStorage(cid, ZE_isOnZombieArea) end function setPlayerZombiesEventStatus(cid, value) doCreatureSetStorage(cid, ZE_isOnZombieArea, value) end function getZombiesEventPlayers() local players = {} for i, cid in pairs(getPlayersOnline()) do if(getPlayerZombiesEventStatus(cid) > 0) then table.insert(players, cid) end end return players end function getZombiesCount() return getStorage(ZE_ZOMBIES_SPAWNED) end function addZombiesCount() doSetStorage(ZE_ZOMBIES_SPAWNED, getStorage(ZE_ZOMBIES_SPAWNED)+1) end function resetZombiesCount() doSetStorage(ZE_ZOMBIES_SPAWNED, 0) end function getZombiesToSpawnCount() return getStorage(ZE_ZOMBIES_TO_SPAWN) end function setZombiesToSpawnCount(count) doSetStorage(ZE_ZOMBIES_TO_SPAWN, count) end function addZombiesEventBlockEnterPosition() if(getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID).uid == 0) then doCreateItem(ZE_blockEnterItemID, 1, ZE_blockEnterItemPosition) end end function removeZombiesEventBlockEnterPosition() local item = getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID) if(item.uid ~= 0) then doRemoveItem(item.uid) end end function spawnNewZombie() local posx = {} local posy = {} local posz = {} local pir = {} for i=1, 5 do local posx_tmp = math.random(ZE_spawnFromPosition.x ,ZE_spawnToPosition.x) local posy_tmp = math.random(ZE_spawnFromPosition.y ,ZE_spawnToPosition.y) local posz_tmp = math.random(ZE_spawnFromPosition.z ,ZE_spawnToPosition.z) local pir_tmp = 0 local spec = getSpectators({x=posx_tmp, y=posy_tmp, z=posz_tmp}, 3, 3, false) if(spec and #spec > 0) then for z, pid in pairs(spec) do if(isPlayer(pid)) then pir_tmp = pir_tmp + 1 end end end posx[i] = posx_tmp posy[i] = posy_tmp posz[i] = posz_tmp pir[i] = pir_tmp end local lowest_i = 1 for i=2, 5 do if(pir[i] < pir[lowest_i]) then lowest_i = i end end local ret = (type(doCreateMonster("Zombie Event", {x=posx[lowest_i], y=posy[lowest_i], z=posz[lowest_i]}, false)) == 'number') if(ret) then addZombiesCount() end return ret end /data/movements/scripts/zombie/onenter.lua function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isPlayer(cid)) then return true end if(getPlayerAccess(cid) >= ZE_ACCESS_TO_IGNORE_ARENA) then addPlayerToZombiesArea(cid) elseif(#getZombiesEventPlayers() < getZombiesEventPlayersLimit() and getStorage(ZE_STATUS) == 1) then addPlayerToZombiesArea(cid) local players_on_arena_count = #getZombiesEventPlayers() if(players_on_arena_count == getZombiesEventPlayersLimit()) then addZombiesEventBlockEnterPosition() doSetStorage(ZE_STATUS, 2) doBroadcastMessage("Zombie Arena Event started.") else doBroadcastMessage(getCreatureName(cid) .. " has entered a Zombie Arena. We still need " .. getZombiesEventPlayersLimit() - players_on_arena_count .. " players.") end else doTeleportThing(cid, fromPosition, true) addZombiesEventBlockEnterPosition() end return true end /data/talkactions/scripts/zombie/onsay.lua function onSay(cid, words, param, channel) if(getStorage(ZE_STATUS) ~= 2) then local players_on_arena_count = #getZombiesEventPlayers() if(param == 'force') then if(players_on_arena_count > 0) then setZombiesEventPlayersLimit(players_on_arena_count ) addZombiesEventBlockEnterPosition() doSetStorage(ZE_STATUS, 2) doBroadcastMessage("Zombie Arena Event started.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Zombies event started.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cannot start Zombies event. There is no players on arena.") end else if(param ~= '' and tonumber(param) > 0) then setZombiesEventPlayersLimit(tonumber(param)) end removeZombiesEventBlockEnterPosition() doSetStorage(ZE_STATUS, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Event started.") doPlayerBroadcastMessage(cid, "Zombie Arena Event teleport is opened. We are waiting for " .. getZombiesEventPlayersLimit() - players_on_arena_count .. " players to start.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Zombies event is already running.") end return true end AGR EM XMLS /data/creaturescripts/creaturescripts.xml <event type="think" name="ZombieThink" event="script" value="zombie/onthink.lua"/> <event type="statschange" name="ZombieAttack" event="script" value="zombie/onattack.lua"/> <event type="death" name="ZombieDeath" event="script" value="zombie/ondeath.lua"/> /data/globalevents/globalevents.xml TFS 0.3 <globalevent name="ZombieGlobalThink" interval="5" event="script" value="zombie/onthink.lua"/> <globalevent name="ZombieGlobalStartup" type="start" event="script" value="zombie/onstartup.lua"/> TFS 0.4 <globalevent name="ZombieGlobalThink" interval="5000" event="script" value="zombie/onthink.lua"/> <globalevent name="ZombieGlobalStartup" type="start" event="script" value="zombie/onstartup.lua"/> /data/movements/movements.xml <movevent type="StepIn" actionid="5555" event="script" value="zombie/onenter.lua"/> /data/talkactions/talkactions.xml <talkaction log="yes" words="/zombiestart" access="4" event="script" value="zombie/onsay.lua"/> /data/monster/zombie_event.xml <monster name="Zombie Event" nameDescription="an event zombie" race="undead" experience="480" speed="170" manacost="0"> <health now="20000" max="20000"/> <look type="311" corpse="9875"/> <targetchange interval="5000" chance="50"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="1000" min="-1500" max="-2350"/> </attacks> <defenses armor="0" defense="0"/> <immunities> <immunity paralyze="1"/> <immunity invisible="1"/> <immunity fire="1"/> <immunity energy="1"/> <immunity poison="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="You wont last long!"/> <voice sentence="Mmmmh.. braains!"/> </voices> <script> <event name="ZombieThink"/> <event name="ZombieDeath"/> </script> <loot> </loot> </monster> /data/monster/monsters.xml
Créditos
PhoOwned 99%
Sociopata 1%
Bem é isso por favor antes de postar erros vejam se fizeram os procedimento de modo correto, por que eu uso isso RLs usam e nunca tiveram problema, e tbm so pra lembrar vcs precisam ter a arena tradicional do Zombie Event para garantir o funcionamento em 100% e pelo amor de deus n coloquem em ot com TFS menor que 0.3.
OBRIGADO A TODOS E POR FAVOR COMENTEM
<monster name="Zombie Event" file="zombie_event.xml"/>
-
Laastzn deu reputação a Luquinha em [Resolvido] Pedido (guildshopsystemVocê quer a pagina , eu tenho uma aqui ai é só você alterar as coisas.
-
Laastzn deu reputação a porxmex em shop.lua para tfs 0.4 !Bomm uso tfs, 0.4 FIX---
-
Laastzn deu reputação a Luquinha em Erro compilação tfs 0.4 dev c++faltando a lib crypto++
tente este dev-cpp: DOWNLOAD
ah, e da onde tu arranjou essa source?
-
Laastzn recebeu reputação de hellsserv15 em ERROS NO TFS 0.4 COMPILADOFacil, se tive-se perguntado no SKype tinha te respondido rs.
no config.lua pesquise por worldType
Deve que vai estár assim
worldType = "pvp"
mude para
worldType = "open" !
__
Te ajudei ? REP +
-
Laastzn deu reputação a Renato em [TibiaAPI] Player (Tutorial)Ola Tbnet!
Aqui vou trazer para vocês algumas funções do player, as bem básicas.
Para que possam usar em seus bots!
Lembrando que usarei exemplos com a variável "p"
Dim p As PlayerSe o seu for player As Player, edite todos os p. por player.
p.Mana - se refere á mana do player, você pode usálo em um mana restore com timer e if.
Exemplo em if:
If p.Mana <= TextBox1.Text ThenSe a mana do player for menor ou igual ao texto do TextBox1, então..
p.Health - se refere ao health do player, você pode usárlo em um Heal com timer e if
Exemplo em if:
If p.Health <= TextBox1.Text ThenSe a hp do player for menor ou igual ao texto do TextBox1, então..
p.TargetId - se refere ao target do player, ou seja, o player ou bixo que ele está atacando.
Exemplo em if:
If p.TargetId = 0Se o target do player for igual a 0 (0 é o valor dado quando o player não está atacando ninguém)
If p.Target > 0 Se o target do player for maior que 0 (1 ou mais é o valor dado quando o player está atacando alguém)
p.Walk - se refere á onde o player andar.
Exemplo em ação:
p.Walk(Direction.Down) Player mova para baixo.
p.Walk(Direction.Up) Player mova para cima.
p.Walk(Direction.Left) Player mova para esquerda.
p.Walk(Direction.Right) Player mova para direita.
//usando em um botão por exemplo no event click, ao clicar no botão o player irá andar um sqm para a direção definida.
p.Turn - se refere para onde o player está virado.
Exemplo em ação:
p.Turn(Direction.Down) Player vire para baixo.
//não tem segredo, é igual o Walk só que aqui ele vai virar e não dar.
p.BlackSquare - se refere ao ataque contra você [o quadrado preto]
Exemplo em if:
If p.BlackSquare = 1 Then Se o 'blacksquare' for igual a 1 então.. (1 é quando alguém atacou você, seja player ou monstro)
If p.BlackSquare = 0 Then Se o blacksquare for igual a 0 então... (0 é quando ninguém está te atacando, seja player ou monstro)
p.Capacity - se refere ao 'cap' do personagel
Exemplo em if:
If p.Capacity <= TextBox1.Text Se o cap do player foi menor ou igual ao texto do textbox1 então..
// da pra fazer um alert usando Process.Start("C:\...\tibiabotsnet.wav") ou My.Computer.Audio.Play(Application.StartupPath & "\tibiabotsnet.wav")
• Skill
Valor bruto:
p.Level - Se refere ao level do player.
p.Stamina - Se refere á stamina do player.
p.Axe - Se refere ao axe skill do player.
p.Club - Se refere ao club skill do player.
p.Sword - Se refere ao sword skill do player.
p.MagicLevel - Se refere ao magic level skill do player.
p.Fist - Se refere ao fist skill do player.
p.Fishing - Se refere ao fishing skill do player
p.Shielding - Se refere ao shielding skill do player
Valor porcentagem:
p.LevelPercent - Se refere á valor da porcentagem do level.
p.AxePercent - Se refere á valor da porcentagem do axe fighting.
p.ClubPercent - Se refere á valor da porcentagem do club fighting
p.SwordPercent - Se refere á valor da porcentagem do sword fighting.
p.MagicLevelPercent - Se refere á valor da porcentagem do magic level.
p.FistPercent - Se refere á valor da porcentagem do fist fighting.
p.FishingPercent - Se refere á valor da porcentagem do fishing.
p.ShieldingPercent - Se refere á valor da porcentagem do shielding.
//com isto da pra você simular o skill do player no bot, parecido com o FerumbrasBot.
• Posições.
p.Location - Se refere á localização do personagem.
Valores:
p.Location.X - Se refere á localização X do personagem (x é a coordenada horizontal)
p.Location.Y - Se refere á localização Y do personagem (y é a coordenada vertical)
p.Location.Z - Se refere á localização Z do personagem (z é o floor, "andar")
//da pra criar um tipo de "verificar coordenadas" no seu bot, em tempo real usando timer (Label1.Text = p.Location.X & p.Location.Y & p.Location.Z) e no load do form (Timer1.Start())
• Set Outfit
Cores:
p.HeadColor - Se refere á cor do cabelo.
p.BodyColor - Se refere á cor da camisa.
p.LegsColor - se refere á cor da calça.
p.FeetColor - Se refere á cor do 'tenis'.
//da pra mudar a cor usando este exemplo em uma ação: p.HeadColor = Tibia.Constants.OutfitColor.Black
Outfit:
p.OutfitType - Se refere ao type do outfit do player.
//da pra mudar o outfit usando este exemplo em uma ação: p.OutfitType = OutfitType.AssassinMale ou p.OutfitType = OutfitType.Demon
Addon:
p.Addon - Se refere ao addon do player.
//da pra trocar o addon usando este exemplo em uma ação: p.Addon = OutfitAddon.Addon1 ou p.Addon = OutfitAddon.Addon2 ou p.Addon = OutfitAddon.Both
• Executando uma Ação
Is:
p.IsAttacking() - o player está full attack.
p.IsBlocking - o player está full block.
p.IsReachable() - se o player está na tela.
p.IsSelf() - não sei oque é.
p.IsVisible - se o player está visível.
p.IsWalking - se o player está andando.
Por enquanto é isso!
-
Laastzn deu reputação a yurinho190 em [DUVIDAS] Criações !mano attacker tem sim aki no fórum, pode procurar! e o sistema de Norte Sul Leste Oeste é vc add um domainupdown com esses textos, 2 labels com texto inicial 0 e coloca um timer pra quando o texto selecionado for "Sul" o texto da label se alterar pra 1 e caso "Norte" pra -1 e coloca no botão de Add waypoint: loc.Y = p.Location.Y + Label1.Text
o resto vc descobre, aliás ja q te ajudei, me da +rep
sobre a foto:
No form que aparece essa mensagem provavelmente estpa escrito assim:
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
c = ClientChooser.ShowBox()
p = c.GetPlayer()
é só apagar q a mensagem vai parar de aparecer.
só to te ajudando pq eu comecei igual vc e a galera aqui é muito gente boa e me ajudou muito, principalmente o Kimoszin e o Augusto.