Ir para conteúdo

SmiX

Conde
  • Total de itens

    963
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que SmiX postou

  1. SmiX

    NPC que vende item

    Cria um arquivo em: data/npc com qualquer nome e cola isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="SmiX" script="default.lua" walkinterval="32000000" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="520" head="115" body="88" legs="114" feet="0"/> <parameters> <parameter key="message_greet" value="Hello dear customer! Are you here to see my offers? Come on, lets {trade}!"/> <parameter key="message_farewell" value="Good bye!"/> <parameter key="message_idletimeout" value="Good bye!"/> <parameter key="message_walkaway" value="Good bye!"/> <parameter key="module_shop" value="1"/> <parameter key="shop_buyable" value="nome do item a ser vendido, id do item , preço; nome de outro item, id do item, preço"/> </parameters> </npc>
  2. Se você editar a tabela corretamente, vai funcionar: local config = { waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}, vialSoul = 2362, -- Id do vial soul }
  3. Tó: local vocs ={ [1] = {effect = 234}, [2] = {effect = 234}, [3] = {effect = 13} } --- Id da vocação, efeito --- function onThink(cid, interval) local voc = getPlayerVocation(cid) if vocs[voc] then local efeito = vocs[voc].effect doSendMagicEffect(getCreaturePosition(cid), efeito) return true end return true end
  4. Seu script não está de acordo com o pedido.
  5. @Roksas Preste mais atenção, quando for tentar sanar uma dúvida.
  6. Tenta assim: Em actions/scripts cole esse script: local config = { waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}, vialSoul = 2362, -- Id do vial soul } function onUse(cid, item, item2) if isInArray(item2.itemid, config.waters) then doTransformItem(item.uid, config.vialSoul) doSendMagicEffect(getThingPos(cid), 13) end end em actions.XML cole isso: <action itemid="id do vial sem nada" event="script" value="nome do arquivo.lua"/>
  7. Como eu já vi alguém falando isso, vou fazer também. Tó: function onStepIn(cid, item, frompos, item2, topos) if item.actionid == 4839 then if not isPlayer(cid) then return true end if getPlayerSoul(cid) <= 200 then doPlayerAddSoulInSeconds(cid, 40) addEvent(doPlayerAddSoulInSeconds, 1500, cid, soulInSeconds) addEvent(doPlayerAddSoulInSeconds, 1500, cid, soulInSeconds) addEvent(doPlayerAddSoulInSeconds, 1500, cid, soulInSeconds) addEvent(doPlayerAddSoulInSeconds, 1500, cid, soulInSeconds) end end end function doPlayerAddSoulInSeconds(cid, soulInSeconds) doSendMagicEffect(getThingPos(cid), 13) doPlayerAddSoul(cid, soulInSeconds) end
  8. Foi mau o erro, tenta esse: function onStepIn(cid, item, frompos, item2, topos) if item.actionid == 4839 then if not isPlayer(cid) then return true end if getPlayerSoul(cid) <= 200 then doPlayerAddSoulInSeconds(cid, 40, item) end end end function doPlayerAddSoulInSeconds(cid, soulInSeconds, item) if item.actionid == 4839 then doSendMagicEffect(getThingPos(cid), 13) doPlayerAddSoul(cid, soulInSeconds) end addEvent(doPlayerAddSoulInSeconds, 1500, cid, soulInSeconds) end
  9. Vai em movements, faz um arquivo com qualquer nome e coloca o script que passei, logo após coloque esta tag aqui em "movements.XML": <movevent type="StepIn" actionid="4839" event="script" value="nome do arquvio.lua"/>
  10. SmiX

    Pedido de Tutorial

    Coloca o seu item.OTM e item.XML no diretório: (Remere's Map Editor\data\versão do seu servidor) pronto agora é só testar e viver feliz ^}^.
  11. SmiX

    Bauzinho

    Reportado para que movam.
  12. Para o efeito, tenta usar este aqui: local vocs = { [1] = {effect = 234}, [2] = {effect = 234}, [3] = {effect = 13} } --- Id da vocação, efeito --- function onThink(cid, interval) local voc = getPlayerVocation(cid) if vocs[voc] then local efeito = vocs[voc].effect doSendMagicEffect(getCreaturePosition(cid), efeito) return true end local time = -1 addEvent(function(), time*1000) return true end
  13. Script atualizado, agora com: [font=comic sans ms,cursive]1ª, 2ª e shinys pokémons.[/font] [font=comic sans ms,cursive]Se estiver usando a boost stone o máximo de boost é 80 caso contrario será 50.[/font]
  14. Olá galera, quem tem saudades da SvkE? Eu tenho e muitas e quando eu olho um post que lembra eles, choro, choro e choro. Segui o link: Link SvkE Post Quem queria voltar a jogar? Quem gostava dos GODS(TurtLe, Darone, Zeuglaudios e Skulls)
  15. Reportado para que movam. @Pergunta Mudei uma coisinha ali, secreto. kkk Mudei a parte que tem o " math.ceil" tinha uma multiplicação lá.
  16. Tenta assim: local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 2.0, manaMultiplier = 1.5 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {450, 500}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {650, 680}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {110, 140}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {420, 470}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {400, 450}, mana = {290, 330}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return true end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2])))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2])))) then return false end doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end end
  17. @GuhPk Tem sim, mais na próxima atualização eu boto.
  18. SmiX

    Bauzinho

    Já coloquei uma explicação, olhe novamente.
  19. SmiX

    Bauzinho

    Tenta assim: Vai em data/talkaction e crie um arquivo qualquer, com o nome que quiser e cole isto dentro: function onSay(cid, words, param, channel) local split = param:explode(",") local name, count = split[1], tonumber(split[2]) pid = getPlayerByNameWildcard(name) if (not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " is not currently online.") return TRUE end if not(split[2]) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The commands requires 2 parameters: character name, amount") end if not(count) then print(count) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Numeric parameter required.") end setPlayerStorageValue(pid, 2343, count) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "" .. count .. " points were added to " .. getCreatureName(pid) .. "\'s Account.") return true end Em talkactions.xml cole esta tag: <talkaction words="/addpoints" access="5" event="script" value="nome do arquivo.lua"/> Com o GOD você fala "/addpoints nome do player, número de points". Agora ainda em talkactions crie o segundo arquivo,e cole este script: function onSay(cid, words, param, channel) doPlayerSendTextMessage(cid, 27, "Você tem: "..getPlayerStorageValue(cid, 2343).." Points em sua conta.") return true end Em talkactions.xml cole esta tag: <talkaction words="/mypoints" event="script" value="nome do arquivo.lua"/> Fale com um player "/mypoints" e confira quantos points você tem. Agora em data/actions/scripts faça o mesmo procedimento: local config = { pointsNessecerys = 5, -- Pontos necessários para realizar a quest reward = 2160, -- Item que vai ganhar count = 4, -- Quantidade de itens que vai ganhar } function onUse(cid, item) if getPlayerStorageValue(cid, 4756) < 1 then if getPlayerStorageValue(cid, 2343) >= config.pointsNessecerys then setPlayerStorageValue(cid, 2343, getPlayerStorageValue(cid, 2343) - config.pointsNessecerys) doPlayerAddItem(cid, config.reward, config.count) doSendMagicEffect(getThingPos(cid), math.random(28, 30)) setPlayerStorageValue(cid, 4756, 1) else doPlayerSendTextMessage(cid, 27, "Sorry, you need a "..config.pointsNessecerys.." for complet the quest.") return true end else doPlayerSendTextMessage(cid, 27, "Sorry, the chest is empyt.") return true end end Em actions.xml cole esta tag:: <action actionid="3745" event="script" value="nome do arquivo.lua"/> Coloque uma actionid no baú, use o rme editor, com o número: 3745
  20. @Roksas De exemplo de estagiário, erre pouco, e não extravagantemente como você fez no script que passou ¬¬'. Corrigi seu script, caso o Usuário queira usa-lo: function onDeath(cid) if not isPlayer(cid) then return true end local pid = getPlayerGUID(cid) local level = getPlayerLevel(cid) db.executeQuery("UPDATE `players` SET `level` = "..math.floor(level-2).." WHERE `id` = ".. pid ..";") return TRUE end
  21. SmiX

    Npc de addons!

    Tente assim: 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 config = { itemNeeded = 2160, count = 5, addonName = "Assassin", outfitId = 310, giveAddons = 2, storage = 3847, } if (msgcontains(msg, config.addonName)) then if doPlayerRemoveItem(cid, config.itemNeeded, config.count) then else selfSay('Sorry, you need a '..config.count..' of '..getItemNameById(config.itemNeeded)..' for complet a my trade.', cid) end if getPlayerStorageValue(cid, config.storage) < 1 then else return selfSay('Sorry, you this have a addon of '..config.addonName..' Outfit.', cid) end selfSay("Well I give you "..config.addonName..", the more you need to give me certain items do you accept this trade? ", cid) talkState[talkUser] = 1 elseif(msgcontains(msg, "yes")) and talkState[talkUser] == 1 then selfSay("Thank you, you can look at your inventory of outfits.",cid) talkState[talkUser] = 0 doPlayerAddOutfit(cid,config.outfitId, config.giveAddons) setPlayerStorageValue(cid, config.storage, 1) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Esse servi de base para os outros. Fale "hi", "Assassin" e "yes".
  • Quem Está Navegando   0 membros estão online

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