Ir para conteúdo

Cazuza

Membro
  • Registro em

  • Última visita

Tudo que Cazuza postou

  1. playerpos = {x=1026, y=915, z=7} if getThingFromPos(playerpos).itemid > 0 then if getTileItemById(playerpos, 1387) == false then doCleanTile(playerpos) end end
  2. playerpos = {x=1026, y=915, z=7} if getThingFromPos(playerpos).itemid > 0 then if getTileItemById(playerpos, 1387) then return else doCleanTile(playerpos) end end Teste assim!
  3. local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_STAT_MAXHEALTH, 50) function onEquip(cid, item, slot) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Now that you're using this item you'll receive a special bonus...") doAddCondition(cid, condition) doSendMagicEffect(getCreaturePos(cid), 10) return true end end function onDeEquip(cid, item, slot) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") doRemoveCondition(cid, CONDITION_ATTRIBUTES) return true end end Não tenho certeza. Mas teste agora.
  4. Cazuza postou uma resposta no tópico em Playground (Off-topic)
    Gostei da brincadeira.
  5. Cazuza postou uma resposta no tópico em Playground (Off-topic)
    Quero ver quem paga Pra gente ficar assim! HAHAHAHA
  6. Obrigado pelo REP. não saberei te ajudar, deve ser pela versão do teu servidor. Por que aqui funciona perfeito, e a logica da programação eu ão saberia alterar.
  7. Se tu postar o erro pode ser que sim. Que versão tu utiliza?
  8. Só usar o OTcliente e apertar CTRL + ( - )
  9. Querido ta funcionando assim: Ao usar 3 vezes o VIP normal, na terceira ele ganha a GOLDEN VIP, e zera a contagem. Ou seja ganha GOLDEN VIP de 3 em 3 vips normais. Se quiser que eu altere isso, para apartir da terceira toda vez que ele usar vip ja ganhar golden vip avisa. Storage da VIP normal = 13720 Storage Golden VIP = 13722 Não testei mas creio estar funfando corretamente, abraço! function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 31 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13720) local timenow = os.time() if getPlayerStorageValue(cid, 13721) == -1 then setPlayerStorageValue(cid, 13721, 0) end ---------------------------------------------- if getPlayerStorageValue(cid, 13720) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end ---------------------------------------------- doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de FosterVIP no seu character.") setPlayerStorageValue(cid, 13720, time) setPlayerStorageValue(cid, 13721, getPlayerStorageValue(cid, 13721) + 1) if getPlayerStorageValue(cid, 13721) >= 3 then setPlayerStorageValue(cid, 13722, time) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce ganhou FosterVIP GOLD no seu character.") end local quantity = math.floor((getPlayerStorageValue(cid, 13720) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de FosterVIP restantes.") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) end return TRUE Atualizado!
  10. local tempo = 60 local effect = {221} local points = 30 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local function Magica(tempo2,tempo3,cid) if isPlayer(cid) then for i=1, #effect do local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doSendMagicEffect(position, effect[i]) end end end function onCastSpell(cid, var) if exhaustion.check(cid, 102053) == FALSE then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(Magica, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end local position = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} exhaustion.set(cid, 102053, 60.1) doCreatureSay(cid, "Susano", TALKTYPE_MONSTER) doSendMagicEffect(position, 254) else doPlayerSendCancel(cid, "Desculpa,Voce ja esta transformado.") end end Agora acredito eu que so player poderá usar. Não testei, abraço.
  11. Manda o script do vip. Ninguem aqui tem bola de cristal querido. Quando pedir algo, pelo menos "nos" ajude tambem.
  12. Cazuza postou uma resposta no tópico em Suporte Tibia OTServer
    Poste uma magia de cura, mas creio que fizeram pra ser assim mesmo. Não sei por quais motivos... Deve ser algo em creatureevents, mande o que tem dentro do arquivo xml, do creatureevents.
  13. Cazuza postou uma resposta no tópico em Suporte Tibia OTServer
    Meu querido, meu lindo e inteligente amigo. Eu não estou em casa agora. Mas por favor não precisava pedir algo tão "crucial" em qualquer servidor. Abra seu servidor na pasta npc e acha qualquer npc de barco e apenas edite. Creio que tu consiga fazer isto. Mas caso tu não consiga a script pro npc é esta, e não testei. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end keywordHandler:addKeyword({'travel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = '#1'}) npcHandler:addModule(FocusModule:new()) local travelNode = keywordHandler:addKeyword({'#2'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wanna go to #2, are you sure?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 1, cost = 0, destination = {x=32310, y=32210, z=6} }) -- #3 travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Next time maybe.'}) #1 - Cidades que o npc vai levar. #2 - Nome da cidade #3 - Coordenadas ( não apaguei para servir de exemplo, como é por tabelas é mais dificil
  14. Cazuza postou uma resposta no tópico em Suporte Tibia OTServer
    Tenho um script, que não deixa logal de multi cliente, ou com mage bomb se te servir te mando.
  15. local posicao = {x = 100, y = 100, z = 7} local item = 2160 getTileItemById(posicao,item) ou getTileItemById({x = 100, y = 100, z = 7},2160)
  16. NPC que tipo so falar, level. E ele te da 1 level pro vez?
  17. Não, pelo codigo dele não ira remover.
  18. Absolute, creio não ter sido tu que fez. Mas mesmo que tenha sido ira dar erro. Alí em config.remover. Voce esta dizendo que a variavel esta dentro de uma tabela, que no caso não está. Mas é so esse erro simples.
  19. Obrigado brother. Espero ter ajudado mais membros do forum com ela.
  20. Posta o Script para que possamos ajuda-lo. Ninguem aqui tem bola de cristal. Ele se encontra em actions, others, potions. Se não me engano.
  21. Então está ai, a versão 1.0 pronta! HEHE - http://www.tibiaking.com/forum/topic/36654-creaturescripts-experiencia-para-guild-por-n%C2%BA-de-jogadores-online/
  22. Nome: Experiencia para Guild Função: A pedidos de um membro do forum (TioSlash). Aqui está um script que ira adicionar uma porcentagem de Experiência por jogadores online. Exemplo: Ao alcançar 5 jogadores da Guild Online, todos que estiverem online recebem 2% de xp adicional por jogador. Ou seja, um total de +10% de xp. Bom para servidores com bastante RPG, incentivando a cooperação. Atualizações: Dia 17/08/2014 Versão: Testada somente na "10.31". (OTX Server - Galaxy) Créditos: Kazuza - (eu) Por ter criado. TioSlash - Pela Ideia. Vodkart - Por ter achado a função dele que retorna os jogadores da Guild ( sem ela com meu nivel de script não teria conseguido). xWhiteWolf - Por uma ajudinha. "Pasta Servidor > Data > Creaturescripts > Scripts" crie "ExpGuild.lua". function getGuildMembersOnline(GuildId) local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");") if (query:getID() ~= -1) then repeat table.insert(players,query:getDataString("name")) until not query:next() query:free() end return #players > 0 and players or false end function onLogin(cid) local guild_id = getPlayerGuildId(cid) local minimo = 2 local max = 2 local porcentagem = 2 ----------------------------------------- doPlayerSetExperienceRate(cid, 1) if guild_id == 0 then addEvent(doPlayerSendTextMessage, 200,cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Entre em uma guild para ter bonus de experiencia.") return true end if guild_id > 0 then local membros_online = table.maxn(getGuildMembersOnline(guild_id)) local tabela_membros = getGuildMembersOnline(guild_id) --if #getPlayersByIp(getPlayerIp(cid)) >= max then --doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Players com Multi-Cliente nao contam para ganhar o bonus de experiencia.") --return true --end if membros_online <= minimo then addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Para ter bonus de experiencia precisa ter mais de "..minimo.." jogadores da guild online.\n Jogadores da Guild Online ["..membros_online.."]") return true end if membros_online > minimo then for var = 1, #tabela_membros do local nomes = getCreatureByName(tabela_membros[var]) local XP = ((membros_online*porcentagem) / 100) + 1.00 doPlayerSetExperienceRate(nomes, XP) addEvent(doPlayerSendTextMessage,1000,nomes, MESSAGE_STATUS_CONSOLE_RED, "[GUILD] A experiencia dos membros da guilda foi aumentada para +"..membros_online*porcentagem.."% - Membro "..getCreatureName(cid).." logou.") end return true end end end "Pasta Servidor > Data > Creaturescripts > Scripts" crie "ExpGuild_out.lua". function getGuildMembersOnline(GuildId) local players = {} for _, pid in pairs(getPlayersOnline()) do if getPlayerGuildId(pid) == tonumber(GuildId) then table.insert(players, getPlayerName(pid)) end end return #players > 0 and players or false end function onLogout(cid) if getPlayerGuildId(cid) == 0 then return true else local guild_id = getPlayerGuildId(cid) local membros_online = table.maxn(getGuildMembersOnline(guild_id)) local tabela_membros = getGuildMembersOnline(guild_id) local porcentagem = 2 local minimo = 2 ----------------------------------------- for var = 1, #tabela_membros do local nomes = getCreatureByName(tabela_membros[var]) local membros_online = membros_online - 1 if membros_online <= minimo then doPlayerSetExperienceRate(nomes, 1.0) doPlayerSendTextMessage(nomes, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Nao tem mais o numero de players necessarios para ganhar o bonus de experiencia - Membro "..getCreatureName(cid).." deslogou.") end if membros_online > minimo then local XP = ((membros_online*porcentagem) / 100) + 1.00 doPlayerSetExperienceRate(nomes, XP) doPlayerSendTextMessage(nomes, MESSAGE_STATUS_CONSOLE_RED, "[GUILD] A experiencia dos membros da guilda foi ajustada para "..membros_online*porcentagem.."% - Membro "..getCreatureName(cid).." deslogou.") end end return true end end "Pasta Servidor > Data > Creaturescripts" em creaturescripts.xml adicione: <event type="login" name="ExpGuild" event="script" value="exp_guild.lua"/> <event type="logout" name="ExpGuild_out" event="script" value="exp_guild_out.lua"/> "Pasta Servidor > Data > Creaturescripts > Scripts" em login.lua adicione: Lá em baixo, onde tem registerCreatureEvent ponha esses dois: registerCreatureEvent(cid, "ExpGuild") registerCreatureEvent(cid, "ExpGuild_out") PS: Qualquer erro, postem. É muito importante. Como este é meu segundo script na vida. Pode ser que aconteça de dar erros. Eu testei pouco.
  23. Cazuza postou uma resposta no tópico em Suporte Tibia OTServer
    Para remover mana, teria que ser direto na magia dai. Por que tu quer fazer de um jeito para cada.
  24. Cara o que eu entendi, e o que posso fazer por ti é em determinados horarios criar um teleporte em x posição para x lugar... Agora se quiser integrar isso só pra quando o evento tiver acontecendo teria que mandar o script dos eventos.
  25. Tem que mudar o tibia.pic. Existem programas para muda-lo aqui no TK.

Informação Importante

Confirmação de Termo