Ir para conteúdo

Lolksky

Barão
  • Total de itens

    211
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    Lolksky recebeu reputação de DuuhCarvalho em Bin Laden System   
    "vai loko" kkkkkkkkkkkkkkkkkkkkk rachei. Muito bom, cara. Criativo, simplees, mas funcional. Parabéns!
  2. Upvote
    Lolksky deu reputação a DuuhCarvalho em Bin Laden System   
    O script é funciona assim ..
    Ao jogar X item no chão , e falar a magia.
    Ex: eu usei o item '' ao jogar esse item no chão e falar " Vai Loko " .
    obs : " 'Vai Loko ' foi a palavra que usei você pode escolher a sua"

    Ao fazer isso o item se transformará em um monster (aleatoriamente) .
    E logo depois o mesmo ira explodir. Isso mesmo , o monster vai explodir e causar um dano (min..max) em que estiver perto, exceto no próprio player.

    chega de papo!

    vá em data / spells / summon.
    cria um arquivo.lua com o nome ( monster_bomb.lua ), e cola isso dentro :
    obs: todas as explicações estão no próprio script.
    --[[script by DuuhCarvalho]]-- function onTargetTile(cid, pos) local monsters = { -- os monstro que podem ser sumonados. [0] = {monster = 'Skeleton', chance = 10}, -- cada monster tem uma chance de ser sumonado. [1] = {monster = 'Rat', chance = 30}, [2] = {monster = 'Orc', chance = 50}, [3] = {monster = 'Dragon', chance = 70}, [4] = {monster = 'Wolf', chance = 100}, } local getPos = pos getPos.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE local time1 = 1 -- templo em minutos para usar a magia denovo. local itemId = 2193 -- id do item que precisa está no chão. local storage = 123654 -- storage . local dmgMin = 100 -- dano minimo da explosão. local dmgMax = 400 -- dano maximo da explosão. local time = 2 -- tempo em segundos para o monster explodir. function bomb() local areaa = pos.x * 4 and pos.y * 3 for _, pid in ipairs(getCreatureSummons(cid)) do doAreaCombatHealth(cid, COMBAT_FIREDAMAGE, getCreaturePosition(pid), areaa, -dmgMin, -dmgMax, CONST_ME_FIREAREA) doRemoveCreature(pid) end return true end local item = getThingFromPos(getPos) if item.itemid == itemId and item.uid > 0 and isMoveable(item.uid) then if getPlayerStorageValue(cid, storage) - os.time() <= 0 then for i = 0, #monsters do if (monsters[i].chance > math.random(1, 100)) then doConvinceCreature(cid, doCreateMonster(monsters[i].monster, pos)) doRemoveItem(item.uid) doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) setPlayerStorageValue(cid, storage, os.time()+time1*1*60) addEvent(bomb, time*1000) return true end end else doPlayerSendCancel(cid, "Você já tem um Monster Bomb, ou usou um a pouco tempo!") end end return false end local area, combat = createCombatArea(AREA_CIRCLE3X3), createCombatObject() setCombatArea(combat, area) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end agora vá em data / spells / spells.Xml..
    e coloca a seguinte tag :
    <instant name="Bin Laden" words="PalavraMagica" lvl="30" mana="500" prem="0" exhaustion="1000" needlearn="0" event="script" value="summon/monster_bomb.lua"> <vocation id="1"/> <vocation id="5"/> </instant> words="PalavraMagica" ... coloca o que o player tem que falar para executa a magia
     
    É isso pessoal !
     
     
  3. Upvote
    Lolksky deu reputação a Oneshot em Loan Shark   
    Loan Shark

    Boa tarde,
     
    Estava eu trabalhando quando tive a ideia de programar um script qualquer, aí desenvolvi esse script.
     
    Bom, é um NPC simples, ele empresta uma quantia de dinheiro ao jogador, e cobra 50% de juros por dia, com um limite de 2 dias, ou seja um agiota.
     
    Se o jogador não pagar o dinheiro devido, ao entrar no servidor, com auxílio de um creaturescript, seu HP é reduzido para 1 e ele ganha uma red skull, simulando que o Agiota mandou caçar-lo.
     
    Bom, é isso aí.
     
    npc/scripts/loan shark.lua
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 local storage = { [1] = 12345, [2] = 12346, [3] = 12347, } function onCreatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end msg = msg:lower() or "" local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local loan = getPlayerLevel(cid) * 2000 if getCreatureStorage(cid, storage[1]) == -1 then if not talkState[talkUser] or talkState[talkUser] == 0 then if msgcontains(msg, "money") then selfSay("Well, well. I can loan some money to you, but I'm not stupid, don't try to be a smartass with me, agreed?", cid) talkState[talkUser] = 1 end elseif talkState[talkUser] == 1 then if msgcontains(msg, "yes") then selfSay("Okay, are you really desperate, heh? Well, I can loan to you, a maximum amount of ".. loan .." gold.", cid) selfSay("So, how much money, do you need?", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "no") then selfSay("Okay.") talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end elseif talkState[talkUser] == 2 then if not tonumber(msg) then selfSay("Say a number amount, stupid.") else if tonumber(msg) > loan then selfSay("Hey, smartass, I can loan to you a maximum amount of ".. loan .." gold.", cid) else doCreatureSetStorage(cid, storage[2], tonumber(msg)) selfSay("You will need ".. tonumber(msg) .." gold? Okay, my interest is 50% by day, agreed?", cid) talkState[talkUser] = 3 end end elseif talkState[talkUser] == 3 then if msgcontains(msg, "yes") then selfSay("Good choice, kid. Here is your money, but don't forget to pay me in 2 days, or my boys will beat up you pretty bad, after that I will forgive the debt.", cid) doPlayerAddMoney(cid, getCreatureStorage(cid, storage[2])) doCreatureSetStorage(cid, storage[1], 1) doCreatureSetStorage(cid, storage[3], os.time()) npcHandler:releaseFocus(cid) elseif msgcontains(msg, "no") then selfSay("Do you give up? Ooh, I forgot you are a milksop.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end end else local days = math.floor((os.time() - getCreatureStorage(cid, storage[3])) / 86400) local value = (days > 0 and (getCreatureStorage(cid, storage[2]) * (1.5 ^ days)) or getCreatureStorage(cid, storage[2])) if not talkState[talkUser] or talkState[talkUser] == 0 then selfSay("Well, well... ".. getCreatureName(cid) ..", do you remember you borrowed ".. getCreatureStorage(cid, storage[2]) .." gold from me, right?", cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, "yes") then selfSay("Good, because you need to pay me for ".. (days == 0 and "no" or days) .." days using my money.", cid) selfSay("The value you owe me is ".. value .." gold. Do you have it?", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "no") then selfSay("Okay, then...", cid) selfSay("Just kidding, bitch! You need to pay me ".. value .." gold for ".. (days == 0 and "no" or days) .." days using my money. Do you have it, right?", cid) talkState[talkUser] = 2 end elseif talkState[talkUser] == 2 then if msgcontains(msg, "yes") then if getPlayerMoney(cid) >= value then doPlayerRemoveMoney(cid, value) selfSay("Very good, daug! If you need my money again, you can ask me, heheh...", cid) doCreatureSetStorage(cid, storage[1], -1) doCreatureSetStorage(cid, storage[2], -1) doCreatureSetStorage(cid, storage[3], -1) else selfSay("You don't have my money, no problem, you have ".. (days > 1 and "no more days" or "one day") .." before my boys hunt you, heh.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end elseif msgcontains(msg, "no") then selfSay("So, it is good to get my money, because you have ".. (days > 1 and "no more days" or "one day") .." before my boys hunt you.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback) npcHandler:addModule(FocusModule:new()) creaturescripts/scripts/loan shark.lua
    local storage = { [1] = 12345, [2] = 12346, [3] = 12347, } function onLogin(cid) local days = math.floor((os.time() - getCreatureStorage(cid, storage[3])) / 86400) if getCreatureStorage(cid, storage[1]) == 1 and days > 2 then doCreatureSetStorage(cid, storage[1], -1) doCreatureSetStorage(cid, storage[2], -1) doCreatureSetStorage(cid, storage[3], -1) doCreatureAddHealth(cid, (1 - getCreatureMaxHealth(cid))) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The Loan Shark's boys beat up you pretty hard because you didn't paid the your debt in 2 days.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_BLOCKHIT) doCreatureSetSkullType(cid, SKULL_RED) end return true end creaturescripts/creaturescripts.xml
    <event type="login" name="LoanShark" event="script" value="loan shark.lua"/> O arquivo XML do NPC deixo por conta de vocês.
     
    Att,
    Garou
  4. Upvote
    Lolksky deu reputação a meubk em Exp Por Hit V4.0   
    Instalação
     
    Primeiramente abra a pasta de seu ot, e procure pelo arquivo config.lua e procure por essas 2 linhas :

    experienceStages = false rateExperience = 50 se o experienceStages tiver ativado mude para false, pois o Stages é configurado no próprio script,
    e é muito importante o rateExperience tiver como 0, exemplo:
     
    experienceStages = false rateExperience = 0 agora entre na pasta creaturescripts/scripts e crie um arquivo lua, chamado exphit.lua e cole o seguinte código:
     
    para versões mais antigas como 8.54, 8.6 use :
     
     
     
    para versões mais novas como 9.8 :
     
     
     
     
    na mesma pasta procure pelo arquivo login.lua, e em cima de return true, adc a seguinte linha:
     
    registerCreatureEvent(cid, "ExpHit") volte na pasta anterior creaturescripts, e procure pelo arquivo creaturescritps.xml e cole as 2 tags:
     
    <event type="statschange" name="ExpGain" event="script" value="exphit.lua"/> <event type="combat" name="ExpHit" event="script" value="exphit.lua"/> para configurar a exp, que era configurada no config.lua está no começo do arquivo exphit.lua , e as configurações da party tbem, dos anéis, e até pode ser usado stages agora, segue abaixo o exemplo:
     
    -- CONFIGURAÇÕES DE EXPERIENCIA -- useStages = false -- Usar sistema de Stages , true/false premiumMultipliqueExp = 2 -- Players Premiums terão exp multiplicada, caso não querer deixe 1. rateExp = 50 -- Exp caso não for usar stages. local stages = { -- ["DELEVEL-ATELEVEL"] = EXP, (OBS: NUNCA REPETIR O MSM NUMERO, SEMPRE COLOCAR UM A MAIS.) ["1-50"] = 50, ["51-100"] = 45, ["101-150"] = 40, ["151-200"] = 35, ["201-250"] = 30, ["251-300"] = 25, ["351-400"] = 20, } ultimateExp = 15 -- exp que vai usar caso o level do player não tiver mais na tabela . -- CONFIGURAÇÕES DA PARTY partyPorcent = 40 -- Quantos Porcento da exp vai para os membros da party levelBlockParty = 1000 -- Diferença Maxima de Level permitida para membro da party ganhar exp. expShareRadiusX = 30 -- Distancia maxima permitida no eixo X para membro da party ganhar exp. expShareRadiusY = 30 -- Distancia maxima permitida no eixo Y para membro da party ganhar exp. expShareRadiusZ = 1 -- Distancia maxima permitida no eixo Z para membro da party ganhar exp. -- CONFIGURAÇÕES DE RINGS -- local rings = { -- [ID DO ANEL] = EXP MULTIPLICADA POR X EXP. [3048] = 2, [3049] = 4, [3050] = 6, } -- FIM DAS CONFIGURAÇÕES ---- Log V2.0 :
     
     
     
    Log V3.0 ( 03/02/2013 ) :
     
     
    Log V4.0 ( 12/11/2013 ) :
     
  5. Upvote
    Lolksky recebeu reputação de Gabriel Couto em Characters Market System (In Game)   
    teria como complementar e colocar as skills na informação dos chares à venda?
  6. Upvote
    Lolksky recebeu reputação de Gabriel Couto em Characters Market System (In Game)   
    O próprio player coloca seu char à venda?
    Quando compro um char, aparece a acc e passa da conta ou o char passa pra minha conta?
  7. Upvote
    Lolksky recebeu reputação de Gabriel Couto em Characters Market System (In Game)   
    haha de boa man, muito bom o scirpt, parabéns.REP +
  8. Upvote
    Lolksky deu reputação a LuckOake em Characters Market System (In Game)   
    Rapaz, até dá, mas ocuparia muito espaço e poderia zuar a lista toda, então melhor não fazer isso.
  9. Upvote
    Lolksky deu reputação a 1579091 em [Tfs 0.4][9.6 And Some Older] Offline Training - Bar (Barrinha 12:00H) Funcionando   
    Se quiser dar Rep então )!
  10. Upvote
    Lolksky deu reputação a Skymagnum em Erro Com "remove Item"   

     
     
     

     
     
  11. Upvote
    Lolksky recebeu reputação de exorcist em [Action] Snake System   
    Aew script funcionou perfeitamente. Mas gostaria de saber se não teria como você adapta-lo para quando o player fize-se X pontos ele ganha-se um item Y (aparecendo a msg "você conseguiu X pontos e ganhou Y item"), assim poderei usar em quest \o/
    OBS: só pode ganhar o item 1 vez cada player.
     
    E gostaria de saber também, onde eu edito a velocidade de cada nível de dificuldade.
  12. Upvote
    Lolksky deu reputação a Vodkart em Bless Com Aol   
    ai é só fazer o script...
     
    DropBless.lua

    function onDeath(cid, corpse, deathList) function HaveBless(cid) for i = 1,5 do if getPlayerBlessing(cid, i) then return true end end return false end if isPlayer(cid) and HaveBless(cid) and getPlayerSkullType(cid) < SKULL_RED then doCreatureSetDropLoot(cid, false) end return true end
     
     
    creaturescript.xml

    <event type="death" name="BlessDrop" event="script" value="DropBless.lua"/>
     
    creaturescript/script/login.lua

    registerCreatureEvent(cid, "BlessDrop")
  13. Upvote
    Lolksky recebeu reputação de exorcist em Level Points   
    É.. teria como alguém modificar epor para cada vocação poder usar os points em X skill, tipo: mages só podem usar em ML, HP e MP. Kina só pode usar em SWORD, AXE, CLUB e SHIELD. paladin em DIST., e SHIELD '-'
  14. Upvote
    Lolksky recebeu reputação de exorcist em [Creatureevent] Ataque E Sai Alguma Coisa   
    Seria dahora edita umas sprite... da um ataque, ranca um braço, uma perta \o
  15. Upvote
    Lolksky deu reputação a Vodkart em [Gfs] Guild Frag System   
    isso mesmo, é uma exp bônus
  16. Upvote
    Lolksky deu reputação a Vodkart em [Creaturescripts] Hit Message   
    kk
     
    deixa assim:
     
     
    local color = 145
  17. Upvote
    Lolksky recebeu reputação de exorcist em Começo Da City   
    São apenas conselhos cara:
    - use mais o RAW, para melhorar o quesito de BORDAS, e tome cuidado com bordas.. há u m erro na borda da montnaha ali (ao lado da escada)
    - evite deixar tudo muito quadrado, simétrico...
    - na 2° imagem: tem grama la dentro (auto board), a sala dom 2 baús, onde entra?, GIRE algumas mobílair para deixa rjunto a parede..
     
    enfim, algumas observações smepre vão bem... mas continue treinando que você conesegue cara
  18. Upvote
    Lolksky recebeu reputação de exorcist em Começo Da City   
    use autoboard pra afzer o básico, a base do mapa, depois uso o raw para detalahar...
    Algumas pessoas leem tutoriais, outras aprender fuçando e vendo fotos, eu particularmente, aprendi fuçando... mas vai de cada um
  19. Upvote
    Lolksky deu reputação a jhon992 em Action Que Muda O Destino Do Teleport   
    -----------------------------------------------------------------
     
    Com seu Mapa Editor, coloque os actions id nas alavanca e no teleport!
    Não testei, qualquer erro me fala;
  20. Upvote
    Lolksky recebeu reputação de exorcist em Death Cast   
    Eu não usaria a parte que informa pra qual MONSTRO morreu, derrepente o cara ta hunted,e aparece la "fulano morreu pra dragon", o povo que ta atraz dele vai ter uma noção de onde ele caça... assim tira um povo do RPG de "procura" o nego pra debuia na SD
     
    é apenas minha opnião, ma so script está otimo
  21. Upvote
    Lolksky recebeu reputação de exorcist em Annihilator (Global)   
    Meu caro, tem um pequeno erro no mapa (pelo menos na imagem que vc colocu no tópico), aqueles coal basin que ficam ao lado dos demons estão em posições eradas o de baixo ou de cima devem ir 1 SQM para o lado para que todos players tenham um demon atacando eles, entendeu?
  22. Upvote
    Lolksky deu reputação a jhon992 em Teleport Que Muda O "pvp" Do Player   
    Não testei, mais deve funcionar. La vai:
     
    Vai em data/actions/scripts duplica um arquivo e nomeie para "tptype" sem as aspas e nele cole:

    function onStepIn(cid, item, pos) storageBattle = 102081 storageExausted = 102082 exaustedSeconds = 600 -- exausted em segundos if(exhaustion.check(cid, storageExausted) == TRUE) then if (exhaustion.get(cid, 102082) >= 60) then doPlayerSendCancel(cid, "Você só pode entrar no teleport após [" .. math.floor(exhaustion.get(cid, 102082) / 60 + 1) .."] minutos.") end if (exhaustion.get(cid, 102082) <= 60) then doPlayerSendCancel(cid, "Você só pode entrar no teleport após [" .. exhaustion.get(cid, 102082).."] segundos.") end return TRUE end if (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não pode usar com battle.") return TRUE end if (getCreatureSkullType(cid) > 0) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não pode usar com caveira.") return TRUE end if (getPlayerStorageValue(cid, 102081) <= 0) then setPlayerStorageValue(cid, 102081, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Agora você está em modo pacífico.") exhaustion.set(cid, storageExausted, exaustedSeconds) else setPlayerStorageValue(cid, 102081, 0) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Agora você está em modo ofensivo.") exhaustion.set(cid, storageExausted, exaustedSeconds) end return TRUE end
     
    Depois vai em data/actions/actions.xml e cole a tag:

    <action actionid="2015" event="script" value="tptype.lua"/>
     
    Agora vai em data/creaturescripts/creaturescripts.xml e cole a tag:

    <event type="combat" name="CombatAttack" event="script" value="combat.lua"/>
     
    Vai em data/creaturescripts/scripts, duplica um arquivo, nomeia para "combat" sem as aspas e nele cole:

    function onCombat(cid, target) if getPlayerStorageValue(cid, 102081) > 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não pode atacar.") return FALSE end return TRUE end
     
    E por último, abra o arquivo "login" na pasta data/creaturescripts/scripts e cole esta tag antes do último return true:

    registerCreatureEvent(cid, "CombatAttack")
     
    Só não esquece de com o mapa editor ir no teleport de sua preferencia e colocar o actionid = 2015.
  23. Upvote
    Lolksky recebeu reputação de pessoa93 em Alguns Sripts   
    BOOTS:
    Escolha a boots que você quer e add isso embaixo dela nos atributos (usei o fur boots - 7457) como exemplo, pode alterar a sua escolha
     
     
    <item id="7457" article="a" name="fur boots">
    <attribute key="weight" value="800" /> peso da boots (800 = 80 oz)
    <attribute key="slotType" value="feet" /> não altere
    <attribute key="decayTo" value="7457" /> aqui você coloca o ID do item que vai se tranforma quando acaba as changes, caso queira infinito, deix eo mesmo ID do item.
    <attribute key="transformDeEquipTo" value="7457" /> deixa o mesmo ID do item
    <attribute key="duration" value="14400" /> duração em segundos
    <attribute key="healthGain" value="3" /> quanto em quanto de HP vai ganhar
    <attribute key="healthTicks" value="2000" /> quantos em quantos segundos vai recupera HP (2000 = 2 seg)
    <attribute key="manaGain" value="5" /> quanto em quanto de MP vai ganhar
    <attribute key="manaTicks" value="2000" /> quantos em quantos segundos vai recupera MP (2000 = 2 seg)
    <attribute key="showduration" value="1" /> aparecer no look quanto tempo ainda resta, se for infinito tire essa tag
    </item>
     
    OBS: remova tudo que está em negrito
     
    Agora vá em movements.XML, procure por "<!-- Boots -->" e add isso:
    <movevent type="Equip" itemid="7457" slot="feet" event="function" value="onEquipItem"/>
    <movevent type="DeEquip" itemid="7457" slot="feet" event="function" value="onDeEquipItem"/>
     
    QUANTO AOS ADDSKILL:
    Não basta apenas por a TAG <attribute key="skillDist" value="2" />, <attribute key="skillSword" value="2" /> ETC.
    Para funcionar, o item tem que estar registrado no "movement.XML" da mesma forma que coloquei ai encima na BOOTS.
  24. Upvote
    Lolksky recebeu reputação de Mimizinha em Global Drop E Premium Loot   
    Olha, quanto ao 2°, eu ja vi num outro site de OT (famoso e talz - nao posso citar o nome -), portanto nunca testei lá e nem sei s efunfa, se vocÊ procura lá, acho que você encontra.
    Vo ve se acho aqui, caso eu ache, te mando por PM
    ______
     
    te mandei PM, quanto ao lootrate, nao sei s eé exatamente o que você procura.
     
    mais ele aument ao skill rate (ai você usa se quiser)
  25. Upvote
    Lolksky recebeu reputação de 1579091 em Itens Agrupaveis Que Se Juntam Automaticamente Ao Pegar.   
    Isso se chama auto-stacking, e é uma alteração no DISTRO, procure por "auto-stacking" que você acha aqui no forum mesmo.
  • Quem Está Navegando   0 membros estão online

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