Jump to content
Close

ZORAN

Member
  • Content Count

    214
  • Joined

  • Last visited

4 Followers

About ZORAN

  • Rank
    APRENDIZ DE DESIGNERS
  • Birthday 06/04/1996

Profile Information

  • Gender
    Masculino
  • Localization
    Cariacica (Brasil,Espirito Santo)
  • I am
    OT-Admin
  • My character
    Rei-Da-Paz
  • Favorite OTServ
    POKÉMON ALPHA
  • Bot preferred
    Sem Sucesso.
  • Interests
    Aprender Sobre OTServ e Poketibia melhorar como mapper e inicializar meu projeto de POketibia.

Recent Profile Visitors

2034 profile views
  1. Olá amigos, estou retornando a ajustar um serve que possuo e quero posta-lo quando eu terminar parte dele ou todo, mais provável parte. Eu estou com um erro que não pude corrigir então venho pedir a ajuda de vocês para ajustar este erro. Erro: Ao capturar um pokemon, a pokeball e enviada para o depot com o pokemon morto, depois torna a pokebola impossível de se mover, impossibilitando o uso da mesma. Aqui esta o script do Catch.lua // Pasta actions local ballcatch = { [2394] = {cr = 3, on = 24, off = 23, ball = 11826, send = 47, typeee = "normal"}, [2391] = {cr = 6, on = 198, off = 197, ball = 11832, send = 48, typeee = "great"}, [2393] = {cr = 10, on = 202, off = 201, ball = 11835, send = 46, typeee = "super"}, [2392] = {cr = 15, on = 200, off = 199, ball = 11829, send = 49, typeee = "ultra"}, } function onUse(cid, item, frompos, item3, topos) local item2 = getTopCorpse(topos) if item2 == null then return true end if getItemAttribute(item2.uid, "catching") == 1 then return true end local name = string.lower(getItemNameById(item2.itemid)) name = string.gsub(name, "fainted ", "") name = string.gsub(name, "defeated ", "") local x = pokecatches[doCorrectPokemonName(name)] -------------------------------------------------------------------------------- local storage = newpokedex[doCorrectPokemonName(name)].stoCatch --edited brokes count system if getPlayerStorageValue(cid, storage) == -1 then setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0") end -------------------------------------------------------------------------------- if not x then return true end local owner = getItemAttribute(item2.uid, "corpseowner") if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then --alterado v1.5 doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.") return true end ----------------------------------------------------- newidd = ballcatch[item.itemid].ball typeee = ballcatch[item.itemid].typeee ----------------------------------------------------- local catchinfo = {} catchinfo.rate = ballcatch[item.itemid].cr catchinfo.catch = ballcatch[item.itemid].on catchinfo.fail = ballcatch[item.itemid].off catchinfo.newid = newidd catchinfo.name = doCorrectPokemonName(name) catchinfo.topos = topos catchinfo.chance = x.chance doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send) doRemoveItem(item.uid, 1) local d = getDistanceBetween(getThingPos(cid), topos) addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) --edited brokes count system addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3) return true end Aqui esta o Catch System.lua // Pasta lib failmsgs = { "Sorry, you didn't catch that pokemon.", "Sorry, your pokeball broke.", "Sorry, the pokemon escaped.", } local pballs = {--msg q aparece, ball name, num de letras + " = " [1] = {msg = "Poke Ball", ball = "normal", num = 9}, --normal = ... 9 letras [2] = {msg = "Great Ball", ball = "great", num = 8}, --great = ... 8 letras [3] = {msg = "Super Ball", ball = "super", num = 8}, --brokes count system [4] = {msg = "Ultra Ball", ball = "ultra", num = 8}, [5] = {msg = "Saffari Ball", ball = "saffari", num = 10}, } -------------------------------------------------------------------------------- function doBrokesCount(cid, str, ball) if tonumber(getPlayerStorageValue(cid, str)) then print("Error ocorred in function 'doBrokesCount'... storage "..str.." is a number value") print("Storage will be changed to the correct table...") doPlayerSendTextMessage(cid, 27, "A error ocorred... Warning sent to Game Masters!") setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0") return true end local s = string.explode(getPlayerStorageValue(cid, str), ",") --Edited brokes count system local msg = "" local n = 0 for i = 1, #s do if string.find(tostring(s[i]), ball) then local d, e = s[i]:find(""..pballs[i].ball.." = (.-)") local st2 = string.sub(s[i], d + pballs[i].num, e +5) local num = tonumber(st2)+1 if num == 0 and ball == pballs[i].ball then num = 1 end if i == #s then msg = msg..""..ball.." = "..num n = n +1 else msg = msg..""..ball.." = "..num..", " n = n +1 end else if i == #s then msg = msg..s[i] else msg = msg..s[i]..", " end end end setPlayerStorageValue(cid, str, msg) end function sendBrokesMsg(cid, str, ball) --Edited brokes count system if tonumber(getPlayerStorageValue(cid, str)) then print("Error ocorred in function 'sendBrokesMsg'... storage "..str.." is a number value") print("Storage will be changed to the correct table...") doPlayerSendTextMessage(cid, 27, "A error ocorred... warning sent to game masters!") setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0") return true end local t = string.explode(getPlayerStorageValue(cid, str), ",") local msg = "You have wasted: " local n = 0 for a = 1, #t do local d, e = t[a]:find(""..pballs[a].ball.." = (.-)") local st2 = string.sub(t[a], d + pballs[a].num, e +5) if tonumber(st2) == 0 and pballs[a].ball == ball then st2 = 1 end if tonumber(st2) ~= 0 then if n ~= 0 and a ~= #t then msg = msg..", " end if tonumber(st2) ~= 1 then msg = msg..st2.." "..pballs[a].msg.."s" n = n +1 else msg = msg..st2.." "..pballs[a].msg n = n +1 end end end msg = msg.." to catch it." doPlayerSendTextMessage(cid, 27, msg) end -------------------------------------------------------------------------------- function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) --Edited brokes count system local name = catchinfo.name local pos = catchinfo.topos local topos = {} topos.x = pos.x topos.y = pos.y topos.z = pos.z local newid = catchinfo.newid local catch = catchinfo.catch local fail = catchinfo.fail local rate = catchinfo.rate local basechance = catchinfo.chance local corpse = getTopCorpse(topos).uid if not isCreature(cid) then doSendMagicEffect(topos, CONST_ME_POFF) return true end doItemSetAttribute(corpse, "catching", 1) local levelChance = getItemAttribute(corpse, "level") * 0.02 local totalChance = math.ceil(basechance * (1.2 + levelChance)) local thisChance = math.random(0, totalChance) local myChance = math.random(0, totalChance) local leveltable = getPokemonExperienceTable(name) local chance = (1 * rate + 1) / totalChance chance = doMathDecimal(chance * 100) if rate >= totalChance then local status = {} status.clevel = tonumber(getItemAttribute(corpse, "level")) local clevel = status.clevel status.cexp = leveltable[clevel] local cexp = status.cexp status.cnext = leveltable[clevel+1] - cexp status.coffense = getItemAttribute(corpse, "offense") status.cdefense = getItemAttribute(corpse, "defense") status.cspeed = getItemAttribute(corpse, "speed") status.cvitality = getItemAttribute(corpse, "vitality") status.cspatk = getItemAttribute(corpse, "spattack") status.gender = getItemAttribute(corpse, "gender") status.happy = 160 doRemoveItem(corpse, 1) doSendMagicEffect(topos, catch) addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee) --Edited brokes count system return true end if totalChance <= 1 then totalChance = 1 end local myChances = {} local catchChances = {} for cC = 0, totalChance do table.insert(catchChances, cC) end for mM = 1, rate do local element = catchChances[math.random(1, #catchChances)] table.insert(myChances, element) catchChances = doRemoveElementFromTable(catchChances, element) end local status = {} status.clevel = tonumber(getItemAttribute(corpse, "level")) local clevel = status.clevel status.cexp = leveltable[clevel] local cexp = status.cexp status.cnext = leveltable[clevel+1] - cexp status.coffense = getItemAttribute(corpse, "offense") status.cdefense = getItemAttribute(corpse, "defense") status.cspeed = getItemAttribute(corpse, "speed") status.cvitality = getItemAttribute(corpse, "vitality") status.cspatk = getItemAttribute(corpse, "spattack") status.gender = getItemAttribute(corpse, "gender") status.happy = 70 doRemoveItem(corpse, 1) local doCatch = false for check = 1, #myChances do if thisChance == myChances[check] then doCatch = true end end if doCatch then doSendMagicEffect(topos, catch) addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee) --Edited brokes count system else addEvent(doNotCapturePokemon, 4000, cid, name, typeee) --Edited brokes count system doSendMagicEffect(topos, fail) end end function doCapturePokemon(cid, poke, ballid, status, typeee) --Edited brokes count system if not isCreature(cid) then return true end local list = getCatchList(cid) if not isInArray(list, poke) and not isShinyName(poke) then --Edited catch system doPlayerAddSoul(cid, 1) end doAddPokemonInOwnList(cid, poke) doAddPokemonInCatchList(cid, poke) if not tonumber(getPlayerStorageValue(cid, 54843)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, 54843, 1) end if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then setPlayerStorageValue(cid, 54843, 1) else setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1) end local description = "Contains a "..poke.."." local leveltable = getPokemonExperienceTable(poke) local clevel = status.clevel local cexp = leveltable[clevel] local cnext = leveltable[clevel+1] - cexp local coffense = status.coffense local cdefense = status.cdefense local cspeed = status.cspeed local cvitality = status.cvitality local cspatk = status.cspatk local gender = status.gender local happy = 200 --alterado v2.6 if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then --edited proteçao item = doCreateItemEx(ballid) else item = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, ballid, 1) end doItemSetAttribute(item, "poke", poke) doItemSetAttribute(item, "hp", 1) doItemSetAttribute(item, "offense", coffense) doItemSetAttribute(item, "level", clevel) doItemSetAttribute(item, "exp", cexp) doItemSetAttribute(item, "nextlevelexp", cnext) doItemSetAttribute(item, "defense", cdefense) doItemSetAttribute(item, "speed", cspeed) doItemSetAttribute(item, "vitality", cvitality) doItemSetAttribute(item, "specialattack", cspatk) doItemSetAttribute(item, "happy", happy) doItemSetAttribute(item, "gender", gender) doItemSetAttribute(item, "fakedesc", description) doItemSetAttribute(item, "description", description) if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then --edited passiva hitmonchan doItemSetAttribute(item, "hands", 0) end local storage = newpokedex[poke].stoCatch --alterado v2.6 if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then --edited proteçao doPlayerSendMailByName(getCreatureName(cid), item, 1) doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..", level "..clevel..")!") doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.") -------------------------------------------------------------------------------- sendBrokesMsg(cid, storage, typeee) --Edited brokes count system setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0") else doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a "..poke.." (level "..clevel..")!") -------------------------------------------------------------------------------- sendBrokesMsg(cid, storage, typeee) --edited brokes count system setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0") end if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 178) if catchMakesPokemonHappier then setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + math.floor(clevel / 2)) end else doSendMagicEffect(getThingPos(cid), 178) end doIncreaseStatistics(poke, true, true) end function doNotCapturePokemon(cid, poke, typeee) --Edited brokes count system if not isCreature(cid) then return true end if not tonumber(getPlayerStorageValue(cid, 54843)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, 54843, 1) end if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then setPlayerStorageValue(cid, 54843, 1) else setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1) end doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)]) if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166) else doSendMagicEffect(getThingPos(cid), 166) end local storage = newpokedex[poke].stoCatch -------------------------------------------------------------------------------- doBrokesCount(cid, storage, typeee) --edited brokes count system -------------------------------------------------------------------------------- doIncreaseStatistics(poke, true, false) end function getPlayerInfoAboutPokemon(cid, poke) local a = newpokedex[poke] if not isPlayer(cid) then return false end if not a then print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.") return false end local b = getPlayerStorageValue(cid, a.storage) if b == -1 then setPlayerStorageValue(cid, a.storage, poke..":") end local ret = {} if string.find(b, "catch,") then ret.catch = true else ret.catch = false end if string.find(b, "dex,") then ret.dex = true else ret.dex = false end if string.find(b, "use,") then ret.use = true else ret.use = false end return ret end function doAddPokemonInOwnList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).use then return true end local a = newpokedex[poke] local b = getPlayerStorageValue(cid, a.storage) setPlayerStorageValue(cid, a.storage, b.." use,") end function isPokemonInOwnList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).use then return true end return false end function doAddPokemonInCatchList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).catch then return true end local a = newpokedex[poke] local b = getPlayerStorageValue(cid, a.storage) setPlayerStorageValue(cid, a.storage, b.." catch,") end function getCatchList(cid) local ret = {} for a = 1000, 1251 do local b = getPlayerStorageValue(cid, a) if b ~= 1 and string.find(b, "catch,") then table.insert(ret, oldpokedex[a-1000][1]) end end return ret end function getStatistics(pokemon, tries, success) local ret1 = 0 local ret2 = 0 local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30)).."" local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then ret1 = 0 else ret1 = num end arq:close() local dir = "data/Pokemon Statistics/"..poke.." Catches.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then ret2 = 0 else ret2 = num end arq:close() if tries == true and success == true then return ret1, ret2 elseif tries == true then return ret1 else return ret2 end end function doIncreaseStatistics(pokemon, tries, success) local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30)).."" if tries == true then local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then num = 1 else num = num + 1 end arq:close() local arq = io.open(dir, "w") arq:write(""..num.."") arq:close() end if success == true then local dir = "data/Pokemon Statistics/"..poke.." Catches.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then num = 1 else num = num + 1 end arq:close() local arq = io.open(dir, "w") arq:write(""..num.."") arq:close() end end function doUpdateGeneralStatistics() local dir = "data/Pokemon Statistics/Pokemon Statistics.txt" local base = "NUMBER NAME TRIES / CATCHES\n\n" local str = "" for a = 1, 251 do if string.len(oldpokedex[a][1]) <= 7 then str = "\t" else str = "" end local number1 = getStatistics(oldpokedex[a][1], true, false) local number2 = getStatistics(oldpokedex[a][1], false, true) base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n" end local arq = io.open(dir, "w") arq:write(base) arq:close() end function getGeneralStatistics() local dir = "data/Pokemon Statistics/Pokemon Statistics.txt" local base = "Number/Name/Tries/Catches\n\n" local str = "" for a = 1, 251 do local number1 = getStatistics(oldpokedex[a][1], true, false) local number2 = getStatistics(oldpokedex[a][1], false, true) base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].." "..str..""..number1.." / "..number2.."\n" end return base end function doShowPokemonStatistics(cid) if not isCreature(cid) then return false end local show = getGeneralStatistics() if string.len(show) > 8192 then print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.") doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.") return false end doShowTextDialog(cid, math.random(2391, 2394), show) end Não usei Spoiler para não ter bug e etc... Caso precise de outro arquivo ou script e só pedir, agradeço a ajuda desde já! Um grande abraço e fiquem com Deus!
  2. Certo, Obrigado pela sua ajuda, depois adiciono ao tópico, mas não ouve necessidade comigo, mas por via das duvida!. Obrigado por sua contribuição. ----------------------------///------------------------------------- Não faz parte do tópico mas pude perceber pelo seu perfil que você e programmer, então se você puder me ajudar com um server que possuo com source, estou precisando de um código de Nick namer para o pokemon, exemplo já tem no serve o script e npc, mas não possui no distro as instruções então não a como o nome do pokemon ficar igual ao apelido adicionado pelo player. Se puder me ajudar, talvez eu retorne ao fórum no fim de semana. --------------------------------///--------------------------------- Obrigado valeu mesmo, vou testar e volto com o resultado. Um grande abraço e fique com Deus! Desculpe, não pude estar presente ao fórum anteriormente para responder, mas obrigado. Obrigado! Obrigado, fico feliz em poder ajudar! ////////////////////////////////////////////////////////////////////////////////////////////// Um grande abraço e fiquem com Deus!
  3. Ideia promissora, mas deve-se pensar no usuário inicial e também deve-se analisar o ponto que no caso não seria uma forma de deixar o phpmyadmin, mas sim uma forma de facilitar o usuário sem prévio conhecimento, seria e indispensável a usabilidade do phpmyadmin pelo simples fato da suas funções de trabalho com SQL, a não ser que usássemos outros programas para a substituição do mesmo como o Navicat por exemplo, espero que meu ponto de vista seja previamente analisado e não seja levando como um ponto negativo, mas um ponto positivo de novas perspectivas de produção. Caso necessite de ajuda estou disposto a ajudar e apoio o projeto. Desejo sucesso e felicidades. Um grande abraço e fique com Deus! Basicamente não mudaria muito em questão aos websites, seria mais como já citado apenas uma pasta de acesso a mais. Seu ponto de vistão também parece esclarecer outras formas de visão para a comunidade. Obrigado por sua opinião será de grande valor! Atenciosamente, ZORAN
  4. Amigo para você editar suas Noticias você deve ir ate a tabela Account ou Players e procurar sua conta de Admin ou qualquer outra conta que queira e depois clicar em editar e procurar por Algo como Page acess ou Admin Acess e mudar o valor que estiver ou adicionar o valor 5 , depois basta entrar no seu site com a conta que você adicionou o privilegio 5 e você vai ver no canto ou no final do menu lateral um novo elemento chamado Painel do Admin, Basta clicar lá e editar tudo pela interface do próprio site. Se ajude fico feliz em ser útil. Duvidas,comentários, e outros estou a disposição! Um grande abraço e fique com Deus! Atenciosamente, ZORAN
  5. Olá Amigos do TibiaKing! Faz um bom tempo que não apareço por aqui, mas enfim vamos ao tutorial, um amigo chamado DkHenzo (espero que não se importe em colocar seu nome ) Bem vamos agora ao tutorial, devido a algumas pessoas terem erros em servidores de Poketibia, não sei se Tibia possui, eu resolvi fazer esse tutorial para ajudar o amigo citado acima e pensei "porque não ajudar mais pessoas também!", este e o principal motivo deste tutorial ajudar quem precise. O erro e o ( EVENT.WALK ) ele e um erro simples, que me custou algumas horas para descobrir como concertá-lo, primeiro para corrigi-lo existe 2(dois) meios o primeiro o corrige(Necessário source (Código Fonte do Servidor)) o segundo e apenas um paliativo(Não precisa de source). Bem Vamos lá: Método 1 1) Peque sua source e abra ela com o seu editor C/C++ preferido ou use o DevC++(DevCpp), pasta da source Dev-cpp(Pode ter outro nome, refere-se a pasta onde possui o arquivo primário de abertura do projeto) >>> TheForgottenServer.dev 2) Apos aberto procure o arquivo creatureevent.cpp e depois faça uma busca por: No valid type for creature event. Nota: Para fazer uma busca por determinado elemento basta usar a combinação de teclas CTRL + F Deve ser uma linha como essa: std::cout << "[Error - CreatureEvent::configureEvent] No valid type for creature event." << str << std::endl; 3) Apos ter feito essa busca você deve subir duas ou três linhas para cima e ira encontrar um bloco de código parecido com este: std::string tmpStr = asLowerCaseString(str); if(tmpStr == "login") m_type = CREATURE_EVENT_LOGIN; else if(tmpStr == "logout") m_type = CREATURE_EVENT_LOGOUT; else if(tmpStr == "joinchannel") m_type = CREATURE_EVENT_CHANNEL_JOIN; else if(tmpStr == "leavechannel") m_type = CREATURE_EVENT_CHANNEL_LEAVE; else if(tmpStr == "advance") m_type = CREATURE_EVENT_ADVANCE; else if(tmpStr == "sendmail") m_type = CREATURE_EVENT_MAIL_SEND; else if(tmpStr == "receivemail") m_type = CREATURE_EVENT_MAIL_RECEIVE; else if(tmpStr == "traderequest") m_type = CREATURE_EVENT_TRADE_REQUEST; else if(tmpStr == "tradeaccept") m_type = CREATURE_EVENT_TRADE_ACCEPT; else if(tmpStr == "textedit") m_type = CREATURE_EVENT_TEXTEDIT; else if(tmpStr == "reportbug") m_type = CREATURE_EVENT_REPORTBUG; else if(tmpStr == "look") m_type = CREATURE_EVENT_LOOK; else if(tmpStr == "think") m_type = CREATURE_EVENT_THINK; else if(tmpStr == "direction") m_type = CREATURE_EVENT_DIRECTION; else if(tmpStr == "move") m_type = CREATURE_EVENT_MOVE; else if(tmpStr == "outfit") m_type = CREATURE_EVENT_OUTFIT; else if(tmpStr == "statschange") m_type = CREATURE_EVENT_STATSCHANGE; else if(tmpStr == "areacombat") m_type = CREATURE_EVENT_COMBAT_AREA; else if(tmpStr == "push") m_type = CREATURE_EVENT_PUSH; else if(tmpStr == "target") m_type = CREATURE_EVENT_TARGET; else if(tmpStr == "follow") m_type = CREATURE_EVENT_FOLLOW; else if(tmpStr == "combat") m_type = CREATURE_EVENT_COMBAT; else if(tmpStr == "attack") m_type = CREATURE_EVENT_ATTACK; else if(tmpStr == "cast") m_type = CREATURE_EVENT_CAST; else if(tmpStr == "kill") m_type = CREATURE_EVENT_KILL; else if(tmpStr == "death") m_type = CREATURE_EVENT_DEATH; else if(tmpStr == "preparedeath") m_type = CREATURE_EVENT_PREPAREDEATH; else if(tmpStr == "spawn") m_type = CREATURE_EVENT_SPAWN; else if(tmpStr == "onmove") m_type = CREATURE_EVENT_ONMOVE; else Obs: alinha que procuramos acima no inicio do tutorial e parte deste bloco de código. 4) Agora se você nunca viu algo como isso antes não se assuste, devemos apenas ter atenção ao fazer tal operação. Preste atenção que no final do bloco existe uma pequena função chamada else devemos adicionar antes dela um peno bloco de código, copie o código abaixo e o cole antes do else Obs: Tente manter o mesmo padrão de sintaxe do código, forma ou estrutura ao qual o código e escrito. else if(tmpStr == "walk") m_type = CREATURE_EVENT_WALK; Deve ficar algo assim: // Bloco de codigo anterior // else if(tmpStr == "onmove") m_type = CREATURE_EVENT_ONMOVE; // Bloco de codigo que adicionamos // else if(tmpStr == "walk") m_type = CREATURE_EVENT_WALK; // ELSE abaixo do nosso bloco de codigo // else O código completo com o nosso bloco de código adicionado deve ser algo como abaixo, caso não, pode a ver outra funções já adicionadas por você ou por outras pessoas antes. Mas em geral ele deve ser bem parecido com este código abaixo. std::string tmpStr = asLowerCaseString(str); if(tmpStr == "login") m_type = CREATURE_EVENT_LOGIN; else if(tmpStr == "logout") m_type = CREATURE_EVENT_LOGOUT; else if(tmpStr == "joinchannel") m_type = CREATURE_EVENT_CHANNEL_JOIN; else if(tmpStr == "leavechannel") m_type = CREATURE_EVENT_CHANNEL_LEAVE; else if(tmpStr == "advance") m_type = CREATURE_EVENT_ADVANCE; else if(tmpStr == "sendmail") m_type = CREATURE_EVENT_MAIL_SEND; else if(tmpStr == "receivemail") m_type = CREATURE_EVENT_MAIL_RECEIVE; else if(tmpStr == "traderequest") m_type = CREATURE_EVENT_TRADE_REQUEST; else if(tmpStr == "tradeaccept") m_type = CREATURE_EVENT_TRADE_ACCEPT; else if(tmpStr == "textedit") m_type = CREATURE_EVENT_TEXTEDIT; else if(tmpStr == "reportbug") m_type = CREATURE_EVENT_REPORTBUG; else if(tmpStr == "look") m_type = CREATURE_EVENT_LOOK; else if(tmpStr == "think") m_type = CREATURE_EVENT_THINK; else if(tmpStr == "direction") m_type = CREATURE_EVENT_DIRECTION; else if(tmpStr == "move") m_type = CREATURE_EVENT_MOVE; else if(tmpStr == "outfit") m_type = CREATURE_EVENT_OUTFIT; else if(tmpStr == "statschange") m_type = CREATURE_EVENT_STATSCHANGE; else if(tmpStr == "areacombat") m_type = CREATURE_EVENT_COMBAT_AREA; else if(tmpStr == "push") m_type = CREATURE_EVENT_PUSH; else if(tmpStr == "target") m_type = CREATURE_EVENT_TARGET; else if(tmpStr == "follow") m_type = CREATURE_EVENT_FOLLOW; else if(tmpStr == "combat") m_type = CREATURE_EVENT_COMBAT; else if(tmpStr == "attack") m_type = CREATURE_EVENT_ATTACK; else if(tmpStr == "cast") m_type = CREATURE_EVENT_CAST; else if(tmpStr == "kill") m_type = CREATURE_EVENT_KILL; else if(tmpStr == "death") m_type = CREATURE_EVENT_DEATH; else if(tmpStr == "preparedeath") m_type = CREATURE_EVENT_PREPAREDEATH; else if(tmpStr == "spawn") m_type = CREATURE_EVENT_SPAWN; else if(tmpStr == "onmove") m_type = CREATURE_EVENT_ONMOVE; else if(tmpStr == "walk") m_type = CREATURE_EVENT_WALK; else { std::cout << "[Error - CreatureEvent::configureEvent] No valid type for creature event." << str << std::endl; return false; } 5) Apos ter feito tudo isso recomendo que Salve e Compile o seu novo Distro, depois desfrute do resultado ! ################################################################################# Segundo Modo Se você esta usando um server de Poketibia vá ate a pasta do seu servidor e depois para data >> creaturescripts >> creaturescripts.xml então abra o arquivo e comente ou retire a linha abaixo(recomendo comentar use apos toda a parte a ser comentada) <event type="walk" name="WalkTv" event="script" value="tvsys.lua"/> Exemplo da linha comentada: <!-- <event type="walk" name="WalkTv" event="script" value="tvsys.lua"/> --> Caso haja duvidas ou erros comente, farei o possível para ajudar. Um grande abraço e fiquem com Deus!
  6. Amigo, aqui e somente o cliente, se precisar de server de uma pequena olhada na área de downloads. Ou se tiver um agradeça ao autor pelo trabalho e dedicação e boa vontade de postar o server para compartilhamento. Obrigado por tudo! Um grande abraço e fique com Deus! Valeu será de grande ajuda, se já não o fez, de qualquer modo obrigado. Um grande abraço e fique com Deus! Amigo desculpe não poder te ajudar faz um bom tempo que não trabalho com tibia então não posso te ajudar agora, mas se eu puder em breve quando voltar a brincar com servidores eu vou ver se posso adiantar uns tutoriais e projetos parados.
  7. Postar o server que eu fiz! Talvez eu poste ele depois mas talvez vou ver se faço umas melhorias nele antes de postar! Ele e bem básico e possui alguns bugs como duplicar pokemon ao chamar de volta pra ball, mas talvez não seja problema pra vocês meus pupilos experts!
  8. A vida e como um Ônibus vazio, você pode escolher onde sentar, mais as vezes pessoas que você quer que sente ao seu lado,não sentaram, e pessoas que você não quer setaram ao seu lado, e as vezes sentamos onde gostamos mas existe o sol que joga os raios na sua cara, atrapalhando a visão da paisagem, Então escolha onde sentar no Ônibus da vida!

  9. Amigo as minhas stones já estão nesta lista mais eu queria que mostra-se na descrição da pokedex, exemplo onde fica mostrando a pedra de evolução mostra-se o nome da stone ou item de evolução deste pokemon, pois alguns tem na descrição da pokedex a stone que evolui. e outros esta em branco. Tipo quero colocar as descrição correta da podex nos pokemons, uso server base titanium, e se vc puder me falar onde muda o level de requerimento da evolução exemplo, tipo o pokemon evolui com stone quando tem o level 15 ai eu quero mudar só para ele evoluir com level 25, se puder me ajudar serei grato e obrigado pela ajuda e resposta. Um grande baraço e fique com Deus!
  10. Ola, pessoal, eu to mexendo em um ot aqui e gostaria de saber se vcs, pode me ajudar na seguinte coisa, alguns pokemons não aparece na pokedex a stone que ele evolui. fica apenas Evolui com Stone: e o nome da stone em branco. tipo gostaria de saber como posso colocar a stone de evolução neles obrigado. Se puder me ajudar também dizendo onde posso mudar a cor do nome do loot para verde, sei que e no config.Lua mais não lembro onde e como, e tipo também mudar o nome do poke morto para vermelho no goback.lua se puder pois não sei o código de cores. Um grande abraço e fique com Deus!
  11. Olá caros amigos do Tk, Eu venho através deste tópico, pedir a ajuda de vocês que são scripts e querem ajudar os servidores derivados a crescer, eu estou trabalhando em um server de poketibia que contem as Source, eu já adicionei nele as Race, que são os type dos Pokémons que faltava e já arrumei o erro do ispokeball que dava falha, agora ele possui mais erros básicos, e eu não sou script e nem estou com tempo para aprender a mexer agora, então eu venho pedir a ajuda de vocês, que queira me ajudar a arrumar ele e postar no fórum sendo e o server OPEN SOURCE, o servidor tem potencial e quem já mexe ou mexeu com poketibia e quer ajudar, basta me mandar uma mensagem no skype para me ajudar e eu passo o server não vou postar fotos nem nada, porque já postei em outro tópico onde tenho um designer para ajudar, mas se quiser ajudar e só me add. Se você não e script mas quer ajudar, sinta-se livre para entrar em contato. Skype: michel-helmer Um abraço a todos e fiquem com Deus.
  12. Amigo esse erro e que não foi possível abrir o arquivo "libboost_system-vc120-mt-gd-1_55.lib" tente novamente recompilar. se ão funcionar desinstale as boost e re-extrai todos os arquivos. e tente compilar novamente, a maioria dos erros e causado por pular alguma parte, ou simplesmente algum caminho que não foi indicado, repasse o tutorial e reveja se esta tudo ok, se o erro persistir não exite em voltar Obrigado, faremos o possível para ajudar. Desculpe-me a demora, e fique com Deus!
  13. amigo,você usou o mesmo projeto. se sim desta vez click em rebuild. Ou tente extrai novamente as boost, desculpe_me nao poder ajudar mais estou usando teclado virtual. abraço e fique com Deus!
  14. Blz amigo como sitei no server terá duas bases uma com level e uma sem level!

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...