Ir para conteúdo

jhon992

Conde
  • Total de itens

    631
  • Registro em

  • Última visita

  • Dias Ganhos

    13

Tudo que jhon992 postou

  1. vai em data/creaturescripts/scripts, duplica um arquivo e nomeia para "vocationtown" sem as aspas e nele cole: local vocationCity{ [1] = idDaCity, -- coloque o id da city para sorcerer no lugar de "idDaCity". [2] = idDaCity, -- coloque o id da city para druid no lugar de "idDaCity". [3] = idDaCity, -- coloque o id da city para paladin no lugar de "idDaCity". [4] = idDaCity -- coloque o id da city para knight no lugar de "idDaCity". } function onLogin(cid) if getPlayerStorageValue(cid, 403241) <= 0 then doPlayerSetTown(cid, getPlayerVocation(cid)) doTeleportThing(cid, getTownTemplePosition(getPlayerVocation(cid))) setPlayerStorageValue(cid, 403241, 1) end return true end agora em creaturescripts.xml cole a tag: <event type="login" name="VocationTown" script="vocationtown.lua"/>
  2. function onThink(interval, lastExecution) local pos = {x = 155, y = 50, z = 7} --posição que surge o tp local topos = {x=160, y=51, z=7} -- o player é teletransportado pra essa posição local timer = 3 -- tempo em minutos pro tp sumir pid = doCreateTeleport(1387, topos, pos) doBroadcastMessage("O teleport para evento esta aberto e fechara em ".. timer .." minutos.") addEvent(deleteTp, timer*60*1000, pid) return true end function deleteTp(pid) doRemoveItem(pid) end
  3. #Repotado para mover. De nada, @OtheRealty. Tbm percebi que sóh atualizava se toma-se dano ou cura-se por isso usei essas duas funções "doCreatureAddHealth(cid, -100) e doCreatureAddMana(cid, 50) ", só que n testei depois disso.
  4. jhon992

    Acc Manager Rep+

    O novo player comasa sem nenhum item? Se começar com algum entao o arquivo firstitens jah existe e esta localizado na pasta data/creaturescripts/scripts/firstitens.lua ou mods/firsitems.xml Caso n comece com item algum, vai na pasta data/creaturescripts/scripts/ duplica um arquivo e nomeia para "firstitens" sem as aspas e nele cole: local firstItems = {} firstItems[0] = { 2173, 2525, 3965, 2124, 2457, 2647, 2643 } firstItems[1] = { 2173, 2525, 2190, 2124, 2457, 2647, 2643 } firstItems[2] = { 2173, 2525, 2182, 2124, 2457, 2647, 2643 } firstItems[3] = { 2173, 2525, 2399, 2124, 2457, 2647, 2643 } firstItems[4] = { 2173, 2525, 2428, 2124, 2457, 2647, 2643 } function onLogin(cid) if getPlayerStorageValue(cid, 30001) == -1 then for i = 1, table.maxn(firstItems[getPlayerVocation(cid)]) do doPlayerAddItem(cid, firstItems[getPlayerVocation(cid)][i], 1) end if getPlayerSex(cid) == 0 then doPlayerAddItem(cid, 2463, 1) else doPlayerAddItem(cid, 2463, 1) end local bag = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bag, 2160, 2) doAddContainerItem(bag, 2554, 1) doAddContainerItem(bag, 2120, 1) doAddContainerItem(bag, 7618, 1) setPlayerStorageValue(cid, 30001, 1) doCreatureChangeOutfit(cid, {lookType = 128}) end return TRUE end Em creaturescripts.xml cole a tag: <event type="login" name="First" script="firstitens.lua"/> Pronto, esse script tbm resolvera o outfit;
  5. Ou faiz assim, no nome da cidade poem ["NEVOR"], E antes disso: local a = lugar[param] Poem isso: param = string.upper(param) Essa função string.upper é de manipulação de string, ela faz com que o parametro que o player passou fique tudo maiusculo. Exemplo: Player say: /i NeVoR Quando chegar na parte do "string.upper", o param = NEVOR. É isso aew.
  6. Olhando parece funcional, mais faltou o return true antes do último end. Mais para no precisar fazer mais script onLogin, apaga esse script, e no seu arquivo login.lua antes do último return true, cole esse código: if (getPlayerStorageValue(cid, 23111) == -1) then setCreatureMaxHealth(cid, 50) setCreatureMaxMana(cid, 50) doCreatureAddHealth(cid, -100) doCreatureAddMana(cid, 50) setPlayerStorageValue(cid, 23111, 1) end Testei aqui e ta funcionando.
  7. Para banir usar: /ban nomedoplayer, dias, comentario Sóh substitui pelo seu código. function onSay(cid, words, param, channel) local t = param:explode(",") local name, days, coments = t[1], tonumber(t[2]), t[3] local player = getPlayerByName(name) if name then if days then local acc = getAccountIdByName(name) if acc ~= 0 then local tempo = days * 24 * 3600 doAddAccountBanishment(acc, player, os.time() + tempo, 12, 2, t[3], 0) doRemoveCreature(player) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa quantidade de dia(s) de dias de banimento.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "esse player nao existe.") end return TRUE end
  8. Ta aprendendo em @Vilden O correto seria assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onCastSpell(cid, var) local minimo = 9000 local maximo = 11000 doCreatureAddHealth(cid, math.random(minimo,maximo)) doCreatureAddMana(cid, math.random(minimo,maximo)) return doCombat(cid, combat, var) end Créditos @Vilden.
  9. jhon992

    [Resolvido] Tillevip

    @Kanazakki, esse último script que voce postou é um script de tile para vips, basta você pegar o actionid que ativa o script e colocar no tile que voce quiser.
  10. duplica um arquivo em globalevents/scripts, nomeia para "tptime" sem as aspas e nele cole: function onThink(interval, lastExecution) local pos = {x = 155, y = 50, z = 7} --posição que surge o tp local topos = {x=160, y=51, z=7} -- o player é teletransportado pra essa posição local timer = 3 -- tempo em minutos pro tp sumir pid = doCreateTeleport(1387, topos, pos) addEvent(deleteTp, timer*60*1000, pid) return true end function deleteTp(pid) doRemoveItem(pid) end agora em globalevents.xml a tag: <globalevent name="tptime" interval="10800" event="script" value="tptime.lua"/>
  11. Faiz assim, quem sabe resolve o seu problema: function onUse(cid, item, frompos, item2, topos) local storage = 304392 -- coloque o storage aqui if getPlayerStorageValue(cid, storage) > 0 then doTeleportThing(cid, topos) doSendMagicEffect(topos, 10) else doPlayerSendTextMessage(cid, 22, "Você não possui o storage para entrar na porta!") end return TRUE end #Edited - Nem vi que vc postou @Vilden, malz aew.
  12. A seu script ficou muito paracido com o do @SkyDangerous. A parte de configuração é identica, você não tomou como exemplo o script do Sky? Procure pesquisar um pouco antes de postar um novo script, porque esse script pode não ser tão novo. Mais se o créditos são todos seus e isso não é ripping, parabéns. Ótimo script.
  13. jhon992

    [Pedido] Ant Mc

    Duplica um arquivo na pasta data/creaturescripts/scripts e nomeia para "antmc" sem as aspas e nele cole: -- [( XTibia.com )] -- local maximo = 0 -- Maximo de IP's iguais permitidos. function remove(r) if #getPlayersByIp(getPlayerIp(r.pid)) >= r.maximo then addEvent(doRemoveCreature, 100, r.pid) end return TRUE end function onLogin(cid) if getPlayerGroupId(cid) <= 1 then if isInArray(getPlayerIp(cid)) == FALSE then addEvent(remove, 300, {pid = cid, maximo = maximo+1}) addEvent(doPlayerSendTextMessage, 2*1000, cid, 23, "Remember, Multi-Clients is not permited!") end end return TRUE end Agora em creaturescripts.xml cole a tag: <event type="login" name="AntMc" event="script" value="antmc.lua"/> ------------------- Explicadinho agora, Créditos da postagem para @AnneMotta.
  14. Ta aew: function onSay(cid, words, param) local vipcoin = 12602 local quant = 100 -- quantidade de vips coin que devera remover if doPlayerRemoveItem(cid, vipcoin, quant) then local days = 15 local s = 29000 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, s) local timenow = os.time() if getPlayerStorageValue(cid, s) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, s, time) local quantity = math.floor((getPlayerStorageValue(cid, s) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de ".. quant .." ".. getItemNameById(vipcoin) .." para colocar vip.") end return TRUE end
  15. Primeiramente: #Reportado, area errada. Como você msm diz "quero pedir um Script". Area certa é Pedidos de Script. Agora você precisa me dizer qual seu sistema vip, pra min poder fazer esse script pra voce. E se o seu ot jah possui esse comando !buyvip passa o script correspondente a ele.
  16. #Reportado, moverem para Pedidos Atendidos.
  17. Era pra estar funcionado, não vejo mais nenhum erro aparente.
  18. Sim, alim aparecera o nome do player. Provavelmente o nome do player que recebeu. No cabeçalho da função ela recebe alguns parametros e "cid", creio que seja o creatureid do player que recebeu e o "sender" o do que enviou. Aprendi scripts .lua a partir da minha necessidade de criação para meu otserv, jah tinha logica de programação razoavel e foi de facil entendimento essa lingaguem pra min pois jah tinha base em outra linguagem. Nunca li em toturial, aprendi pegando scripts prontos, vasculhando, modificando e testando.
  19. Não fiz nada, sóh tirei um } que n erra pra tar aew. Testa: local days = { ["Thursday"] = { ["02:46"] = {nome = "Prepare-se foi visto um Demodras ao oeste de Telara nas caves dos dragons, cuidado!", pos = {x=1292, y=1120, z=8}, monster = {"1 Demodras"}}, ["21:00"] = {nome = "Dragon Invasões", pos = {x=185, y=54, z=7}, monster = {"100 Dragon"}} } } function onThink(interval, lastExecution) function getDayName() local days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"} return days[os.date("*t")["wday"]] end hours = tostring(os.date("%X")):sub(1, 5) tb = days[getDayName()][hours] if tb then doBroadcastMessage(hours .. " - " .. tb.nome .. " Iníciou.") for _,x in pairs(tb.monster) do for s = 1, tonumber(x:match("%d+")) do doSummonCreature(x:match("%s(.+)"), tb.pos) end end end return true end
  20. Passa esse script: "tenho outro script e ele da certo ele da ban na conta do char so que o motivo ele nao poen certo no site e nem quando o chr é banido ele num mostra o motivo que escrevo e sim o motivo que está no script" Que eu tento dar uma configurada pra você.
  21. data/creaturescripts/scripts, duplica um arquivo e nomeia para "battlelogout" nele cole: function onLogout(cid) if (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você não pode deslogar com battle.") return false end return true end agora em creaturescripts.xml cole a tag: <event type="logout" name="BattleLogout" event="script" value="battlelogout.lua"/> e no arquivo login.lua: registerCreatureEvent(cid, "BattleLogout")
  22. Meu tuto como referencia, que bom. Nunca usei essa função, mais vou tentar criar algo aqui sem testar; Dae tu testa. data/creaturescripts/scripts, duplica uma arquivo e nomeia para "receive" e nele cole: function onReceiveMail(cid, sender, item, openBox) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(cid) .." você recebeu alguma coisa em seu depot (DP), vá verificar rapidamente.") return true end em creaturescripts.xml <event type="receivemail" name="Receive" event="script" value="receive.lua"/> no login.lua antes do último return true: registerCreatureEvent(cid, "Receive") Bem simples néh, só não sei se ta funcional.
  23. Primeiramente instala corretamente esse "Sistema De Owner Para Equips". Depois no bau da quest, na hora de usar essa função para adicionar o item no player: doPlayerAddItem(cid, itemid, quant) Tu vai colocar isso: pid = doPlayerAddItem(cid, itemid, quant) setItemOwner(pid, cid)
  24. O tempo que o @Lucaswc15 falou, é tempo em segundos de exausted. Uma dica pro script ficar mais elaborado é usar isso pra checkar o exausted: if(exhaustion.check(cid, config.storage) == TRUE) then if (exhaustion.get(cid, storage) >= 60) then doPlayerSendCancel(cid, "Voçê só pode usar após [" .. math.floor(exhaustion.get(cid, storage) / 60 + 1) .."] minutos.") end if (exhaustion.get(cid, storage) <= 60) then doPlayerSendCancel(cid, "Voçê só pode usar após [" .. exhaustion.get(cid, storage).."] segundos.") end return TRUE end Vou usar o script dele para exemplificar a função acima: Todos os créditos para @Lucaswc15.
  25. Passa o seu arquivo de Rad, que é melhor pra gente identificar o erro e até testar até ficar funcional.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...