Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''action''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Sou

  1. Auguem pode me ajudar nesse bug ele acontece quando auguem captura um pokémon
  2. Ola amigos, sera que alguem poderia modificar meu duel system do PDA para poder mandar ou aceitar duel apenas em uma area do mapa, no caso criarei uma area destinada para duelos. Duel do order em actions. Duel System da lib. Basicamente acho eu seria colocar uma tabela de x, y, z das cordenadas da area que poderia se mandar ou aceitar o duel. kkk só acho, sou noob em scripts. Desde ja agradeço e rep+
  3. Pessoal, eu sempre tive a duvida de como criar uma porta que só poderá ser aberta por certa chave Eu jogava um servidor a um tempo atras, que em um quest, vc ganhava uma chave, e essa chave servia para abrir uma porta que era a entrada de uma certa cave gostaria que vocês me ajudassem, obrigado ! OBS: esse é o script que eu tenho REVERSE_DOORS, CHILD_DOORS = {}, {} for k, v in pairs(DOORS) do REVERSE_DOORS[v] = k local tmp = getItemInfo(v) if(tmp.transformUseTo ~= 0) then CHILD_DOORS[tmp.transformUseTo] = k end end function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.aid > 0 and itemEx.aid > 0) then if(isPlayerPzLocked(cid) and getTileInfo(toPosition).protection) then doPlayerSendDefaultCancel(cid, RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE) return true end local doors = DOORS[itemEx.itemid] if(not doors) then doors = REVERSE_DOORS[itemEx.itemid] end if(not doors) then doors = CHILD_DOORS[itemEx.itemid] end if(doors) then if(item.actionid ~= itemEx.actionid) then doPlayerSendCancel(cid, "The key does not match.") else doTransformItem(itemEx.uid, doors) end return true end end return false end
  4. eae galera então fazia tempo que não mexia com meu site resolvi mexer um pouco nele e apareceu o seguinte erro os arquivos estão editados corretamente editei a senha e o banco de dados para segurança mas os dois estão certinhos na database alguem pode me dizer o que pode estar havendo? #edit está aparecendo este erro Parse error: syntax error, unexpected T_ELSE in C:\xampp\htdocs\system\libraries\Loader.php on line 1087 loader.php
  5. Saudações, xTibianos! Hoje venho lhes trazer um npc desenvolvido por mim, cuja ideia foi de nosso ADM @Daniel. Antes de mais nada, gostaria de avisar: o NPC possui uma GRANDE possibilidade de customização. Você pode escolher quais sistemas você vai quer que ele tenha, pode escolher se vai usar prisão ou não, pode escolher o tempo de punição ao membro infrator, etc. Sistemas presentes Esse NPC possui os seguintes sistemas: Anti-bot system Qualquer jogador pode ir até o NPC e denunciar algum outro jogador (que provavelmente esteja usando bot). O NPC então enviará uma checagem de bot ao jogador denunciado. Caso o jogador denunciado não responda a checagem dentro do tempo hábil, ele será punido (enviado para uma prisão ou kickado). Power Abuse system Esse sistema serve para punir aqueles membros de level alto que ficam fazendo "free kill" (matando jogadores mais fracos abusivamente). Qualquer jogador (qualquer level) pode ir até o npc e denunciar algum outro jogador (level maior) alegando que ele sofreu power abuse. O npc fará uma checagem, e se o jogador denunciante tiver sido morto um minimo de X vezes (configurável) por aquele jogador denunciado, o jogador denunciado será punido (mandado pra prisão ou kickado). Aparência do NPC Esse é o NPC, visualmente falando: inspiração: Instalação Agora chega de enrolação, vamos à instalação do npc: » Vá na pasta mods, crie um arquivo chamado JusticeiroMods.xml e coloque isso dentro: *atente-se para essa parte configurável do script acima: *nessa parte, o strBot e o strPwrAbs devem ser iguais aos informados no arquivo Justiceiro.lua que será mostrado mais abaixo » Agora vá na pasta data\npc, crie um arquivo chamado Justiceiro.xml e coloque isso dentro: » Agora vá na pasta data\npc\scripts, crie um arquivo chamado Justiceiro.lua e coloque isso dentro: *atente-se para essa parte configurável do script acima: -----------------------------------------------------------------------------------------------------------------------------------------------------PARTE CONFIGURAVEL----------------------------------PARTE CONFIGURAVEL------------------------------PARTE CONFIGURAVEL------------------------------------------------------------------------------------------------------------------------------------------------------------------------local usarAntiBot = "sim" --coloque "nao" caso não queira usar o anti-bot do npclocal usarPowerAbuse= "sim" --coloque "nao" caso não queira usar o power abuse system do npclocal cadeia = "sim" --use "sim" caso vc queira mandar o infrator para a cadeia, ou "nao" caso vc nao tenha uma cadeialocal cadeiaPos = { --coordenadas das celas da cadeia, para caso vc tenha colocado o 'cadeia = "sim"' no campo acima[1] = {coord = {x = 32314, y = 32280, z = 8}, preso={}--[[DEIXE ISSO VAZIO]]}, --ponha as coordenadas da cela 1[2] = {coord = {x = 32317, y = 32280, z = 8}, preso={}--[[DEIXE ISSO VAZIO]]}, --ponha as coordenadas da cela 2[3] = {coord = {x = 32320, y = 32280, z = 8}, preso={}--[[DEIXE ISSO VAZIO]]}, --ponha as coordenadas da cela 3[4] = {coord = {x = 32322, y = 32280, z = 8}, preso={}--[[DEIXE ISSO VAZIO]]}, --ponha as coordenadas da cela 4}local tempoBot = 5 --tempo em minutos para o player reportado como botter responder a verificaçãolocal tempoPunicao = 60 --tempo em minutos que o infrator ficara presolocal maxDeath = 7 --quantidade de mortes "desbalanceadas" (player mais fraco contra palyer muito mais forte) considerada como power abuselocal cooldown = 30 --tempo em segundos para o denunciante poder fazer outra denuncialocal strBotDen = 690110local strBot = 69011local strPwrAbsDen = 690120local strPwrAbs = 69012-------------------------------------------------------------------------------------------------------------------------------------------------FIM DA PARTE CONFIGURAVEL-----------------------FIM DA PARTE CONFIGURAVEL---------------------FIM DA PARTE CONFIGURAVEL--------------------------------------------------------------------------------------------------------------------------------------------------------------------- obs: lembrando que você pode adicionar QUANTAS CELAS QUISER! Basta seguir a lógica da tabela relacionada as celas. obs²: e não esqueça de ler as instruções contidas em cada linha dessa parte do script! Como usá-lo em meu servidor? (recomendação) Eu recomendo também usar em seu servidor algum sistema automático de anti-bot, além do npc. -Por quê? Porque dessa forma dificultará a vida do botter. Digamos que o sistema automático faça mande uma checagem para todos os jogadores a cada 1 hora. Sem o meu npc, o botter pode entrar a cada hora no server e responder a checagem automática. Já tendo o meu npc, o botter pode receber uma checagem de bot a qualquer instante (pois qualquer membro pode fazer a denuncia a qualquer instante). Assim, ele não terá uma previsão de tempo para que ele volte à janela do tibia somente para responder a checagem do bot. Mapa de prisão Bom, galera, esse é o npc. Se você quiser usar o sistema de prisão mas não tiver uma prisão em seu server, aqui tem uma prisão feita pelo @Daniel para que vocês possam baixar e usar em conjunto com esse sistema: http://www.xtibia.com/forum/topico/240867-86-pris%C3%A3o-30-celas/ Eu testei todo esse sistema que nem um condenado. Não consegui achar nenhuma falha. Então se alguém encontrar alguma falha, por favor relate-a no campo de comentários abaixo. Por hoje é isso, pessoal. Até a próxima. Abraços. Não autorizo a postagem desse conteúdo sem meus devidos créditos!
  6. Fala galera, estava desde ontem tentando criar o Otserver 10.90 global... Finalmente consegui, porém as talkactions para GOD não funcionam, mesmo estando de god. Eu coloco minha group id 3 na database, porém os comandos de god não funcionam, apenas os de GM. é como se eu não tivesse acesso a eles. se alguem puder ajudar agradeço TalkActions: <?xml version="1.0" encoding="UTF-8"?><talkactions> <!-- Gods --> <talkaction words="/addskill" separator=" " script="add_skill.lua" /> <talkaction words="/chameleon" separator=" " script="chameleon.lua" /> <talkaction words="/clean" script="clean.lua" /> <talkaction words="/closeserver" separator=" " script="closeserver.lua" /> <talkaction words="/i" separator=" " script="create_item.lua" /> <talkaction words="/ghost" script="ghost.lua" /> <talkaction words="/hide" script="hide.lua" /> <talkaction words="/mccheck" script="mccheck.lua" /> <talkaction words="/openserver" script="openserver.lua" /> <talkaction words="/owner" separator=" " script="owner.lua" /> <talkaction words="/m" separator=" " script="place_monster.lua" /> <talkaction words="/s" separator=" " script="place_npc.lua" /> <talkaction words="/summon" separator=" " script="place_summon.lua" /> <talkaction words="/save" script="save.lua" /> <talkaction words="/ban" separator=" " script="ban.lua" /> <talkaction words="/ipban" separator=" " script="ipban.lua" /> <talkaction words="/unban" separator=" " script="unban.lua" /> <!-- Achievements Commands --> <talkaction words="/addach" separator=" " script="achievements.lua" /> <talkaction words="/removeach" separator=" " script="achievements.lua" /> <!-- Gamemasters --> <talkaction words="/up" script="up.lua" /> <talkaction words="/down" script="down.lua" /> <talkaction words="/c" separator=" " script="teleport_creature_here.lua" /> <talkaction words="/goto" separator=" " script="teleport_to_creature.lua" /> <talkaction words="/gotopos" separator=" " script="teleport_to_pos.lua" /> <talkaction words="/t" script="teleport_home.lua" /> <talkaction words="/town" separator=" " script="teleport_to_town.lua" /> <talkaction words="/a" separator=" " script="teleport_ntiles.lua" /> <talkaction words="/pos" separator=" " script="position.lua" /> <talkaction words="/info" separator=" " script="info.lua" /> <talkaction words="/r" separator=" " script="removething.lua" /> <talkaction words="/kick" separator=" " script="kick.lua" /> <talkaction words="/B" separator=" " script="broadcast.lua" /> <talkaction words="/looktype" separator=" " script="looktype.lua" /> <talkaction words="/mounts" separator=" " script="allmounts.lua" /> <talkaction words="/addons" separator=" " script="alladdons.lua" /> <!-- Senior Tutors --> <talkaction words="/addtutor" separator=" " script="add_tutor.lua" /> <talkaction words="/removetutor" separator=" " script="remove_tutor.lua" /> <!-- player talkactions --> <talkaction words="!buypremium" script="buyprem.lua" /> <talkaction words="!buyhouse" script="buyhouse.lua" /> <talkaction words="!leavehouse" script="leavehouse.lua" /> <talkaction words="!aol" script="aol.lua" /> <talkaction words="!bless" script="bless.lua" /> <talkaction words="!changesex" script="changesex.lua" /> <talkaction words="!uptime" script="uptime.lua" /> <talkaction words="!deathlist" script="deathlist.lua" /> <talkaction words="!kills" script="kills.lua" /> <talkaction words="!online" script="online.lua" /> <talkaction words="!serverinfo" script="serverinfo.lua" /> <talkaction words="!addon" script="addon.lua" /> <talkaction words="!cast" separator=" " script="start_cast.lua" /> <talkaction words="!cast off" separator=" " script="stop_cast.lua" /> <talkaction words="!stopcast" script="stop_cast.lua" /> <!-- test talkactions --> <talkaction words="!z" separator=" " script="magiceffect.lua" /> <talkaction words="!x" separator=" " script="animationeffect.lua" /></talkactions> Groups: <?xml version="1.0" encoding="UTF-8"?><groups> <group id="1" name="Player" flags="0" access="0" maxdepotitems="0" maxvipentries="0" /> <group id="2" name="Gamemaster" flags="137438953471" access="1" maxdepotitems="0" maxvipentries="200" /> <group id="3" name="Administrator" flags="272730398714" access="1" maxdepotitems="0" maxvipentries="200" /></groups>
  7. Eu queria um script que, quando um player usasse este item = 5905, ele dará ao player um desses items dentro de uma bp = 6548, 6547, 6549.. eu queria que a escolha escorresse a mesma chance para os 3 items. alguns detalhes importantes> após o player usar o item 5905, ele some e só assim é adicionado outro item... o maximo de item qe o player pode ganhar dentro da bp é 1 ... eu gostaria q saísse um efeito e um falante na posição do player após o uso, e uma msg no default pra ele em laranja..
  8. Oi, gente queria um script, que se um player pisar em uma tile, outro qualquer player so possa pisar la depois de 30 minutos... Ex.:Eu pisei em uma tile pra entrar em uma quest, ai outro player QUALQUER, foi tentar fazer o mesmo, só que não conseguiu, porque eu ja havia pisado antes, e ainda não se passou 30 mins. Objetivo: eu coloquei uma action id em uma tile do servidor que quando eu pisar nela vou ser teletransportado para uma tal area, agora quero uma unique id, como a pedida, que ao pisar, outro player so possa pisar lá, depois de 30 minutos, se ele pisar ele sera interrompido no caminho, com a mensagem:"O portal ainda não está pronto para uso, espere alguns minutos" espero que tenham entendido , quem me ajudar dou Reputação+
  9. Então, como faz para entregar 5kk do shop? sendo que eu coloco la para entregar 5kk mas só recebe 1kk? se possível tem como fazer receber os itens em uma bag? local SHOP_MSG_TYPE = MESSAGE_EVENT_ORANGElocal SQL_interval = 30 function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do local id = tonumber(result_plr:getDataInt("id")) local action = tostring(result_plr:getDataString("action")) local delete = tonumber(result_plr:getDataInt("delete_it")) local cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) local iter = 0 while iter ~= container_count do doAddContainerItem(new_container, itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "aid", getPlayerGUID(cid)+10000) received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end if not(result_plr:next()) then break end end result_plr:free() end return trueend
  10. Eu coloco para chegar 5kk no meu gesior, mas só chega 1kk alguém sabe como colocar para vim o resto? local SHOP_MSG_TYPE = MESSAGE_EVENT_ORANGElocal SQL_interval = 30 function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do local id = tonumber(result_plr:getDataInt("id")) local action = tostring(result_plr:getDataString("action")) local delete = tonumber(result_plr:getDataInt("delete_it")) local cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) local iter = 0 while iter ~= container_count do doAddContainerItem(new_container, itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "aid", getPlayerGUID(cid)+10000) received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end if not(result_plr:next()) then break end end result_plr:free() end return trueend
  11. Tenho esse script de dominar cidades feito pelo zipster98, algo assim, alias muito obrigado... Mas queria mudar 2 coisas q me faltam conhecimento, alguem mais experiente poderia me ajudar? Scripts: /lib/GOTlib.lua cityMonsters = { --["monster_name"] = recomendo número anterior + 1, ["Chanceler Carlin"] = 1, ["Chanceler Venore"] = 2, ["Chanceler Thais"] = 3, ["Chanceler Darashia"] = 4, ["Chanceler Ankrahmun"] = 5, ["Chanceler Edron"] = 6, ["Chanceler Rookgaard"] = 7, ["Chanceler Svargrond"] = 8, --etc}DEFAULT_STORAGE = 49198function setGuildExperience(guildId, exp) for _, pid in pairs(getPlayersOnline()) do if getPlayerGuildId(pid) == guildId then doPlayerSetExperienceRate(pid, exp) end endendfunction getGuildExpRate(guildId) for _, pid in pairs(getPlayersOnline()) do local playerRate = getPlayerRates(pid)[8] if getPlayerGuildId(pid) == guildId and playerRate > 1 then return playerRate end end return 1.0endfunction getGuildName(guild_id) --Omega local query = db.getResult("SELECT name FROM guilds WHERE id = "..guild_id) local ret = query:getID() == -1 and false or query:getDataString("name") print(query:getDataString("name")) query:free() return retend Monster exemple: <monster name="Chanceler Carlin" file="GOT/chanceler carlin.xml"/> <?xml version="1.0" encoding="UTF-8"?><monster name="Chanceler Carlin" nameDescription="Chanceler Carlin" race="blood" experience="0" speed="0" manacost="0"> <health now="6" max="6"/> <look type="140" head="0" body="0" legs="0" feet="0" addons="3" corpse="6080"/> <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"/> </flags> <attacks> <attack name="melee" interval="2000" skill="45" attack="20"/> </attacks> <defenses armor="9" defense="11"> <defense name="healing" interval="1000" chance="9" min="750" max="1250"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="healing" interval="1000" chance="17" min="300" max="500"> <attribute key="areaEffect" value="blueshimmer"/> </defense> </defenses> <immunities> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="Guards!" yell="1"/> </voices> <script> <event name="mDeath"/> </script></monster> <movevent type="StepIn" actionid="12000-12100" event="script" value="GOT/throne_capturing.lua"/> <movevent type="StepIn" actionid="2391-2398" event="script" value="GOT/tile_acess_members_of_throne.lua"/> /movemments/throne_capturing.lua local config = { level = 50, count = 5, messages = { [12000] = "[GOT]The guild %s is entering the castle.", [12001] = "[GOT]The guild %s is already inside the castle.", [12002] = "[GOT]The guild %s is close to conquer the castle." }, actionId = {12000, 4819}}function tableInsert(table, value) -- technically this doesn't need to be #table + 1, it can just be #table table[#table + 1] = valueendfunction onStepIn(cid, item, position, fromPosition) local pid, ip = {}, {} -- now they will hold the values generated by get getGuildOnlineMembers local function getGuildOnlineMembers(guildId) for _, cid in pairs(getPlayersOnline()) do if getPlayerGuildId(cid) == guildId and getPlayerLevel(cid) >= config.level and not isInArray(ip, getPlayerIp(cid)) then tableInsert(pid, cid) tableInsert(ip, getPlayerIp(cid)) end end return pid end if not isPlayer(cid) then return true end if item.actionid == config.actionId[1] then if getPlayerGuildId(cid) < 1 or #getGuildOnlineMembers(getPlayerGuildId(cid)) < config.count then doPlayerSendCancel(cid, "You need to be on guild or your guild must have at least "..config.count.." players level "..config.level.." or more.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doTeleportThing(cid, fromPosition, true) return true end end if getGlobalStorageValue(item.actionid + config.actionId[2]) < os.time() then broadcastMessage(config.messages[item.actionid]:format(getPlayerGuildName(cid))) setGlobalStorageValue(item.actionid + config.actionId[2], os.time() + 10) end doCreatureSetSkullType(cid, 3) return trueend /movemments/tile_acess_members_of_throne.lua local guilds = { --[actionid] = número da cidade configurado em cityMonsters, [2391] = 1, [2392] = 2, [2393] = 3, [2394] = 4, [2395] = 5, [2396] = 6, [2397] = 7, [2398] = 8,} function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end local guildId = getGlobalStorageValue(guilds[item.actionid] + DEFAULT_STORAGE) if getPlayerGuildId(cid) ~= guildId then doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, 'This territory is not of your Guild') end return trueend CreatureScripts <!-- Guild own throne +25%de exp --> <event type="death" name="mDeath" event="script" value="GOT/expbonus_got.lua"/> <event type="statschange" name="mStatsChange" event="script" value="GOT/expbonus_got.lua"/> <event type="target" name="mTarget" event="script" value="GOT/expbonus_got.lua"/> <event type="login" name="mLogin" event="script" value="GOT/expbonus_got.lua"/> /creaturescripts/scripts/expbonus_got.lua function onTarget(cid, target) local m, playerGuild = cityMonsters[getCreatureName(target)], getPlayerGuildId(cid) if isPlayer(cid) and isMonster(target) and m and playerGuild > 0 then return getGlobalStorageValue(DEFAULT_STORAGE + m) ~= playerGuild end return trueendfunction onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and isMonster(cid) and type == STATSCHANGE_HEALTHLOSS then local m, playerGuild = cityMonsters[getCreatureName(cid)], getPlayerGuildId(attacker) if m and playerGuild > 0 then return getGlobalStorageValue(DEFAULT_STORAGE + m) ~= playerGuild end end return trueendfunction onLogin(cid) local guildId = getPlayerGuildId(cid) if guildId > 0 and getGuildExpRate(guildId) > 1 then doPlayerSetExperienceRate(cid, getGuildExpRate(guildId)) end registerCreatureEvent(cid, "mTarget") registerCreatureEvent(cid, "mStatsChange") return trueend function onDeath(cid, corpse, deathList) local killer, m = deathList[1], cityMonsters[getCreatureName(cid)] if killer and isPlayer(killer) and m then local atualGuild, playerGuild = getPlayerStorageValue(cid, DEFAULT_STORAGE + m), getPlayerGuildId(killer) if playerGuild > 0 and atualGuild ~= playerGuild then if atualGuild > -1 then setGuildExperience(atualGuild, getGuildExpRate(atualGuild) - 0.25) end setGuildExperience(playerGuild, getGuildExpRate(playerGuild) + 0.25) setGlobalStorageValue(DEFAULT_STORAGE + m, playerGuild) broadcastMessage("The guild "..getPlayerGuildName(killer).."just dominate the throne of"..getCreatureName(cid):explode(" ")[2].."!") end end return trueend Preciso de ajuda com duas coisas: 1- Como fazer pra fazer cancelamentos se já tiver um territorio Como por exemplo: function onTarget(cid, target) if SUAGUILDA TEM ALGUM TERRITORIO CANCELA O ATK DIZENDO QUE SUA GUILDA JA TEM UM TERRITORIO end local m, playerGuild = cityMonsters[getCreatureName(target)], getPlayerGuildId(cid) if isPlayer(cid) and isMonster(target) and m and playerGuild > 0 then return getGlobalStorageValue(DEFAULT_STORAGE + m) ~= playerGuild end return trueend if SUAGUILDA TEM ALGUM TERRITORIO doPlayerSendCancel(cid, "Your guild already has a throne dominated! Only one per guild.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doTeleportThing(cid, fromPosition, true) return true end 2- Como fazer uma placa pra eu colocar em frente de cada castelo, que quando os caras derem look aparecesse o nome da guilda dominante? Sei la algo como esse pseudo codigo onlook item sing value = NAOSEI local guildName = getGuildName(getGlobalStorageValue(value)) if guildName then "City owned by guild"..guildName.."!" else "No one guild own this city!" end
  12. ola! queria o sistema de ball que tipo x ball tem maior chance de pegar pokemons de x type ej: Pokéballs feitas por engenheiros:Obs.: São 30% melhores que a Ultra Ball. Dusk Ball Melhor chance de captura em pokémons do tipo ROCK e FIGHTING. Fast Ball Melhor chance de captura em pokémons rápidos. Heavy Ball Melhor chance de captura em pokémons pesados. Janguru Ball Melhor chance de captura em pokémons do tipo POISON e GRASS. Magu Ball Melhor chance de captura em pokémons do tipo FIRE e GROUND. Moon Ball Melhor chance de captura em pokémons do tipo DARK e GHOST. Net Ball Melhor chance de captura em pokémons do tipo BUG e WATER. Sora Ball Melhor chance de captura em pokémons do tipo ICE e FLYING. Tale Ball Melhor chance de captura em pokémons do tipo DRAGON e FAIRY. Tinker Ball Melhor chance de captura em pokémons do tipo ELECTRIC a STEEL. Yume Ball Melhor chance de captura em pokémons do tipo NORMAL e PSYCHIC. entao queria um system pra isso, ja tinha visto um pra PDE mas foi retirado do forum procurei e procurei e nao achei outro, alem de meu catch system estar bugado ja u,u
  13. eae galera bom dia então eu estou usando a simple task [mod] do vodkart e gostária de saber se alguém pode fazer uma alteração nela assim que alguem terminar todas as task e ganha o premio depois de 1 hora a pessoa que terminou todas "resete" as tasks para ser feita denovo ou alguma coisa do genero porque pelo que eu percebi só pode fazer esta task uma vez e eu queria algo que fosse infinito que os players sempre ficassem competindo para ver quem termina primeiro etc... para ganhar as recompensas porém pelo que percebi só pode ser feita uma vez algum scripter poderia fazer está mudança para min por gentileza? grato desde já MOD NPC NPC/Script é isso galera se alguém puder me ajudar ficarei no aguardo
  14. Fly System é um sistema que permite ao player voar pelo mapa em locais aonde antes não era possível. Arrumando algumas coisas na source, comando /fly on, off, up, down funcionando, nova variável no player isFlying, canFly ( salvo no MySql ) Bugs - Descer em itens bloqueáveis. Changelog To do To Do- Done
  15. Eae galera então estou aqui porque tenho uma porta no client normal porém ela não possue aquele movement da porta abrir e fechar gostaria de saber como adicionar esse movimento igual as portas existentes já print da porta que está sem movimento de abrir obs: ela está adicionada no mapa porém quando adiciono a porta fechada quando tento abrir aparece que ela está trancada quando coloco a aberta da pra passar de boa mas quando eu fecho e tento abrir denovo fala que ela está trancada adicionei está action porém a fala que posso passar mas a porta não abre
  16. Olá galera hoje vou ensinar como remover o coin case de seu servidor é simples e rápido não leva nem 3 minutos. Vamos lá então: 1° Passo abra seu OBD(OBJECT BUILDER) 2° Passo vá onde se econtra a sprite do coins,se quiser o ID como item é 2547 3° Passo Clique na spr com o botão direito do mouse e clique em editar 4° Passo Clique em recipiente e depois em Salvar alterações logo após isso compile. 5° Passo Vá em data/items/items.xml 6° Passo Altere o sua Tag por essa .: <item id="2547" article="a" name="Coins"> <attribute key="weight" value="0" /> <attribute key="containerSize" value="8" /> <attribute key="slotType" value="ammo" /> </item> <item id="O número do ID, se for PDA não é necessário mecher <attribute key="containerSize" value="quantidade de slots IMPORTANTE FAÇA ISSO SENÃO VAI CONTINUAR SEM UTILIDADE Vá em data/actions/actions.xml ctrl+f digite 2547 remova a tag Vá em data/actions/scripts Remova o script Coincase É só isso então VLW flw.
  17. Josegvb

    BUG em script

    ola, fiz tudo certinho nesse script como o autor @zipter98 falou e o script funfa perfeito, porem pararam de abrir tds as janelas de Trade, Help, Game Chat, etc http://www.um fórum que não merece ser citado.com/forum/topic/65486-pedido-máquina-de-helds/ alguem me ajuda pfv? ja refiz td e fica sempre igual os outros channels param de abrir
  18. Olá gente, estou aqui para pedir uma ajuda simples que n to conseguindo concertar kk, estou tentando compilar as sources do meu naruibia, sendo que quando eu compilo elas, dá logo um erro de cara quando está carregando a compilação, o erro é esse. Compiler: Default compilerBuilding Makefile: "F:\src\dev-cpp\Makefile.win"Executing make...make.exe -f "F:\src\dev-cpp\Makefile.win" allg++.exe -c ../actions.cpp -o obj/actions.o -I"G:/Dev Cpp Para Compilar Sources/Stian's Repack Dev-Cpp/include" -D__ENABLE_SERVER_DIAGNOSTIC__ -D__ROOT_PERMISSION__ -D__GROUND_CACHE__ -D__USE_SQLITE__ -D__USE_MYSQL__ -D__CONSOLE__ -D__WAR_SYSTEM__ -fexpensive-optimizations -O1In file included from ../otpch.h:33, from ../actions.cpp:17:F:/Stian's Repack Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.5/../../../../include/boost/asio/detail/socket_types.hpp:37:5: warning: #warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately.F:/Stian's Repack Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.5/../../../../include/boost/asio/detail/socket_types.hpp:38:5: warning: #warning For example, add -D_WIN32_WINNT=0x0501 to the compiler command line.F:/Stian's Repack Dev-Cpp/Bin/../lib/gcc/mingw32/3.4.5/../../../../include/boost/asio/detail/socket_types.hpp:39:5: warning: #warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target).In file included from ../baseevents.h:20, from ../actions.h:20, from ../actions.cpp:20:../otsystem.h:33:20: asio.hpp: No such file or directorymake.exe: *** [obj/actions.o] Error 1Execution terminated alguém poderia me ajudar pfv ? dou rep+
  19. eae galera estou a dois dias tentando compilar uma sourcer e estou tendo problemas creio que estou fazendo tudo certo pois já testei 2 sourcers diferentes de todos os jeitos possiveis porém da o mesmo erro sempre sempre da este erro pessoal aqui está o arquivo todo bom acho que é isso porfavor se alguém puder ajudar agradeço muito Obs: um membro deste fórum já testou e conseguil compilara sourcer direitinho o problema é comigo não sei o que estou fazendo de errado .... sou leigo nesta área mas aprendo rápido estou usando o programa Stian's Repack Dev-Cpp 0.2, 64bit Sources NTO White não auterei nada apenas peguei como está e tentei compilar para testar para que caso desse certo eu iria editar e adicionar funções que vi aqui no fórum porém este erro não me deixa continuar com meu objetivo então estou aqui pedindo o auxilio de vocês.
  20. Não consigo aumentar o limite de efeitos do client, segui um tutorial porém, algumas funções tem pequenas diferenças, já tentei deixar exatamente como no tutorial e não consegui, tentei usar uma outra source que já contém efeitos aumentados para comparação mas na hora de compilar da erro, não entendo de source, alguém poderia fazer o imenso favor de aumentar esse limite nas sources? OBS: Compila normal se eu não fazer as alterações para aumentar esse limite Link do tutorial ensinando aumentar o limite de effects (único que achei, nele tem 1 source já com effects aumentados como base): Aumentando limite de efeitos Download da Source sem NADA alterado (0.3.6 (Crying Damson)) Source (Já contém Scan no 4shared) Essa Source é desse Post: Base Bolz 2.5 Open Source Download da Source que editei pela ultima vez tentando aumentar os effects, os erros da compilação abaixo são referentes a essa ultima tentativa Source que tentei aumentar os efeitos pela ultima vez OBS: Todas tentativas deram erros, os erros são praticamentes os mesmos, mudam poucas coisas ou ordem Aqui o Log do Compilador Completo (Todos erros): (Resumo) Os Ultimos erros que apareceram, e que falam (diretamente) sobre o que eu alterei: Explicando a situação o mais completo possível pra que possam me ajudar: Na minha source, algumas coisas são um pouco diferentes de como estão no post do tutorial, eu tentei deixar exatamente como diz lá e na hora de compilar aparecem VÁRIOS erros (se compilar sem editar nada, funciona) Exemplo, no tutorial manda procurar em 2 lugares por: void ProtocolGamesendMagicEffect(const Position& pos, uint8_t type) e trocar por: void ProtocolGame::sendMagicEffect(const Position& pos, uint16_t type) em protocolgame.cpp está exatamente igual, eu substituo como dito no post. Já no protocolgame.h está assim: void sendMagicEffect(const Position& pos, uint8_t type) Em alguns outros lugares eu encontro o "void Game::" em vez de só "void" , em outros ao contrário... Mesmo com essas diferenças, eu consegui encontrar TODOS, vi que só o que muda é o: ProtocolGame:: ou Game:: Tentei substituir pelo do post e deixar tudo EXATAMENTE como diz o post, porém da erro, creio que em alguns lugares eu devo retirar o "ProtocolGame::", em outros colocar, em alguns lugares adicionar "Game::" e em outros retirar, porém são muitas combinações possiveis, estou tentando e não estou conseguindo, cada combinação que tendo aparecem erros diferentes, @Skulls @Gabrieltxu @JairKevick
  21. eae pessoal bom estou aqui para fazer um pedido aos scripter's se algum puder me ajudar neste pedido ficarei muito grato, hoje achei este script de lenhar do kronos muito interessante. este script é muito bom e 100% funcional porém quando eu corto a arvore e ela vira madeira logo quando a madeira e colhida de seu local aparece este wall (parede) você podem notar que no script logo quando a arvore é cortada tem um tempo até ela voltar eu configurei para 3600 = 1 hora bom esse time pode estár fazendo com que este wall apareça..... não sei ao certo ID: 6420 Então isso me fez pensar eu possuo a script da arvore que é cortada pensei que algum scripter poderia editar ela pra quando for cortada e transformada em "nada" até passar o tempo decorrido de 3600, a arvore poderia ser cortada e quando fosse cortada aparece o ID da arvore cortada e não poudesem usar o iten da actionID teria que esperar o tempo de 3600 até o ID da arvore normal volte os ID's das arvores já estão na script o script já ta editado para os itens do meu server. OBS: exemplo de como ficaria Passando 50% do tempo o ID da arvore caida é removido e é adicionado outro ID de um broto. logo depois de passar os outros 50% do tempo a arvore aparece novamente Tempo total decorrido 3600 = 1 hora Bom é isso se algum scripter puder me ajudar nesta empreitada ficarei muito grato Créditos: Script: Kronos
  22. Não sei se alguém vai conseguir me ajudar, estou praticamente 10horas tentando arrumar esses erros, fiz milhares de modificações mas sempre da erro em outras coisas, to ficando de cabeça farta! Então estou pedindo ajuda pra ver se alguém ja teve esses erros e conseguiu resolver, segue abaixo. [08/05/2016 01:56:17] [Error - CreatureScript Interface] [08/05/2016 01:56:17] data/creaturescripts/scripts/exp2.0.lua:onStatsChange [08/05/2016 01:56:17] Description: [08/05/2016 01:56:17] data/creaturescripts/scripts/exp2.0.lua:492: attempt to index a boolean value [08/05/2016 01:56:17] stack traceback: [08/05/2016 01:56:17] data/creaturescripts/scripts/exp2.0.lua:492: in function <data/creaturescripts/scripts/exp2.0.lua:63> [08/05/2016 01:19:47] [Error - Action Interface] [08/05/2016 01:19:47] data/actions/scripts/goback.lua:onUse[08/05/2016 01:19:47] Description: [08/05/2016 01:19:47] data/lib/catch system.lua:317: attempt to index a boolean value[08/05/2016 01:19:47] stack traceback:[08/05/2016 01:19:47] data/lib/catch system.lua:317: in function 'doAddPokemonInOwnList'[08/05/2016 01:19:47] data/actions/scripts/goback.lua:188: in function <data/actions/scripts/goback.lua:10> Citar
  23. Ola, bom como vocês debem saber o X-Attack é outro dos helds mais bugados de qualquer PDA um pokemon qualquer um sem tier por ejemplo bate 27k ai um você coloca um tier 2 e ele fica batendo 54k... eu tentei balançar pra deixar como deberia ser porem deu em falha, o tier 7 fez oque eu queria por ejemplo... mas se o pokemon bate 24k sem held, você colocaba um tier 2 e ele ficaba batendo 19k... entao o erro debe estar na formula e certamente acho q o defense debe estar bugado tb nem fiz test nele nem nunca peguei reportes enquanto ele pois é um held raramente usado report por parte de 1 player: 14:53 Petrusrj: um possivel bug, eu fiz um teste agora com sh typhlo +50 sem held e tirava em media em todos os testes 32k no inferno e com o atack 2 todos os testes deu em media 25k de dano nas mesmas condiçoes. entao deberia ser assim: Meu Exp2.0 configuraçao no lib config: meu level system pro o defense:
  24. Taava precisando De ajuda Nesse Script .. Queria q ele Resetasse a Mana e Hp tbm Mas O player Ganha Uma Guantidade A cada Reset Q ele Fizer \/ --[[ <(Advanced Reset System 2.0)> Autor: Juniior Cwb ;*. Contato: (Juniior_Cwb@@Hotmail.com) Versão: 2.0 Testado em: 8.50 e 8.60 TFS: 0.3.6 and 0.4.0 Atenção , Se Achar Esse Sistema em outro site ou forum favor comunicar Eu ( Juniior Cwb ) Juniior_Cwb@@Hotmail.com ) -=[Características]=- ~( Versão 2.0 )~ - Resets agora Armazenados na DataBase; (Sem Valor de Storage) - Instala o System e cria a Tabela de Resets com o comando "/installreset"; - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.; - [sTAGES] para "Premium Account" e "Free Account"; ]] --=[Functions]=-- -- installReset()' [instala o Sistema.] -- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.] -- nowReseting()' [Verifica, retorna o erro ou reseta.] -- getPlayerReset(cid)' [Pega numero de resets do player.] -- checLevelStageReset(cid)' [Verifica o Level para Resetar.] -- newReset(cid)' [Verifica todas as Condições de Reset.] -- addValue(value)' [Adiciona numero de resets.] --=[Comandos de Jogadores]=-- -- "!resetar" -- Para Resetar. local exhaustionMinutes = 10 -- exausted em segundos local storageUse = 34538 -- storage usado no exausted. function onSay(cid, words, param) if words =="!resetar" then if(exhaustion.check(cid, storageUse) == TRUE) then if (exhaustion.get(cid, storageUse) >= 5) then doPlayerSendCancel(cid, "Voçê só pode usar após [" .. math.floor(exhaustion.get(cid, storageUse) / 5 + 1) .."] Segundos.") end if (exhaustion.get(cid, storageUse) <= 5) then doPlayerSendCancel(cid, "Voçê só pode usar após [" .. exhaustion.get(cid, storageUse).."] segundos.") end return TRUE end exhaustion.set(cid, storageUse, exhaustionMinutes*5) --[ Condições de Reset ] -- local coNdConf = { needPz = false, -- Precisa estar em Pz pra resetar? [false, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [false, false] red = true, -- Players com Pk Red pode resetar? [false, false] battle = true, -- Players precisão estar sem battle pra resetar? [true, true] teleport = false, -- Teleportar Player para o templo após resetar? [false, false] look = true, -- Aparecer Resets no Look do Player? [true, true] pid = getPlayerGUID(cid), -- Não Mexer. --[ Configurações do Reset ] -- resetConf = { Level = 510, -- Level Necessário para Resetar. [Valor] backLvl = 8, -- Level que voltará após o Reset. [Valor] time = 5, manamax = (10*getCreatureMaxMana(cid)/100 +2000), -- Mana que ficará após o reset. [valor] hpmax = (5*getCreatureMaxHealth(cid)/100 +300), -- HP que ficará após o reset. [valor] -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] }, } --[[>> STAGES <<]]-- x=true;X=true -- Não Mexer. local stage = {Abilitar = {x}, Desabilitar = {}, --<< Abilitar Stages?? >>-- [{x};{}] -- [RESETS] | [PREMMY] | [FREE] stage1= {resets= 1, premmy= 330, free= 330}, stage2= {resets= 5, premmy= 355, free= 355}, -- EXPLICANDO e Configurando stages. (Se estiver Abilitado [Abilitar = {x}]) stage3= {resets= 10, premmy= 360, free= 360}, -- resets = Número de resets para o Stage; stage4= {resets= 15, premmy= 365, free= 365}, -- premmy = Level necessário para Premium Accounts; stage5= {resets= 20, premmy= 380, free= 380}, -- free = Level necessário para Free Accounts; stage6= {resets= 25, premmy= 390, free= 390}, -- Coloque em Ordem... stage7= {resets= 30, premmy= 410, free= 410}, -- [OBS: MARQUE UM "X" PARA ABILITAR OU DESABILITAR OS STAGES] stage8= {resets= 35, premmy= 430, free= 430}, -- EX: para desabilitar mude: Abilitar = {}, Desabilitar = {x} stage9= {resets= 40, premmy= 450, free= 450}, stage10={resets= 45, premmy= 480, free= 480}, stage11={resets= 50, premmy= 510, free= 510}, stage12={resets= 55, premmy= 550, free= 550}, stage13={resets= 60, premmy= 610, free= 610}, stage14={resets= 65, premmy= 750, free= 750}, stage15={resets= 70, premmy= 760, free= 760}, stage16={resets= 75, premmy= 900, free= 900}, stage17={resets= 80, premmy= 1000, free= 1000}, stage18={resets= 85, premmy= 1300, free= 1300}, stage19={resets= 90, premmy= 1500, free= 1500}, stage20={resets= 95, premmy= 3000, free= 3000}, stage21={resets= 100, premmy= 2800, free= 2800}, stage22={resets= 105, premmy= 2900, free= 2900}, stage23={resets= 110, premmy= 3200, free= 3200}, stage24={resets= 115, premmy= 3500, free= 3500}, stage25={resets= 120, premmy= 4300, free= 4300}, stage26={resets= 125, premmy= 4500, free= 4500}, stage27={resets= 130, premmy= 99500, free= 99500}, } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";") rss = qr:getDataInt("reset", coNdConf.pid) if rss < 0 then rss = 0 end return rss end local success = " ~~ Sucesso! ~~ \nVocê tem agora "..(getPlayerReset(cid)+1).." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." ;err = doPlayerSendTextMessage local qrt = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";");rss_db = qrt:getDataInt("reset", coNdConf.pid) local lvl_query = "UPDATE `players` SET `level` = "..(coNdConf.resetConf.backLvl)..", `experience` = 0 WHERE `id`= " .. coNdConf.pid .. ";" db.executeQuery("UPDATE `players` SET `manamax` = "..config.resetStatus.manamax..",`mana` = "..config.resetStatus.manamax.." WHERE `id` = "..config.resetStatus.player) db.executeQuery("UPDATE `players` SET `healthmax` = "..config.resetStatus.hpmax..",`health` = "..config.resetStatus.hpmax.." WHERE `id` = "..config.resetStatus.player) local reset_query = "UPDATE `players` SET `reset` = "..(getPlayerReset(cid)+(1)).." WHERE `id`= " .. coNdConf.pid .. ";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. coNdConf.pid .. ";" local look_query = "UPDATE `players` SET `description` = ' [Reset "..(getPlayerReset(cid)+(1)).."]' WHERE `players`.`id`= " .. coNdConf.pid .. ";" --=[Reseta]=-- function addValue(value) if coNdConf.look == false then doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(look_query) return LUA_NO_ERROR end end function nowReseting() if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1, value) else doPlayerPopupFYI(cid, success) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) addEvent(addValue, coNdConf.resetConf.time*1000, value) return true end end --[sTAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, {resets=stage.stage11.resets, premmy=stage.stage11.premmy, free=stage.stage11.free}, {resets=stage.stage12.resets, premmy=stage.stage12.premmy, free=stage.stage12.free}, {resets=stage.stage13.resets, premmy=stage.stage13.premmy, free=stage.stage13.free}, {resets=stage.stage14.resets, premmy=stage.stage14.premmy, free=stage.stage14.free}, {resets=stage.stage15.resets, premmy=stage.stage15.premmy, free=stage.stage15.free}, {resets=stage.stage16.resets, premmy=stage.stage16.premmy, free=stage.stage16.free}, {resets=stage.stage17.resets, premmy=stage.stage17.premmy, free=stage.stage17.free}, {resets=stage.stage18.resets, premmy=stage.stage18.premmy, free=stage.stage18.free}, {resets=stage.stage19.resets, premmy=stage.stage19.premmy, free=stage.stage19.free}, {resets=stage.stage20.resets, premmy=stage.stage20.premmy, free=stage.stage20.free}, {resets=stage.stage21.resets, premmy=stage.stage21.premmy, free=stage.stage21.free}, {resets=stage.stage22.resets, premmy=stage.stage22.premmy, free=stage.stage22.free}, {resets=stage.stage23.resets, premmy=stage.stage23.premmy, free=stage.stage23.free}, {resets=stage.stage24.resets, premmy=stage.stage24.premmy, free=stage.stage24.free}, {resets=stage.stage25.resets, premmy=stage.stage25.premmy, free=stage.stage25.free}, {resets=stage.stage26.resets, premmy=stage.stage26.premmy, free=stage.stage26.free}, {resets=stage.stage27.resets, premmy=stage.stage27.premmy, free=stage.stage27.free}, } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then err(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return TRUE end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) else doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) return true end end function newReset(cid) if(coNdConf.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == LUA_ERROR) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return TRUE end if(coNdConf.needPa == true) and not isPremium(cid) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return TRUE end if(coNdConf.withe == false) and (getCreatureSkullType(cid) == 3) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return TRUE end if(coNdConf.red == false) and (getCreatureSkullType(cid) == 4) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return TRUE end if(coNdConf.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return TRUE end local xy = {true,false} table.insert(stage.Abilitar, false) table.insert(stage.Desabilitar, false) if stage.Abilitar[1] == xy[1] and stage.Desabilitar[1] == xy[2] then checkLevelStageReset(cid) elseif stage.Abilitar[1] == xy[2] and stage.Desabilitar[1] == xy[1] then nowReseting() else doPlayerPopupFYI(cid, "LUA_ERROR; Configure corretamente o Sistema de STAGES!") end return true end function tableResetInstall() print(not rss_db and LUA_ERROR or "Tabela de Resets: Instalada ... [success] ") addEvent(newReset, 1000, cid) return false end if tableResetInstall() then end end --=[install System]=-- function installReset() if db.executeQuery("ALTER TABLE `players` ADD reset INT(11) NOT NULL DEFAULT 0;") then print("[MarcelloMkez] -= Advanced Reset System 2.0 por DataBase =- Instalado com sucesso!") return TRUE end print('[Advanced Reset System/MarcelloMkez] Não foi possível instalar o Sistema.') return FALSE end local tt = { "Preparando Instalação...", "Instalando: TableReset Db...", "Instalando: getPlayerReset()...", "Instalando: addValue()...", "Instalando: checkLevelStageReset()...", "Instalando: newReset() and nowReseting()...", "Finalizando Instalação...", "...", success = { "Iniciando...", "function: TableReset Db... [success]", "function: getPlayerReset()... [success]", "function: addValue(value)... [success]", "function: checkLevelStageReset()... [success]", "function: newReset() and nowReseting()... [success]", "Fim da Instalação. ", "by: ~~ MarcelloMkez ~~ \nContato: marcello_dirt@@Hotmail.com", inst = {"MarcelloMkez","Advanced Reset System 2.0 por DataBase" }, }, } if words == "/installresetguiizeera" and getPlayerAccess(cid) >= 3 then function install() if installReset() then print(""..tt.success[7].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,""..tt.success[8].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] -="..tt.success.inst[2].."=- Instalado com sucesso!") else print("["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") end return 1 end function concl(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[7].."") print(""..tt[8].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[7].."") doPlayerSendTextMessage(cid, typetx,""..tt[8].."") addEvent(install, 1000,cid) end function finall(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[6].."") print(""..tt[7].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[6].."") doPlayerSendTextMessage(cid, typetx,""..tt[7].."") addEvent(concl, 3000,cid) end function installDd(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[5].."") print(""..tt[6].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[5].."") doPlayerSendTextMessage(cid, typetx,""..tt[6].."") addEvent(finall, 1000,cid) end function installCc(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[4].."") print(""..tt[5].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[4].."") doPlayerSendTextMessage(cid, typetx,""..tt[5].."") addEvent(installDd, 1000,cid) end function installBb(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[3].."") print(""..tt[4].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[3].."") doPlayerSendTextMessage(cid, typetx,""..tt[4].."") addEvent(installCc, 1000,cid) end function installAa(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[2].."") print(""..tt[3].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[2].."") doPlayerSendTextMessage(cid, typetx,""..tt[3].."") addEvent(installBb, 1000,cid) end function toInstall() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[1].."") print(""..tt[2].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[2].."") addEvent(installAa, 1000,cid) end function preparation() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[1].."") addEvent(toInstall, 3000,cid) end if preparation() then end end return 1 end --=[by: Juniior Cwb ;* ]=--
  25. Bem, eu sei que ele é bem complicadinho por isso preciso de ajuda de vcs, eu tive uma ideia um dia desses de fazer tipo um moba no meu ot. Mas pra isso eu preciso muito de um sistema desse! Tipo, eu gostaria que o player falasse algo (talkaction) e entrasse numa fila (correspondente ao level dele 10 + 10 - ) ai quando chegasse os 20 player (10 em cada lado, lados aleatórios.) eles ganhavam uma storage (Storage já criada de dois times com caveiras. essa parte já existe!) ai o objetivo é clicar numa bandeira (inimiga) e levar o item até o outro lado onde terá um piso que vai fazer o time ganhar. PS':O local onde o player é teletransportado tem q ser gravado pela database, pra ele voltar p o mesmo local (e só pode iniciar o comando em area pz, pra não ter chance de bug's) PS'':Se o player morrer lá dentro não perde nada, mas volta p o canto onde ele tava (por exemplo no dp) PS''':Quando o time ganhar até os que morreram ganha uns golds e exp ( depende da média de lvl do seu grupo ) PS'''':Todas as storages ganhadas nesse evento tem q sumir após o evento acabar e ter os vencedores. Porq os players podem participar infinitas vezes. Bem, eu sei q é mt complicado, mas eu tô faço de td pra ter esse script. Rep+ por 1 semana em tds os post da pessoa q me ajudar Obrigado por ler ! <3
×
×
  • Criar Novo...