Ir para conteúdo

ViitinG

Membro
  • Registro em

  • Última visita

Tudo que ViitinG postou

  1. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Seja mais especifico no que você quer para eu poder te ajudar brother,não entendi muito bem o seu pedido..
  2. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Cara como eu falei,isso é a forma de criptografia usada pelo Account Manager e pelo seu site,geralmente os Account Manager vem em plain e o site em sha1 no caso você teria que arrumar o site para poder arrumar isso,sem o site fica dificil te ajudar.
  3. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Se cada montaria precisar de um item,precisa ser diferente.
  4. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Troque o script por este : function onUse(cid, item, fromPosition, itemEx, toPosition) local effect = 30 -- efeito ao usar o item. local storage = 34530 if(getPlayerStorageValue(cid, 34530) > 0) then doPlayerSendTextMessage(cid, 25, "Received a mount.") return TRUE end doPlayerAddMount(cid, 37) -- Aqui é o ID da montaria. doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 25, "You receive a new mount.") doSendMagicEffect(getPlayerPosition(cid), effect) return TRUE end Ajudei = REP+
  5. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Tem como sim só procurar um topico que fale sobre isso,mas na maioria das vezes Account Manager e site juntos dão MUITO problema.
  6. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    É exatamente oque estou falando brother,se o player criar a conta e o character pelo Account Manager do 1/1 ele conseguirá logar porque ele ja criou a conta e o character junto mas se ele tentar criar um character com o Account Manager dentro da conta não vai conseguir pois o servidor é Mysql !!
  7. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Brother é bem provavel que aconteça esse tipo de bug então,seu servidor é mysql e os players estão criando a conta pelo Account Manager... Ja que não tem site mude o servidor para Sqlite e veja se arruma !
  8. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Os players estão criando conta pelo Account Manager ou pelo site ?
  9. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Seu server é sqlite ou mysql brother ??
  10. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Tenta mudar o server para "sha1".
  11. Ter tem cara mas eu não to em casa agora para puder mecher nisso. Mas é só adicionar em globalevents..
  12. Sim basta você configurar como eu mandei acima as posições de onde os 2 times irão ser teleportados.
  13. Como diz acima é a posição onde os players irão entrar no tp. Cada time tem seu lugar de ser teleportado você pode alterar aqui : TeamOne = {name = "Black Assassins", storage = 140120, pos = {x=613,y=802,z=7}}, TeamTwo = {name = "Red Barbarians",storage = 140121,pos = {x=631,y=801,z=7}},
  14. Brother eu ensinei tudo acima é só você seguir todos os passos certinho que irá funcionar perfeitamente !!
  15. Eu uso o mapa feito pelo AnneMotta : http://www.tibiaking.com/forum/index.php?app=core&module=attach&section=attach&attach_id=1975
  16. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Veja se esse tutorial do Kimoszin te ajuda : http://www.tibiaking.com/forum/topic/13639-criando-site-para-seu-ot-server-com-vertrigo/
  17. Parece ser bem legal párabens. Tente formatar melhor seu topico,não use letras muito grandes e nem muita variação de cores !! (dica por ser seu primeiro topico) obs : faltou o download do servidor !!
  18. Lembre-se: - De colocar Pvp Tool na área - De colocar área NoLogout Data/Lib/BattleLib.lua : _Lib_Battle_Info = { Reward = {2160,10}, TeamOne = {name = "Black Assassins", storage = 140120, pos = {x=613,y=802,z=7}}, TeamTwo = {name = "Red Barbarians",storage = 140121,pos = {x=631,y=801,z=7}}, storage_count = 180400, tpPos = {x=158, y=57, z=7}, limit_Time = 10 -- em minutos } function resetBattle() return setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, 0) and setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, 0) end function OpenWallBattle() local B = { {1543,{x=622, y=803, z=7, stackpos = 1}}, {1543,{x=622, y=804, z=7, stackpos = 1}}, {1543,{x=622, y=805, z=7, stackpos = 1}}, {1543,{x=622, y=806, z=7, stackpos = 1}} } for i = 1, #B do if getTileItemById(B[i][2], B[i][1]).uid == 0 then doCreateItem(B[i][1], 1, B[i][2]) else doRemoveItem(getThingfromPos(B[i][2]).uid,1) end end end function doBroadCastBattle(type,msg) local players = {} for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) == 1 or getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) == 1 then table.insert(players, cid) end end for i = 1, #players do doPlayerSendTextMessage(players[i],type,msg) end end function removeBattleTp() local t = getTileItemById(_Lib_Battle_Info.tpPos, 1387).uid return t > 0 and doRemoveItem(t) and doSendMagicEffect(_Lib_Battle_Info.tpPos, CONST_ME_POFF) end function getWinnersBattle(storage) local players,str = {},"" for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, storage) == 1 then table.insert(players, cid) end end str = str .. ""..#players.." Player"..(#players > 1 and "s" or "").." from team "..(getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) == 0 and _Lib_Battle_Info.TeamTwo.name or _Lib_Battle_Info.TeamOne.name).." won the event battlefield, they received a ".._Lib_Battle_Info.Reward[2].." "..getItemNameById(_Lib_Battle_Info.Reward[1]).."!" for i = 1, #players do doPlayerAddItem(players[i], _Lib_Battle_Info.Reward[1], _Lib_Battle_Info.Reward[2]) doRemoveCondition(players[i], CONDITION_OUTFIT) doTeleportThing(players[i], getTownTemplePosition(getPlayerTown(players[i]))) setPlayerStorageValue(players[i], storage, -1) end resetBattle() OpenWallBattle() return doBroadcastMessage(str) end function CheckEvent(delay) if delay > 0 and getGlobalStorageValue(_Lib_Battle_Info.storage_count) > 0 then doBroadcastMessage("[BattleField Event] We are waiting "..getGlobalStorageValue(_Lib_Battle_Info.storage_count).." players to Battlefield starts") elseif delay == 0 and getGlobalStorageValue(_Lib_Battle_Info.storage_count) > 0 then local players = {} for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) == 1 or getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) == 1 then table.insert(players, cid) end end for i = 1, #players do doRemoveCondition(players[i], CONDITION_OUTFIT) doTeleportThing(players[i], getTownTemplePosition(getPlayerTown(players[i]))) setPlayerStorageValue(players[i], getPlayerStorageValue(players[i], _Lib_Battle_Info.TeamOne.storage) == 1 and _Lib_Battle_Info.TeamOne.storage or _Lib_Battle_Info.TeamTwo.storage, -1) end doBroadcastMessage("The event cannot be started because not had enough players.") setGlobalStorageValue(_Lib_Battle_Info.storage_count, 0) resetBattle() removeBattleTp() end addEvent(CheckEvent, 60000, delay-1) end Data/CreatureScript/BattleCreatureScript.lua : function onLogin(cid) if getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) == -1 then setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, 0) setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, 0) setGlobalStorageValue(_Lib_Battle_Info.storage_count, 0) end registerCreatureEvent(cid, "BattleTeam") registerCreatureEvent(cid, "BattleDeath") return true end function onCombat(cid, target) if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) == 1 and getPlayerStorageValue(target, _Lib_Battle_Info.TeamOne.storage) == 1 then doPlayerSendCancel(cid, "You may not attack your team mates.") return false end if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) == 1 and getPlayerStorageValue(target, _Lib_Battle_Info.TeamTwo.storage) == 1 then doPlayerSendCancel(cid, "You may not attack your team mates.") return false end return true end return true end function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller) if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) >= 1 then setPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage, -1) setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage)-1) doRemoveCondition(cid, CONDITION_OUTFIT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Battle Field] You Are Dead!") if getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) == 0 then getWinnersBattle(_Lib_Battle_Info.TeamTwo.storage) else doBroadCastBattle(23,"[BattleField Information] ".._Lib_Battle_Info.TeamOne.name.." "..getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage).." VS "..getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage).." " .._Lib_Battle_Info.TeamTwo.name) end elseif getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) >= 1 then setPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage, -1) setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage)-1) doRemoveCondition(cid, CONDITION_OUTFIT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Battle Field] You Are Dead!") if getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage) == 0 then getWinnersBattle(_Lib_Battle_Info.TeamOne.storage) else doBroadCastBattle(23,"[BattleField Information] ".._Lib_Battle_Info.TeamOne.name.." "..getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage).." VS "..getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage).." " .._Lib_Battle_Info.TeamTwo.name) end end return true end creaturescript.xml : <event type="login" name="BattleLogin" event="script" value="BattleCreatureScript.lua"/> <event type="PrepareDeath" name="BattleDeath" event="script" value="BattleCreatureScript.lua"/> <event type="combat" name="BattleTeam" event="script" value="BattleCreatureScript.lua"/> Data/Globalevents/BattleGlobalEvents.lua : function onThink(interval, lastExecution) local _Lib_Battle_Days = { ["Monday"] = { ["16:00"] = {players = 30}, ["21:30"] = {players = 20} }, ["Tuesday"] = { ["17:02"] = {players = 8} }, ["Thursday"] = { ["11:26"] = {players = 4}, ["20:30"] = {players = 10} } } if _Lib_Battle_Days[os.date("%A")] then local hours = tostring(os.date("%X")):sub(1, 5) local tb = _Lib_Battle_Days[os.date("%A")][hours] if tb and (tb.players % 2 == 0) then local tp = doCreateItem(1387, 1, _Lib_Battle_Info.tpPos) doItemSetAttribute(tp, "aid", 45000) CheckEvent(_Lib_Battle_Info.limit_Time) doBroadcastMessage("The event BattleField was opened and We are waiting "..tb.players.." Players! Team divided into "..((tb.players)/2).." VS "..((tb.players)/2)) setGlobalStorageValue(_Lib_Battle_Info.storage_count, tb.players) return true end end return true end Data/Movements/BattleMovements.lua : local conditionBlack = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionBlack, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionBlack, {lookType = 134, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114}) local conditionRed = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionRed, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionRed, {lookType = 143, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94}) function onStepIn(cid, item, position, fromPosition) if getPlayerAccess(cid) > 3 then doTeleportThing(cid, _Lib_Battle_Info.TeamOne.pos) return false elseif getGlobalStorageValue(_Lib_Battle_Info.storage_count) > 0 then setGlobalStorageValue(_Lib_Battle_Info.storage_count, getGlobalStorageValue(_Lib_Battle_Info.storage_count)-1) end if getGlobalStorageValue(_Lib_Battle_Info.storage_count) >= 0 then if getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) < getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage) then setPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage, 1) doAddCondition(cid, conditionBlack) setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage)+1) doTeleportThing(cid, _Lib_Battle_Info.TeamOne.pos) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You will join the team " .. _Lib_Battle_Info.TeamOne.name .. "!") else setPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage, 1) doAddCondition(cid, conditionRed) setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage)+1) doTeleportThing(cid, _Lib_Battle_Info.TeamTwo.pos) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You will join the team " .. _Lib_Battle_Info.TeamTwo.name .. "!") end end if getGlobalStorageValue(_Lib_Battle_Info.storage_count) == 0 then removeBattleTp() doBroadcastMessage("Battlefield will start in 2 minutes, please create your strategy!") addEvent(doBroadcastMessage, 2*60*1000-500, "BattleField will begin now!") addEvent(OpenWallBattle, 2*60*1000) end return true end Como configurar: Configuração dos Times: Configurar Datas do evento: Configuração Paredes: Creditos : 100% Vodkart Para botar o mapa Battlefield no servidor abra o mapa do BF no RME copie completamente a area,copie e aperte "file/new" abra o seu mapa e cole na area que você desejar.
  19. Muda a posição do Account Manager no config.lua,libera as portas 7171 - 7172 no modem e no firewall e tenta passar o IP em numeros para seus amigos.
  20. ViitinG postou uma resposta no tópico em Suporte Tibia OTServer
    Tente este : Vá até "data/creaturescript/scripts", copie um arquivo lua e renomeie para "antiacc.lua" e coloca isso: local config = { max = 1, -- número de Account Manager permitido para logar de uma só vez group_id = "Account Manager" -- kikar apenas player com o group id 1 } local accepted_ip_list = {} -- lista dos players permitidos a usar MC, exemplo: {"200.85.3.60", "201.36.5.222"} local function antiMC(p) if (#getPlayersByIp(getPlayerIp(p.pid)) >= p.max) then doRemoveCreature(p.pid) end return true end function onLogin(cid) if getPlayerName(cid) == config.group_id then if isInArray(accepted_ip_list,doConvertIntegerToIp(getPlayerIp(cid))) == false then addEvent(antiMC, 1000, {pid = cid, max = config.max+1}) end end return true end Após isso em "creaturescript.xml" adicione essa tag: <event type="login" name="antiacc" event="script" value="antiacc.lua"/> Ajudei = REP + #Créditos: luuuck por postar no TK. eickhoff luuuck
  21. Putz verdade,erro meu e nem percebi...
  22. Eu não mandei botar o nome policial.xml,tem que deixar o nome guard.xml brother.
  23. Tente esse para o Policial : Em "data/npc/lib", crie um arquivo chamado "guard.lua" e adicione o conteúdo abaixo: Guard = { config = { attackspeed = 1000, }, combat = {type = COMBAT_PHYSICALDAMAGE, min = 100, max = 200} } function Guard:new() local ret = {} setmetatable({}, {__index = self.combat}) setmetatable(ret, {__index = self}) return ret end function Guard:reset() self.config = Guard.config self.target = 0 selfFollow(0) doTeleportThing(self.id, self.position) end function Guard:updateTarget() if self.target ~= 0 then return end local creatures = getSpectators(getThingPosition(self.id), self.range, self.range, false) for i = 1, #creatures do local target = creatures[i] if isCreature(target) and not isNpc(target) and getCreatureSkull(target) >= 3 then if not getTilePzInfo(getThingPosition(target)) then if selfFollow(target) then selfSay("I don't tolerate people like you, ".. getCreatureName(target)) self.target = target self:attack() break end end else self:reset() end end end function Guard:attack() if self.target == 0 then self:reset() return end self.time = self.time or os.clock() if self.time < os.clock() then if getDistanceBetween(getThingPosition(self.id), getThingPosition(self.target)) == 1 then doTargetCombatHealth(self.id, self.target, self.combat.type, -self.combat.min, -self.combat.max, CONST_ME_DRAWBLOOD) end self.time = self.time + (self.config.attackspeed/1000) end end Agora em "data/npc/scripts", crie um arquivo chamado "guard.lua" e adicione o conteúdo abaixo: local guard = Guard:new() function onCreatureAppear(cid) if cid == getNpcId() then guard.id = getNpcId() guard.target = 0 guard.position = getNpcPos() end end function onCreatureDisappear(cid) if cid == guard.target then guard:reset() end end function onCreatureSay(cid, type, msg) return false end function onThink() guard:updateTarget() if guard.target ~= 0 then if isCreature(guard.target) then guard:attack() else guard:reset() end else guard:reset() end end E em "data/npc/" crie um arquivo chamado "guard.xml" e adicione o conteúdo abaixo: <?xml version="1.0" encoding="UTF-8"?> <npc name="Policial" script="guard.lua" walkinterval="0" speed="200" floorchange="0"> <health now="100" max="100"/> <look type="134" head="57" body="59" legs="40" feet="76" addons="0"/> <parameters/> </npc> Ajudei = REP +

Informação Importante

Confirmação de Termo