-
Total de itens
46 -
Registro em
-
Última visita
Tipo de Conteúdo
Perfis
Fóruns
Calendário
Publique
Posts postados por Tio Rusher
-
-
qual problema esta tendo mais precisamente?
-
local respGrande = {"Pupitar", "Tyranitar", "Skarmory", "Magcargo", "Ampharos", "Xatu", "Crobat", "Typhlosion", "Magmar", "Electabuzz", "Cubone", "Marowak", "Electrode", "Charizard", "Oddish", "Paras", "Parasect"} local respMedio = {"Lanturn", "Dratini", "Dragonair", "Snorlax", "Krabby", "Kingler", "Gengar", "Pidgeot", "Raichu", "Machamp"} local respPequeno = {"Steelix", "Sudowoodo", "Feraligatr", "Meganium", "Dragonite", "Gyarados", "Pinsir", "Tauros", "Jynx", "Scyther", "Mr. mime", "Horsea", "Seadra", "Tangela", "Grimer", "Muk", "Tentacool", "Tentacruel", "Farfetch'd", "Growlithe", "Arcanine", "Alakazam", "Venusaur", "Blastoise", "Butterfree", "Beedrill", "Ratatta", "Raticate", "Golbat", "Venonat", "Venomoth"} local shinykarp = {"Magikarp"} local pokemonMega = {"Alakazam"} function onSpawn(cid) if isSummon(cid) then return true end if not isCreature(cid) then return true end if getCreatureName(cid) == "" or getCreatureName(cid) == nil then setPlayerStorageValue(cid, 510, getCreatureNick(cid)) end registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "WildAttack") registerCreatureEvent(cid, "PokeWalk") if not ehMonstro(cid) then setPokemonGhost(cid) if getCreatureName(cid):find("Shiny ") then setPlayerStorageValue(cid, storages.EhShiny, 1) end return true end local name = getCreatureName(cid) local pos = getThingPos(cid) addEvent(function() if not isSummon(cid) and not isShinyName(name) then local chance = 0 if isInArray(respGrande, doCorrectString(name)) then --alterado v1.9 \/ chance = 20 elseif isInArray(respMedio, doCorrectString(name)) then chance = 25 elseif isInArray(respPequeno, doCorrectString(name)) then chance = 30 elseif isInArray(pokemonMega, doCorrectString(name)) then chance = 10 end local function doShiny(cid, pos, name, mode) if pos and name then name = "Shiny "..name if not pokes[name] then return true end doSendMagicEffect(pos, 18) doCreateMonsterNick(cid, name, retireShinyName(name), pos, false) end end if math.random(1, 1000) <= chance then doRemoveCreature(cid) doShiny(cid, pos, name, 1) return true end local storages = {"Hoodeasy", "Hoodmedium", "Hoodhard", "Hoodexpert", "Hoodlendary"} for i = 1, #storages do if isShinyName(name) and getPlayerStorageValue(cid, storages[i]) >= 1 then doRemoveCreature(cid) end end end local spawn_arrs = { {frompos = {x = 1922, y = 41, z = 7}, topos = {x = 2833, y = 1428, z = 7}}, } for _, arr in pairs(spawn_arrs) do if isInRange(pos, arr.frompos, arr.topos) then if isWild(cid) and string.find(name, "Shiny") and not isInArray({"Shiny Salamence", "Shiny Scizor", "Shiny Magmortar", "Shiny Electivire"}, name) then doRemoveCreature(cid) end end end if isInArray({"Abporygon", "Aporygon"}, name) then doCreatureSetHideHealth(cid, true) end if isWild(cid) and getCreatureName(cid) == "Magikarp" then if math.random(1, 5000) <= 25 then doRemoveCreature(cid) doCreateMonster("Feebas", pos, false) end end if isWild(cid) and isHoenn(getCreatureName(cid)) then if math.random(1, 5000) <= 25 then local sorte = bossName[math.random(#bossName)] doRemoveCreature(cid) doCreateMonster(sorte, pos, false) end end if not isSummon(cid) then adjustWildPoke(cid) end if isPokePassive(cid) then setPokemonPassive(cid, true) end end, 5) setPokemonGhost(cid) doMarkedPos(cid, getThingPos(cid)) setSmeargle(cid) addEvent(Camouflage, 5, cid) return true end function Camouflage(cid) if isWild(cid) and getCreatureName(cid) == "Kecleon" then doSetCreatureOutfit(cid, {lookType = 2057}, -1) doCreatureSetHideHealth(cid, true) end end function setSmeargle(cid) if isSummon(cid) then return true end if getCreatureName(cid):find("Smeargle") then local id = math.random(5, 6) if math.random(1, 500) <= 50 then id = math.random(7, 8) end setPlayerStorageValue(cid, storages.SmeargleID, "Smeargle " .. id) end end
-
alterou o ip do client no entergame?
-
Taskstr = {} local pokemonTable = { storages = { storeInformations = 432415, }, NpcName = "Gabriel", reward = {{2160, 100}, {15645, 10}}, exp = 2000, pokemons = { ["KISAME_NAME"] = 2, ["OROCHIMARU_NAME"] = 3, }, doOnlyOne = true, } 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 onThink() npcHandler:onThink() end function onCreatureSay(cid, type1, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msg:lower() == "hi" then if getPlayerStorageValue(cid, pokemonTable.storages.storeInformations) == -1 then Taskstr[talkUser] = {} for a, b in pairs(pokemonTable.pokemons) do table.insert(Taskstr[talkUser], b.." "..a.."s") end local KAKAMESSAGE = doConcatTable(Taskstr[talkUser], ", ", " e ") selfSay("Olá, eu posso te dá task de "..KAKAMESSAGE..".", cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, pokemonTable.storages.storeInformations) == 1 then selfSay("Não preciso mais da sua ajuda, obrigado!", cid) else local tab = string.explode(getPlayerStorageValue(cid, pokemonTable.storages.storeInformations), "|") selfSay("Você já terminou a minha task?", cid) talkState[talkUser] = 3 end elseif talkState[talkUser] == 1 and (pokemonTable.pokemons[doCorrectString(msg)] or isInArray({"yes", "sim"}, msg:lower())) then pName = doCorrectString(msg) selfSay("Você tem certeza disso?", cid) talkState[talkUser] = 2 elseif talkState[talkUser] == 2 then if isInArray({"yes", "sim"}, msg:lower()) then Taskstr[talkUser] = {} for a, b in pairs(pokemonTable.pokemons) do table.insert(Taskstr[talkUser], a..","..b) end setPlayerStorageValue(cid, pokemonTable.storages.storeInformations,pokemonTable.NpcName.."|"..table.concat(Taskstr[talkUser], "|")) selfSay("Ok, vá terminar a task!", cid) elseif isInArray({"no", "não", "nao"}, msg:lower()) then selfSay("Você quem sabe.", cid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 3 then if isInArray({"yes", "sim"}, msg:lower()) then local tab = string.explode(getPlayerStorageValue(cid, pokemonTable.storages.storeInformations), "|") if not tab[2] then doPlayerAddExperience(cid, pokemonTable.exp) doSendAnimatedText(getThingPos(cid), pokemonTable.exp, 215) for a, b in pairs(pokemonTable.reward) do doPlayerAddItem(cid, b[1], b[2]) end if pokemonTable.doOnlyOne then setPlayerStorageValue(cid, pokemonTable.storages.storeInformations, 1) else setPlayerStorageValue(cid, pokemonTable.storages.storeInformations, -1) end -- setPlayerStorageValue(cid, stoNumber, Value) selfSay("Você finalizou a task! Pegue seus prêmios.", cid) talkState[talkUser] = 0 else talkState[talkUser] = 0 local str1 = {} local tab = string.explode(getPlayerStorageValue(cid, pokemonTable.storages.storeInformations), "|") for i = 2, #tab do expe = tab[i]:explode(",") table.insert(str1, expe[2].." "..expe[1]..(tonumber(expe[2]) > 1 and "s" or "")) end selfSay("Está faltando você matar ".. doConcatTable(str1, ", ", " e ") .." desta espécie!", cid) end elseif isInArray({"no", "não", "nao"}, msg:lower()) then selfSay("Ok, então vá terminar de matá-los!", cid) talkState[talkUser] = 0 elseif isInArray({"left", "leave", "desistir"}, msg:lower()) then setPlayerStorageValue(cid, pokemonTable.storages.storeInformations, -1) selfSay("Ok, pedirei ajuda a alguém mais corajoso!", cid) talkState[talkUser] = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Outra solução pratica se não conseguir, é colocar todos itens da quest pra vir dentro de uma Backpack
-
local config = { -- item que irá usar, nome do monstro, cowdown, remover? [19846] = {name = "Guardião1", cd = 2 * 60 * 60, remove = true}, [19847] = {name = "Guardião2", cd = 2 * 60 * 60, remove = true}, [19848] = {name = "Guardião3", cd = 2 * 60 * 60, remove = true} local cdStorage = 53799 function onUse(cid, item, frompos, item2, topos) local usedItem = config[item.itemid] if usedItem then if getPlayerLevel(cid) >= 120 then local att = getPlayerStorageValue(cid, cdStorage) if att == -1 or os.time() >= tonumber(att)+usedItem.cd or isGod(cid) then if getChanceCard(item.uid) >= 1 then doCreateNpcWithFocus(usedItem.name, getClosestFreeTile(cid, getCreaturePosition(cid)), cid) setPlayerStorageValue(cid, cdStorage, os.time()) --setPlayerStorageValue(cid, 2152525, 1) removeChanceCard(item.uid) doSendMsg(cid, "Para mais informações sobre, visite: https://pokerusher.com/c/teste") else if usedItem.remove then doRemoveItem(item.uid, 1) end end else stringTime = math.floor(((tonumber(att)+usedItem.cd)-os.time())) stringMinOrSec = "segundos" if stringTime > 60 then stringTime = math.floor(stringTime/60) stringMinOrSec = "minutos" end doPlayerSendCancel(cid, "Você poderá usar novamente em: "..stringTime.." "..stringMinOrSec) end end else doPlayerSendCancel(cid, "Você precisa de level 120 para poder este item.") end return true end
-
no arquivo config.lua
altere ip = "localhost" paraip = "127.0.0.1"
altere sqlType = "mysql" para
sqlType = "sqlite"
altere sqlDatabase = " para
sqlDatabase = ""
altere sqlFile = "" paranomeDoArquivo.sb3 -- qualquer arquivo .sb3(ao menos acho que é assim o formato, não tenho ctz) disponivel na pasta do servidor
-
Você selecionou a pasta do .exe do cliente, precisa ser a pasta que contem o .spr e .dat
-
toda database online é obrigatóriamente em .SQL, as dll são para outras coisas não relacionadas, se a sql não estiver disponivel nos arquivos do game você pode tentar setar as tabelas de outro poketibia e ir corrigindo as que faltar
ex:
CREATE TABLE IF NOT EXISTS `accounts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL DEFAULT '', `password` varchar(255) NOT NULL, `premdays` int(11) NOT NULL DEFAULT '0', `lastday` int(10) unsigned NOT NULL DEFAULT '0', `email` varchar(255) NOT NULL DEFAULT '', `key` varchar(128) NOT NULL DEFAULT '', `blocked` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'internal usage', `warnings` int(11) NOT NULL DEFAULT '0', `group_id` int(11) NOT NULL DEFAULT '1', `viptime` int(11) NOT NULL DEFAULT '0', `page_access` int(11) DEFAULT NULL, `page_lastday` int(11) DEFAULT NULL, `email_new` varchar(255) DEFAULT NULL, `email_new_time` int(15) DEFAULT NULL, `rlname` varchar(255) DEFAULT NULL, `location` varchar(255) DEFAULT NULL, `created` int(16) DEFAULT NULL, `email_code` varchar(255) DEFAULT NULL, `next_email` int(11) DEFAULT NULL, `premium_points` int(11) DEFAULT NULL, `nickname` char(48) DEFAULT NULL, `avatar` char(48) DEFAULT NULL, `about_me` text, `create_ip` int(11) NOT NULL, `create_date` int(11) NOT NULL, `last_post` int(11) NOT NULL, `flag` int(11) NOT NULL, `vip_time` int(15) NOT NULL DEFAULT '0', `guild_points` int(15) NOT NULL DEFAULT '0', `vote` int(15) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4838 ; -- -- Extraindo dados da tabela `accounts` -- INSERT INTO `accounts` (`id`, `name`, `password`, `premdays`, `lastday`, `email`, `key`, `blocked`, `warnings`, `group_id`, `viptime`, `page_access`, `page_lastday`, `email_new`, `email_new_time`, `rlname`, `location`, `created`, `email_code`, `next_email`, `premium_points`, `nickname`, `avatar`, `about_me`, `create_ip`, `create_date`, `last_post`, `flag`, `vip_time`, `guild_points`, `vote`) VALUES (2, 'kkkkk32515', 'f67870b4480dc562d8ccd0bc85e51e867485d7fd', 0, 1558209029, '', '', 0, 0, 1, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0), (1682, 'adm', '42ef63e7836ef622d9185c1a456051edf16095cc', 90, 1558214143, '[email protected]', '', 0, 0, 1, 0, NULL, NULL, NULL, NULL, '', '', NULL, NULL, NULL, 0, 'Allan harlen', NULL, NULL, 0, 0, 0, 0, 0, 0, 0); -- -- Gatilhos `accounts` -- DROP TRIGGER IF EXISTS `ondelete_accounts`; DELIMITER // CREATE TRIGGER `ondelete_accounts` BEFORE DELETE ON `accounts` FOR EACH ROW BEGIN DELETE FROM `bans` WHERE `type` IN (3, 4) AND `value` = OLD.`id`; END // DELIMITER ;
-
o comando esta correto, tenta trocar a versão do phpmyadmin
DELETE FROM `bloodsv`,`accounts` WHERE `accounts`,`id` = 1688 -- ID DA CONTA
-
O projeto foi comprado a um tempo atrás, open-source client/servidor
Porem, sem a pasta 'dev-cpp', então eu criei um novo projeto em .DEV, e ao compilar seta alguns erros, minhas duvidas são se seriam erros no código ou erro na configuração do projeto? E se eu deveria incluir uma pasta com arquivos tipo .PO que esta junto nas sources? -
local config = { removeOnUse = "yes", 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 = 1.0, manaMultiplier = 1.0 } 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, 11, 12}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {450, 550}, level = 80, vocations = {4, 8, 12}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {860, 890}, level = 130, vocations = {4, 8, 12}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {70, 130}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7, 9, 10, 11}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {350, 410}, level = 80, vocations = {1, 2, 5, 6, 9, 10}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {360, 450}, mana = {350, 390}, level = 80, vocations = {3, 7, 11}, vocStr = "paladins"} -- great spirit potion } local storageCoolDown = 6547 -- Valor da Storage, local storageTime = 5 -- Tempo em Segundos 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 player:getStorageValue(storageCoolDown) < os.time() then player:setStorageValue(storageCoolDown, os.time() + storageTime * 1000) combat:execute(creature, var) addEvent(function() combat:execute(creature, var) end, time_between_hits * 1000) else player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Você deve aguardar no mínimo " .. storageTime .. " segundos antes de utilizar esse feitiço.") return false end 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]) * config.healthMultiplier))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) 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 doRemoveItem(item.uid, 1) doPlayerAddItem(cid, potion.empty, 1) return true end
-
poderia postar o script?
-
pior que isso é erro no items.otb mesmo
Na config dentro do software vc selecionou o seu client e versao? e verificou se nao é transparency/extended?
-
testa assim
function onUse(cid, item, frompos, item2, topos) if item.uid == 60001 then if getPlayerStorageValue(cid,60001) == -1 then getContainerSize(uid) => 10 then -- 10 representa a quantidade de espaços necessarios local bag = doPlayerAddItem(cid,12764,1) -- Mude para o ID da BP doPlayerSendTextMessage(cid,25,"Voce completou a quest") doAddContainerItem(bag,12634,1) -- ID dos itens dentro do bau doAddContainerItem(bag,12664,1) doAddContainerItem(bag,12683,1) doAddContainerItem(bag,12697,1) doAddContainerItem(bag,12698,1) doAddContainerItem(bag,12716,1) doAddContainerItem(bag,12757,1) doAddContainerItem(bag,2672,100) doAddContainerItem(bag,12775,100) doAddContainerItem(bag,12776,100) setPlayerStorageValue(cid,60001,1) else doPlayerSendTextMessage(cid,25,"Voce ja pegou o item ou tem espaço insuficiente na sua mochila, são necessarios 10 Slots para essa quest") end return true end end
-
Estou com o tempo bem apertado, mas pode usar isso como base
Servidor/mods/nome.xml<?xml version="1.0" encoding="UTF-8"?> <mod name="Double Exp Global" enabled="yes" author="MatheusMkalo/Tio Rusher" forum="Xtibia/Tibia King"> <!-- Configuração --> <config name="PotionExpConfigs"><![CDATA[ ------ CONFIGURE SEU SCRIPT ------ TRUE ou FALSE configs = { time = 720, ---- Tempo em minutos needpa = FALSE, needlvl = {FALSE, level = 1}, costmana = {FALSE, mana = 1}, addrate = 100, -- Exp que vai adicionar em % removeonuse = TRUE } function getTime(s) local n = math.floor(s / 60) s = s - (60 * n) return n, s end CreatureEventChecker = function(event, ...) if isCreature(arg[1]) then event(unpack(arg)) end end creatureEvent = function(event, delay, ...) addEvent(CreatureEventChecker, delay, event, unpack(arg)) end function getPlayerExtraExpRate(cid) return (getPlayerRates(cid)[8]-1)*100 end ]]></config> <!-- exppotion.lua --> <action itemid="7440" event="script"><![CDATA[ -- ID do item domodlib('PotionExpConfigs') if getPlayerStorageValue(cid, 62164) >= 1 then doRemoveItem(item.uid, 1) return broadcastMessage("Um Double Exp foi ativado, e bla bla bla", MESSAGE_STATUS_CONSOLE_BLUE) end if configs.needpa and not isPremium(cid) then return doPlayerSendCancel(cid, "Voce precisa ser uma conta premmium para usar este item.") end if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then return doPlayerSendCancel(cid, "Voce precisa do nivel " .. configs.needlvl.level .. " para usar este item") end if configs.costmana[1] then if getCreatureMana(cid) < configs.costmana.mana then return doPlayerSendCancel(cid, "Voce precisa " .. configs.costmana.mana .. " mana para usar este item") else doCreatureAddMana(cid, -configs.costmana.mana) end end if configs.removeonuse then doRemoveItem(item.uid, 1) end for i = configs.time*60, 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == configs.time*60 then creatureEvent(doPlayerSendCancel, configs.time*60*1000, cid, "O efeito do Elexir do Conhecimento se esgotou") end creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "O Efeito do Elixir do conhecimento expira em: "..a.."minutos") end doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, configs.time *60*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) doPlayerSendTextMessage(cid, 22, "Agora voce esta sob o efeito do Elixir do conhecimento e ganhara double exp") setPlayerStorageValue(cid, 62164, os.time()) caixinha = creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 62164, 0) return TRUE ]]></action> <creaturescript type="login" name="ExpPotion" event="script"><![CDATA[ domodlib('PotionExpConfigs') local time = configs.time if os.time()-getPlayerStorageValue(cid, 62164) < time *60 then doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000 , cid, 62164, 0) for i = (time*60-(os.time()-getPlayerStorageValue(cid, 62164))), 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) then creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "O Efeito do Elixir do conhecimento chegou ao fim") end creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "O Efeito do Elixir do conhecimento expira em: "..a.." minutos") end end return TRUE ]]></creaturescript> </mod>
-
As skills ficam nessa pasta: \data\spells\scripts
pra modificar basta abrir o arquivo.lua da skill desejada e alterar como bem quiser, efeitos podem ser alterados diretamente no Object Builder tbm -
data/creaturescripts/scripts
local key = 500000 -- numero da storage function onDeath(cid, corpse, deathList) local killer = deathList[1] if not isPlayer(killer) then return true end doCreatureSetStorage(killer, key, 1) doPlayerSendTextMessage(killer, MESSAGE_INFO_DESCR, "Voce acaba de matar o grande ".. getCreatureName(cid) .."e realizou a conquista Morte Colossal, Parabéns!") return true end
creaturescripts.xml
<event type="death" name="onDeathStorage" event="script" value="ondeath_storage.lua"/>
No arquivo XML da criatura
<script> <event name="onDeathStorage"/> </script>
- Breniinx e koyotestark reagiu a isso
- 1
- 1
-
Bom dia
Base com as mesmas sprites do pxg provavelmente não vai encontrar amigo, mas tem um grande leque de bases disponiveis, as mais atualizadas provavelmente seriam as que foram postadas mais recentemente, disponiveis aqui
A respeito da segunda pergunta.. sim, é extremamente demorado e dificil fazer um Servidor sozinho, (ao menos algo bem feito é claro), pois é composto por varias coisas, ex: scripts, sprites, mapas, site, sistemas, etc -
Glr, em teoria o nickname nao deveria ficar no ultimo quadrado(32x32) do lado direito da sprite? aqui aparentemente nao esta automatico, mas sim setado para o nick ser criado em uma posição exata..
A área vermelha é o tamanho exato da sprite, entao o texto(nick) deveria ficar a cima dela..
Qual parte dos codigos é responsavel por isso?
Sem alterar a source nao teria como pegar a posição do nick, e adicionar uma borda a mais via module?
-
Pode ser bastante coisas, ja testou com Hamachi ou localhost pra ver se funciona?
-
resolvido por conta propria
-
XML
<globalevent name="UpdateOfert" time="18:54" event="script" value="atualizaShop.lua"/>
LUAfunction onTimer() db.executeQuery('DELETE FROM shop_offer WHERE id = 1') db.executeQuery('INSERT INTO shop_offer (`id`, `points`, `category`, `type`, `item`, `count`, `description`, `name`) VALUES (1, 299, 2, 8, 19244, 1, "Ao abrir o Addon Box, voce encontrara um Addon eleatorio", "Addon Box"') return true end
PRINT
Testei assim tbm, mas da na mesma
function onTimer() db.executeQuery('DELETE FROM shop_offer WHERE id = 1') db.executeQuery("INSERT INTO shop_offer (`id`, `points`, `category`, `type`, `item`, `count`, `description`, `name`) VALUES (1, 299, 2, 8, 19244, 1, 'Ao abrir o Addon Box, voce encontrara um Addon eleatorio', 'Addon Box'") return true end
-
só editei esse topico pra fazer outra pergunta.. comentario irrelevante
Ajuda Inicial ~ RME ! se preciso pago!
em Suporte Tibia Otserv
Postado
Mas ai vc esta tentando abrir o servidor, não tem a ver com o RME
geralmente esse bug é ocasionado por falta de DirectX9, ou dll's na pasta win32