-
Total de itens
2553 -
Registro em
-
Última visita
-
Dias Ganhos
73
Tudo que zipter98 postou
-
A única coisa que não citei foi a tag da talkaction, que achei desnecessário criar, pois pensei que o autor seria capaz de criá-la. E há 3 funções main juntas num mesmo código (eu optei por fazer assim para não precisar criar 3 arquivos, ao invés de apenas um). Portanto, são 3 tags. Como você pôde ver, eu informei as 3 no início do código. E, também, como você não entendeu? Ué, cria um arquivo na pasta citada com extensão .lua, e então coloque o código lá. As tags, no arquivo .xml da respectiva pasta (talkactions - talkactions.xml/creaturescripts - creaturescripts.xml).
-
Todo código vindo de você é bem vindo, muito obrigado! Uma coisa que observei: no creaturescript, o doPlayerSendTextMessage não ocasionará erro de jogador não encontrado? #EDIT: Ah, antes estava sem o "tipo" de mensagem (no caso do atual código, MESSAGE_INFO_DESCR). O código; belo. A ideia; divertida. O NPC; útil. Não esperava menos do grande Garou/Oneshot.
-
data/talkactions/scripts local msg = "Agora seu sistema PvP está %s." function onSay(cid, words, param) local _table = { ["on"] = {"ativado", 1}, ["off"] = {"desativado", 0}, } if _table[param:lower()] then local mode = _table[param:lower()] setPlayerStorageValue(cid, 91821, mode[2]) doPlayerSendTextMessage(cid, 27, msg:format(mode[1])) end return true end data/creaturescripts/scripts --[[ Tags: <event type="statschange" name="PvPStats" event="script" value="nome do arquivo.lua"/> <event type="target" name="PvPTarget" event="script" value="nome do arquivo.lua"/> <event type="login" name="PvPLogin" event="script" value="nome do arquivo.lua"/> ]]-- function onTarget(cid, target) if isPlayer(target) and isPlayer(cid) then if getPlayerStorageValue(cid, 91821) < 1 then doPlayerSendCancel(cid, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.") return false end end return true end function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then if getPlayerStorageValue(attacker, 91821) < 1 then doPlayerSendCancel(attacker, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.") return false end end return true end function onLogin(cid) registerCreatureEvent(cid, "PvPTarget") registerCreatureEvent(cid, "PvPStats") return true end
-
Como você não especificou a quantidade dos items aleatórios, coloquei 1 mesmo. Bem, suponho que você saiba fazer o XML. Qualquer erro, só avisar. 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 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 trophy = { ["golden"] = {3, 7369}, --{Quantidade de items aleatórios, ID do troféu}, ["silver"] = {2, 7370}, ["bronze"] = {1, 7371}, } local items = {2158, 2156, 2154} if msgcontains(msg, "trophy") or msgcontains(msg, "trofeu") then selfSay("Oh, vejo que você quer trocar algum troféu por recompensas. Qual troféu seria este: {golden}, {silver} ou {bronze}?", cid) talkState[talkUser] = 1 return true elseif talkState[talkUser] == 1 then if trophy[msg:lower()] then local trofeu = trophy[msg:lower()] local id = trofeu[2] if getPlayerItemCount(cid, id) > 0 then for i = 1, trofeu[1] do doPlayerAddItem(cid, items[math.random(#items)], 1) end doPlayerRemoveItem(cid, id, 1) selfSay("Obrigado, aqui estão seus items!", cid) talkState[talkUser] = 0 return true else selfSay("Desculpe, mas você não tem este troféu.", cid) talkState[talkUser] = 0 return true end else selfSay("Desculpe, este troféu não existe.", cid) talkState[talkUser] = 0 return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
- 3 respostas
-
- item aleatorio
- resolvido
-
(e 1 mais)
Tags:
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
- 4 respostas
-
- yalahar quest
- yalahar azerus
- (e 4 mais)
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
[Encerrado] [Pedido] script shiny stone
tópico respondeu ao MaxxSilva de zipter98 em Tópicos Sem Resposta
Tópico movido para a seção de dúvidas e pedidos resolvidos.- 7 respostas
-
- shiny stone por quantidade
- resolvido
- (e 1 mais)
-
@mateus900 Por favor, evite comentários como "vou testar e já volto", por exemplo. Opte por só responder após já ter testado o(s) código(s), para então relatar se está ou não funcionando.
-
[Encerrado] [PEDIDO] Importar Sprites de um client
tópico respondeu ao Royalek de zipter98 em Tópicos Sem Resposta
Tópico movido para a seção de dúvidas e pedidos resolvidos. -
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
dúvida [Resolvido] Usar um item em outro item
pergunta respondeu ao AnneMotta de zipter98 em Resolvidos
Reputei o Garou (ainda prefiro Oneshot ) por você. Sanado, movido. -
Área incorreta, tópico movido. Mais cuidado da próxima vez. PS: Para não cometer mais erros assim, recomendo ler esse manual do fórum.
-
Área incorreta, tópico movido. Mais cuidado da próxima vez, por favor.
- 5 respostas
-
- recrutando
- otserv
-
(e 2 mais)
Tags:
-
Não entendi: você está divulgando seu servidor ou montando uma equipe? Bem, vou mover para a área respectiva à primeira opção. Se na verdade for a segunda, envie-me uma mensagem privada.
- 4 respostas
-
- servidor global
- light global
- (e 1 mais)
-
[Encerrado]Yu-Gi-Oh Server! Monstros de Duelo!
tópico respondeu ao GASParisio de zipter98 em Formação de Equipes
Área incorreta, tópico movido. Mais cuidado da próxima vez. PS: Projeto bem interessante, boa sorte. Pergunta: apenas monsters cards foram feitos? -
[Encerrado]Procuro Equipe Mapper
tópico respondeu ao helenofelipe de zipter98 em Formação de Equipes
Área incorreta, tópico movido. Preste mais atenção da próxima vez (além de errar a área, cometeu double topic). -
poketibia [Encerrado] [PEDIDO]Task Randomica
tópico respondeu ao Drk Shadow de zipter98 em Tópicos Sem Resposta
Tópico movido para a seção de dúvidas e pedidos resolvidos. -
O escritor de vocês tem talento, hein.
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
@MaxxSilva Na verdade, o correto é dark mesmo. Como você pode ver, o servidor utilizado pelo autor é PDA. Ou seja, em configuration.lua há essa variável global (a não ser que ele tenha retirado, é claro rs): dark = 11450 11450 é o ID da Darkness stone.
-
Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
local config = { playerCount = 2001, -- Global storage for counting the players in the event maxPlayers = 3, -- Max players who can participate } function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getGlobalStorageValue(config.playerCount) < config.maxPlayers then setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)+1) if getGlobalStorageValue(config.playerCount) == config.maxPlayers then doBroadcastMessage("O evento 'Zumbi' foi lotado! E começerá em alguns instantes.", MESSAGE_STATUS_CONSOLE_BLUE) else doBroadcastMessage("O jogador (" .. getPlayerName(cid) .. ") entrou no evento 'Zumbi'! Atualmente " .. getGlobalStorageValue(config.playerCount) .. " jogadores entraram!", MESSAGE_STATUS_CONSOLE_BLUE) doBroadcastMessage("Jogadores restantes para o evento começar: "..config.maxPlayers - getGlobalStorageValue(config.playerCount)..".", MESSAGE_STATUS_CONSOLE_BLUE) end else addEvent(tpBack, 1000, cid, fromPosition) doPlayerSendCancel(cid, "") doBroadcastMessage("[EVENTO ZUMBI MENSAGEM] está cheio. Já existe " .. config.maxPlayers .. " jogadores participando.", MESSAGE_STATUS_CONSOLE_ORANGE) return false end print(getStorage(config.playerCount) .. " Players in the zombie event.") return true end function tpBack(cid, fromPosition) doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) end
-
Duel System.lua, por favor. PS: Se não sabe onde é, data/lib.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.