-
Total de itens
3406 -
Registro em
-
Última visita
-
Dias Ganhos
113
Tudo que Vodkart postou
-
pronto, se ele só digitar !rank vai mostrar o de level, alguém tem alguma idéia para adicionar algum outro rank?
-
no servidor do matheus nunca funciona nada, incrível isso
-
@up esse script é pra teleportar tds pra uma pos, até os que tao offline usa esse: function onSay(cid, words, param) local on = getPlayersOnline() for i = 1, #on do if getPlayerAccess(on[i]) < 3 then doTeleportThing(on[i], getTownTemplePosition(getPlayerTown(on[i]))) end end return true end
-
data/npc Elemental.xml <?xml version="1.0"?> <npc name="Elemental" script="data/npc/scripts/elementos.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Qual elemento deseja aprender?"/> </parameters> </npc> data/npc/script elementos.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 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 msg,stor = string.lower(msg),754487 local elements = { ["fire"] = {"Find Person","Flame Strike","Blood Rage","Challenge","Fierce Berserk"}, ["water"] = {"Find Person","Flame Strike","Blood Rage","Challenge","Fierce Berserk"}, ["earth"] = {"Find Person","Flame Strike","Blood Rage","Challenge","Fierce Berserk"}, ["air"] = {"Find Person","Flame Strike","Blood Rage","Challenge","Fierce Berserk"}, ["thunder"] = {"Find Person","Flame Strike","Blood Rage","Challenge","Fierce Berserk"} } if elements[msg] then if getPlayerStorageValue(cid, stor) <= 0 then for _, spells in ipairs(elements[msg]) do doPlayerLearnInstantSpell(cid, spells) end setPlayerStorageValue(cid,stor,1) npcHandler:say("Parabéns, voce aprendeu o elemento do "..msg, cid) else npcHandler:say("você já escolheu seu elemento.", cid) end else npcHandler:say("este elemento não existe.", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
é o comando !rank que todo mundo conhece, mas agora reformulado e com alguns rank extras como frags, health, mana, magic level obs: caso alguém tenha alguma outra idéia de rank só postar que estaremos adicionando... --------------------------- data/talkactions/ranks.lua local config = { MaxPlayer = 20, fight_skills = { ['fist'] = 0, ['club'] = 1, ['sword'] = 2, ['axe'] = 3, ['distance'] = 4, ['shielding'] = 5, ['fishing'] = 6, ['dist'] = 4, ['shield'] = 5, ['fish'] = 6, }, other_skills = { [''] = "level", ['level'] = "level", ['magic'] = "maglevel", ['health'] = "healthmax", ['mana'] = "manamax" }, vocations = { ['sorcerer'] = {1,5}, ['druid'] = {2,6}, ['paladin'] = {3,7}, ['knight'] = {4,8} }, storages = { ['frags'] = 824544 } } function onSay(cid, words, param) local param,str = string.lower(param),"" if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] and not config.storages[param] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "este rank não existe.") return true end str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n" query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or config.storages[param] and db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..config.storages[param].." ORDER BY cast(value as INTEGER) DESC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;") if (query:getID() ~= -1) then k = 1 while true do str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or config.storages[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.storages[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "]" k = k + 1 if not(query:next()) or k > config.MaxPlayer then break end end query:free() end doShowTextDialog(cid,6500, str) return true end Em data/lib/050-function.lua adc function setFrags(cid) if not isCreature(cid) then return LUA_ERROR end setPlayerStorageValue(cid, 824544, getPlayerFrags(cid)) return doPlayerSave(cid) end data/creaturescript/script rankfrags.lua function onKill(cid, target, lastHit) if isPlayer(cid) and isPlayer(target) then addEvent(setFrags, 1, cid) end return true end data/creaturescript/script/login.lua antes do último return true adc: registerCreatureEvent(cid, "Rankfrags") setFrags(cid)
-
no caso cada elemento é uma vocação? exemplo: elemento fogo é voc 5 elemento terra é voc 4
-
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 msg,data = string.lower(msg),tostring(os.date("%X")):sub(1, 5) local hora = {"22:00","22:10"} local tabble = { ["andidote"] = {vocs = {1,2,3,4,5,6,7,8}, pergunta = {{"quanto de mana gasta essa magia?","18"},{"qualquer vocação pode usar essa magia? {yes} or {no}","yes"}}}, ["berseker"] = {vocs = {4,8}, pergunta = {{"quantos sqm essa magia atinge?","9"},{"quanto segundos é o Cooldown dessa magia?","4"}}} } if isInArray({"spells","responder","pergunta","aprender","spell","magia"}, msg) then if data >= hora[1] and data <= hora[2] then npcHandler:say("Qual magia você quer aprender meu amigo viajante?", cid) talkState[talkUser] = 1 else npcHandler:say("volte entre "..hora[1].." e "..hora[2], cid) end elseif talkState[talkUser] == 1 then if not tabble[msg] then npcHandler:say("você já aprendeu essa magia.", cid) return true elseif getPlayerLearnedInstantSpell(cid, msg) then talkState[talkUser] = 0 npcHandler:say("você já aprendeu essa magia.", cid) return true elseif not isInArray(tabble[msg].vocs, getPlayerVocation(cid)) then talkState[talkUser] = 0 npcHandler:say("você não tem vocação para aprender essa magia.", cid) return true end r,spell = tabble[msg].pergunta[math.random(#tabble[msg].pergunta)],msg npcHandler:say(r[1], cid) talkState[talkUser] = 2 elseif talkState[talkUser] == 2 then if msg == r[2] then doPlayerLearnInstantSpell(cid, spell) end npcHandler:say(msg == r[2] and "Resposta correta! você aprendeu uma nova magia chamada "..spell or "reposta errada!", cid) talkState[talkUser] = 0 elseif msg == "no" then selfSay("Tudo bem então", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
só vocação? level , premium nd?
-
lol aqui ta funcionando normal
-
entendi, mas não tem requisitos para ganhar a magia? por exemplo a magia: "Andidote" vocs = {1,2,3,4,5,6,7,8} price = 100 level = 10 premium = false esses requisitos aí, ou só acertar e ganhar a magia?
-
dá para fazer facilmente pelo onCombat amigo, não tem mistério nisso. eu estou indo trabalhar agr de tarde e estudar anoite, quando eu tiver um tempinho eu faço sem problema.
-
acho que tem sim, mas porque alguém faria isso? lol é pra poketibia?
-
missão do que criatura? vou te falar oque vc faz então local data = tostring(os.date("%X")):sub(1, 5) if data >= "22:00" and data <= "22:10" then -- pegar missão else msg('vc soh podera fazer a missao no outro dia') end
-
adc essa função na lib function doRemoveItemsFromList(cid,items) -- by vodka local count = 0 if table.maxn(items) > 0 then for i = 1, table.maxn(items) do if getPlayerItemCount(cid,items[i][1]) >= items[i][2] then count = count + 1 end end end if count == table.maxn(items) then for i = 1, table.maxn(items) do doPlayerRemoveItem(cid,items[i][1],items[i][2]) end else return false end return true end dps só usar assim: function onSay(cid, words, param) local remove = {{8262,1},{8263,1},{8264,1},{8265,1}} if not doRemoveItemsFromList(cid, remove) then doPlayerSendCancel(cid, 'Voce Precisa Das 4 Partes Do Amuleto Para Conseguir Formalo.') return true end doPlayerAddItem(cid,8266,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) doCreatureSay(cid, "!ShadownStaffQuest", TALKTYPE_ORANGE_1) return true end exemplo: local items = {{ID DO ITEM,QUANTIDADE}} dá para adc mais local items = {{2123,5},{2160,10},{2494,1}}
-
vc tem que adc o npc no RME e dps colocar um respaw no mapa pra ele ficar lá
-
vc quer colocar sem preço tanto pro casamento qnto por divorcio?
-
colocar oq no RME? lol não entendo nd de mapping kk
-
Alissow Ots 5.0! - Novas Imagens Na Página 6! (08/12)
tópico respondeu ao Alissow de Vodkart em Mapping Show-Off
a última imagem ta fodasticamente foda achei q vc tinha parado de mappiar baiano -
pedido Queria O Comando !frags Aparecendo No Default, Não No Meio Da Tela.
pergunta respondeu ao roriscrave de Vodkart em Scripts
local config = { useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')), advancedFragList = getBooleanFromString(getConfigValue('advancedFragList')) } function onSay(cid, words, param, channel) if(not config.useFragHandler) then return false end local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = { name = result:getDataString("name"), level = result:getDataInt("level"), date = result:getDataInt("date") } if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } if(config.advancedFragList) then local result = "Frags de hoje: " .. size.day .. ". Red skull= 5. Black Skull= 7." if(size.day > 0) then for _, content in ipairs(contents.day) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end result = result .. "\nFrags na semana: " .. (size.day + size.week) .. ". Red Skull= 15. Black Skull= 20." if(size.week > 0) then for _, content in ipairs(contents.week) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end result = result .. "\nFrags no mes: " .. (size.day + size.week + size.month) .. ". Red Skull= 25. Black Skull= 30." if(size.month > 0) then for _, content in ipairs(contents.month) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then result = result .. "\nYour " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, result) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You currently have " .. size.day .. " frags today, " .. (size.day + size.week) .. " this week and " .. (size.day + size.week + size.month) .. " this month.") if(size.day > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Last frag at " .. os.date("%d %B %Y %X", contents.day[1].date) .. " on level " .. contents.day[1].level .. " (" .. contents.day[1].name .. ").") end local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)) end end return true end -
nem to com vontade vou reportar o tópico para mover
-
mas estava mandando em cor vermelha a broadcast aqui está a lista das cores: MESSAGE_FIRST = 18 MESSAGE_STATUS_CONSOLE_RED = MESSAGE_FIRST MESSAGE_EVENT_ORANGE = 19 MESSAGE_STATUS_CONSOLE_ORANGE = 20 MESSAGE_STATUS_WARNING = 21 MESSAGE_EVENT_ADVANCE = 22 MESSAGE_EVENT_DEFAULT = 23 MESSAGE_STATUS_DEFAULT = 24 MESSAGE_INFO_DESCR = 25 MESSAGE_STATUS_SMALL = 26 MESSAGE_STATUS_CONSOLE_BLUE = 27 MESSAGE_LAST = MESSAGE_STATUS_CONSOLE_BLUE
-
ai nego fiz por hrs que é a mesma coisa function onSay(cid, words, param) local t = string.explode(string.lower(param), ",") if not t[1] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local player = getPlayerByNameWildcard(t[1]) if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end local hours,comment = not tonumber(t[2]) and 24 or tonumber(t[2]),not t[3] and "Motivo não especificado" or t[3] doBroadcastMessage("O jogador "..getCreatureName(player).." foi banido por "..comment, 18) doAddAccountBanishment(getPlayerAccountId(player), target, os.time() + hours*3600, 5, 2,comment, 0) doRemoveCreature(player) return true end /ban nick,horas,motivo exemplo: /ban Vodkart,48,banido por ser lindo se você não especificar as horas, ele será banido por 24 hrs.
-
não é isso, acontece que vocês só sabem pedir e não se interessam em aprender, querem criar um server com sistemas exclusivos, isso e aquilo mas não querem estudar. eu só comecei a mexer com script porque quando eu vinha fazer meus pedidos aqui, ninguém me ajudava, e resolvi ajudar o pessoal aqui com meu pouco conhecimento que adquiria, mas xtibia nunca mudou, ficou sendo a mesma coisa de sempre, banco de sangue sugas.
-
então beleza, não posso fazer nada... O engraçado é que se eu abrir 500 server e instalar o script vai funcionar, com vocês é sempre o contrário, porque será?
-
não leu o meu post? eu havia dito que era MODS lol são dois, a diferença é que um é por storage e o outro é por DB ai você escolhe qual o melhor pra vc
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.