Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    72

Tudo que zipter98 postou

  1. Tópico movido para dúvidas / pedidos resolvidos.
  2. zipter98

    Novas Escadas

    Tópico movido para dúvidas / pedidos resolvidos.
  3. Hm, deveras estranho. Abaixo de: local level_difference, points_gain, points_count = newLevel - oldLevel, points_per_level, getPlayerStorageValue(cid, 3920) < 0 and 0 or getPlayerStorageValue(cid, 3920) coloque: print("Pontos no momento: "..points_count) Depois, para baixo de: setPlayerStorageValue(cid, 3919, newLevel) coloque: print("Ganhando: "..(points_count + points_gain).." pontos.") Agora, abaixo de: setPlayerStorageValue(cid, 3920, points_count + points_gain) coloque: print("Agora, "..getPlayerStorageValue(cid, 3920).." pontos.") Informe tudo o que for imprimido no console.
  4. local storageValue = 1 -- Valor do storage necessário para que o jogador possa passar function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) or item.uid ~= 3202 then return true end if getPlayerStorageValue(cid, 5010) ~= storageValue then doPlayerSendCancel(cid, 'Você precisa completar a Anihilator Quest em Edron para entrar aqui.') doTeleportThing(cid, fromPosition) end return true end
  5. A seguinte função retorna uma lista com todos os summons do jogador. getCreatureSummons(cid) Iterando-a, você poderá conferir se o player possui ou não a determinada criatura invocada. Ex.: for _, summon in pairs(getCreatureSummons(cid)) do if getCreatureName(summon) == "nome_da_criatura" then --possui o summon especificado break end end
  6. Creatureevent: local points_per_level = xxx --Quantos pontos por nível o jogador irá ganhar. function onAdvance(cid, skill, oldLevel, newLevel) local level_difference, points_gain, points_count = newLevel - oldLevel, points_per_level, getPlayerStorageValue(cid, 3920) < 0 and 0 or getPlayerStorageValue(cid, 3920) if newLevel <= getPlayerStorageValue(cid, 3919) or skill ~= SKILL__LEVEL then return true elseif level_difference > 1 then points_gain = points_gain * level_difference end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You received "..points_gain.."x point(s) to trade in a NPC for more HP and mana. You have now <"..(points_count + points_gain).."> point(s).") setPlayerStorageValue(cid, 3919, newLevel) setPlayerStorageValue(cid, 3920, points_count + points_gain) return true end Não se esqueça de registrá-lo em login.lua. NPC:
  7. O objeto player não foi declarado nesta função. Logo, chamar um método nele não vai funcionar. Se você analisar o código da função, poderá reparar que ela tem como objetivo criar os valores padrões de uma vocação. Alterações dinâmicas nesses valores, eu particularmente faria no arquivo responsável pelo login do personagem.
  8. Tópico Movido Este tópico foi movido de "OTServ → Suporte OTServ → Suporte Scripting" para "OTServ → Suporte OTServ → Suporte Derivados → Pedidos e dúvidas resolvidos - Servidores derivados".
  9. Tópico Movido Este tópico foi movido de "OTServ → Suporte OTServ → Suporte Scripting" para "OTServ → Suporte OTServ → Suporte Derivados".
  10. Aceitar até aceita, mas apenas com DLL, que, no caso, você não vai encontrar de graça na internet.
  11. local item = xxx --ID do item necessário. 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 shopModule = ShopModule:new() npcHandler:addModule(shopModule) shopModule:addSellableItem({'abyss hammer'}, 7414, 20000, 'abyss hammer') shopModule:addSellableItem({'amazon armor'}, 2500, 2500, 'amazon armor') shopModule:addSellableItem({'amazon shield'}, 2537, 4000, 'amazon shield') shopModule:addSellableItem({'amber staff'}, 7426, 8000, 'amber staff') shopModule:addSellableItem({'angelic axe'}, 196, 5000, 'angelic axe') shopModule:addSellableItem({'arbalest'}, 5803, 20000, 'arbalest') shopModule:addSellableItem({'arcane staff'}, 2453, 25000, 'arcane staff') shopModule:addSellableItem({'assassin dagger'}, 7404, 20000, 'assassin dagger') shopModule:addSellableItem({'avenger'}, 6528, 20000, 'avenger') shopModule:addSellableItem({'berserker'}, 7403, 40000, 'berserker') shopModule:addSellableItem({'blessed sceptre'}, 7429, 50000, 'blessed sceptre') shopModule:addSellableItem({'blessed shield'}, 2523, 150000, 'blessed shield') function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local items = {[1] = 2190, [2] = 2182, [5] = 2190, [6] = 2182} if(msgcontains(msg, 'first rod') or msgcontains(msg, 'first wand')) then if(isSorcerer(cid) or isDruid(cid)) then if getPlayerItemCount(cid, item) < 1 then return selfSay("You need 1x "..getItemNameById(item)..".", cid) end if(getPlayerStorageValue(cid, 30002) == -1) then selfSay('So you ask me for a {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '} to begin your advanture?', cid) talkState[talkUser] = 1 else selfSay('What? I have already gave you one {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '}!', cid) end else selfSay('Sorry, you aren\'t a druid either a sorcerer.', cid) end elseif(msgcontains(msg, 'yes')) then if(talkState[talkUser] == 1) then doPlayerAddItem(cid, items[getPlayerVocation(cid)], 1) selfSay('Here you are young adept, take care yourself.', cid) setPlayerStorageValue(cid, 30002, 1) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then selfSay('Ok then.', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  12. Tópico movido para dúvidas / pedidos resolvidos.
  13. Tópico movido para dúvidas / pedidos resolvidos.
  14. @@soltore Basta usar o comando novamente.
  15. Membro kaleudd alertado. Já não é a primeira vez que você incita uma discussão, além de já ter sido advertido anteriormente por motivos semelhantes.
  16. Ah, sim. O problema estava na área. Comentário atualizado com as correções.
  17. Tópico Movido Este tópico foi movido de "OTServ → Suporte OTServ → Suporte Scripting" para "OTServ → Suporte OTServ → Suporte Derivados".
  18. Troque: return RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER por: return false
  19. Dê uma olhada em data/creaturescripts/scripts. Por ser um PDA, provavelmente o sistema se encontra em pokeexp.lua.
  20. pokemon moves.lua (data/lib): areas.lua: ionDelugeArea = { {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0} } exp2.0.lua (data/creaturescripts/scripts): Abaixo de: local damageCombat = combat Coloque: if getPlayerStorageValue(attacker, 2919) > os.time() then damageCombat = ELECTRICDAMAGE end No mesmo arquivo, abaixo de: if isSummon(attacker) and getPlayerStorageValue(getCreatureMaster(attacker), 86228) >= 1 then valor = valor*getClanPorcent(getCreatureMaster(attacker), combat, "atk") elseif isSummon(cid) and getPlayerStorageValue(getCreatureMaster(cid), 86228) >= 1 then valor = valor - (valor*getClanPorcent(getCreatureMaster(cid), combat, "def", pokes[getCreatureName(cid)].type, pokes[getCreatureName(cid)].type2)) end Coloque:
  • Quem Está Navegando   0 membros estão online

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