Solutions
-
L3K0T's post in (Resolvido)[Pedido] Efeito no Corpo was marked as the answerfunction onDeath(cid) local efeitom = 614 local efeitof = 615 if getPlayerSex(cid) == 1 then doSendMagicEffect(getPlayerPosition(cid), efeitom) else doSendMagicEffect(getPlayerPosition(cid), efeitof) end doRemoveCreature(cid) return TRUE end male e female.
tag:
<event type="death" name="Death" event="script" value="morto.lua"/>
-
L3K0T's post in (Resolvido)[PEDIDO] Adaptação de script was marked as the answerlocal combat1 = createCombatObject() local exhausto = createConditionObject(CONDITION_EXHAUSTED) setConditionParam(exhausto, CONDITION_PARAM_TICKS, 500) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, -1) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -100.2, 1, -100.2, 1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, -1) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -100.2, 1, -100.2, 1) arr1 = { {0, 0, 0, 0, 0}, {0, 1, 1, 1, 0}, {0, 1, 3, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0} } arr2 = { {0, 0, 0, 0, 0}, {0, 1, 1, 1, 0}, {0, 1, 3, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function onCastSpell1(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell2(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var) end function onCastSpell(cid, var) doPlayerSendTextMessage(cid, 23, "Essa magia saira do cooldown em 0:0:500 segundos.") local position2 = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y+1, z=getCreaturePosition(cid).z} local position3 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y+2, z=getCreaturePosition(cid).z} local position4 = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y+1, z=getCreaturePosition(cid).z} local position5 = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 300, parameters) doSendMagicEffect(position2, 327) doSendMagicEffect(position3, 290) doSendMagicEffect(position4, -1) doSendMagicEffect(position5, -1) return TRUE end foi que eu consegui, espero ter ajudado... o exausted de 500 milésimos de segundos foi colocado dentro do script
-
L3K0T's post in (Resolvido)[DÚVIDA] Qual a diferença entre um servidor 8.54 e 8.60? was marked as the answeralgumas funções como 8.54 não tem emblemas já a versão 8.60 tem emblemas, algumas funções também podem mudar não me lembro quais, porem n tem muita diferença
-
L3K0T's post in (Resolvido)Auto Restart Linux was marked as the answereu uso esse
copia e cola num arquivo text e salva com o nome ligar.sh, vai na pasta aonde tá o "theforgottenserver" no linux renomeia pra "minusculo" ficando "theforgottenserver".
pega o ligar.sh joga na pasta aonde tá o theforgottenserver, como vc ligar o server escrevendo ./theforgottenserver você vai usar dessa maneira... escreva no puty:
screen agora de enter 2 vezes e escreva ./ligar.sh pronto o server vai ligar e se cair ele vai reiniciar normalmente depois de 5 segundos.
#!/bin/bash while true; do ./theforgottenserver > data/logs/output.log & PID=$! echo $PID > theforgottenserver.pid wait $PID sleep 5 done
*sleep: = segundos
*data/logs/output.log é pra onde vai o log de quando o server tiver ligando vc acompanha tudo lá.
Lembre de dar permissões pro ligar.sh - chmod 777 -R pasta do server
-
L3K0T's post in (Resolvido)[AJUSTE] Jogar item fora enquanto usa was marked as the answeradiciona isso no script da bike
if getPlayerSlotItem(cid, CONST_SLOT_RING).uid ~= item.uid then
return doPlayerSendCancel(cid, "Voce precisa por a (BIKE) no lugar correto.")
end
-
L3K0T's post in (Resolvido)Erro ao compilar Source was marked as the answerTÁ AI MEU PARCEIRO!!! "CASO DER ERROS VAI COMPILANDO POR CIMA ATÉ TERMINAR DE COMPILAR".
*DETALHE SEU CREATUREVENTS POSSUÍA O OPEN CÓDES POIS FOI EDITADO, O OPEN CODE TAVA PELA METADE.
DOWNLOAD: Sources CORREÇÃO BY L3K0T.zip -COM OPEN CÓDE
OBS: REMOVI VÁRIOS ERROS ATÉ "" QUE FALTAVA EM ALGUMA PARTES, ESTAVA BEM MAL EDITADA, FUI TESTANDO POR UNS 50 MINUTOS, DEBUG E CONSOLE DEV-CPP 4.9.9.2
-
L3K0T's post in (Resolvido)Item que te teleporta até x cordenadas was marked as the answerlocal tempo = 60 --segundos local storage = 94360 function onUse(cid, item, fromPosition, itemEx, toPosition) if getTileHouseInfo(getThingPos(cid)) then return doPlayerSendCancel(cid, "Desculpe, você está dentro da house.") end if not getCreatureCondition(cid, CONDITION_INFIGHT) then if (getPlayerStorageValue(cid, storage) <= os.time()) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerSave(cid) doSendMagicEffect(getCreaturePosition(cid), 21) setPlayerStorageValue(cid, storage, os.time()+tempo) else doPlayerSendCancel(cid, "Você so podeusar o teleporte daqui a "..tempo.." segundos.") end else doPlayerSendCancel(cid, "Você está em batalha.") end return true end <action itemid="numeroidoitemdeusar" event="script" value="teleporte.lua"/>
Usa o meu scripts completo do meu server ele teleporta o jogador pra cidade morada.
-
L3K0T's post in (Resolvido)[PEDIDO] Effect apos upar de level was marked as the answervai em creaturescripts.xml abre com um editor de sua preferência e coloca lá a tag:
<event type="advance" name="lvlup" event="script" value="efeitoup.lua"/> em data/creaturescripts/scripts copia um arquivo .lua, renomeia pra efeitoup e add dentro:
function onAdvance(cid, skill, oldlevel, newlevel, pos) if skill == SKILL__LEVEL then doSendAnimatedText(getCreaturePosition(cid), "Level Up!", 28) addEvent(doSendMagicEffect, 1 * 100, getCreaturePosition(cid), 29) addEvent(doSendMagicEffect, 1 * 200, getCreaturePosition(cid), 28) addEvent(doSendMagicEffect, 1 * 300, getCreaturePosition(cid), 29) addEvent(doSendMagicEffect, 1 * 400, getCreaturePosition(cid), 28) addEvent(doSendMagicEffect, 1 * 500, getCreaturePosition(cid), 29) addEvent(doSendMagicEffect, 1 * 600, getCreaturePosition(cid), 28) doSendMagicEffect(getCreaturePosition(cid), 29) end return true end em login.lua registre, ctrl+f ache registerCreatureEvent e add o de baixo da mesma forma que achar os outros:
registerCreatureEvent(cid, "lvlup") espero ter ajudado sucesso!!!
28 = numero do efeito até 254
-
L3K0T's post in (Resolvido)BUG PLAYER CONSEGUE IR TORNEIO 150- COM LEVEL 150+ was marked as the answerlocal 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 if msgcontains(msg, 'torneio') then if getPlayerItemCount(cid, torneio.revivePoke) >= 1 then selfSay('Você não pode entrar no torneio portando revives.', cid) return true end selfSay('Para entrar no torneio tem que pagar 20 hundred dollars, vai entrar?', cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then if os.date("%X") < torneiolukas.startHour1 or os.date("%X") > torneiolukas.endHour1 then if os.date("%X") < torneiolukas.startHour2 or os.date("%X") > torneiolukas.endHour2 then if os.date("%X") < torneiolukas.startHour3 or os.date("%X") > torneiolukas.endHour3 then if os.date("%X") < torneiolukas.startHour4 or os.date("%X") > torneiolukas.endHour4 then selfSay('Não está na hora do torneio...', cid) return true end end end end if (getPlayerLevel(cid)) <= 150 then selfSay('Você não tem level suficiente.', cid) return true end if doPlayerRemoveMoney(cid, torneiolukas.price) then doTeleportThing(cid, torneiolukas.waitPlace) else selfSay('Você não tem dinheiro suficiente.', cid) end else selfSay('Até mais.', cid) talkState[talkUser] = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) caso n der tente de baixo
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 if msgcontains(msg, 'torneio') then if (getPlayerLevel(cid)) <= 150 then if getPlayerItemCount(cid, torneio.revivePoke) >= 1 then selfSay('Você não pode entrar no torneio portando revives.', cid) else selfSay('Você não tem level para entrar no torneio.', cid) return end end selfSay('Para entrar no torneio tem que pagar 20 hundred dollars, vai entrar?', cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then if os.date("%X") < torneiolukas.startHour1 or os.date("%X") > torneiolukas.endHour1 then if os.date("%X") < torneiolukas.startHour2 or os.date("%X") > torneiolukas.endHour2 then if os.date("%X") < torneiolukas.startHour3 or os.date("%X") > torneiolukas.endHour3 then if os.date("%X") < torneiolukas.startHour4 or os.date("%X") > torneiolukas.endHour4 then selfSay('Não está na hora do torneio...', cid) return true end end end end if doPlayerRemoveMoney(cid, torneiolukas.price) then doTeleportThing(cid, torneiolukas.waitPlace) else selfSay('Você não tem dinheiro suficiente.', cid) end else selfSay('Até mais.', cid) talkState[talkUser] = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
L3K0T's post in (Resolvido)[Dúvidas] Sobre o Linux was marked as the answerTudo que vc precisa fazer pra deixar seu server online, compilado e site instalado na maquina S.O LINUX siga esse tutorial!
-
L3K0T's post in (Resolvido)Error unable to load config.lua was marked as the answeraccountManager = false namelockManager = true newPlayerChooseVoc = true newPlayerSpawnPosX = 32360 newPlayerSpawnPosY = 31782 newPlayerSpawnPosZ = 7 newPlayerTownId = 1 newPlayerLevel = 8 newPlayerMagicLevel = 1 generateAccountNumber = false useFragHandler = true redSkullLength = 30 * 24 * 60 * 60 blackSkullLength = 45 * 24 * 60 * 60 dailyFragsToRedSkull = 3 weeklyFragsToRedSkull = 5 monthlyFragsToRedSkull = 10 dailyFragsToBlackSkull = dailyFragsToRedSkull weeklyFragsToBlackSkull = weeklyFragsToRedSkull monthlyFragsToBlackSkull = monthlyFragsToRedSkull dailyFragsToBanishment = dailyFragsToRedSkull weeklyFragsToBanishment = weeklyFragsToRedSkull monthlyFragsToBanishment = monthlyFragsToRedSkull blackSkulledDeathHealth = 40 blackSkulledDeathMana = 0 useBlackSkull = true advancedFragList = false notationsToBan = 3 warningsToFinalBan = 4 warningsToDeletion = 5 banLength = 7 * 24 * 60 * 60 killsBanLength = 7 * 24 * 60 * 60 finalBanLength = 30 * 24 * 60 * 60 ipBanishmentLength = 1 * 24 * 60 * 60 broadcastBanishments = true maxViolationCommentSize = 200 violationNameReportActionType = 2 autoBanishUnknownBytes = false worldType = "pvp" protectionLevel = 80 pvpTileIgnoreLevelAndVocationProtection = true pzLocked = 10 * 1000 huntingDuration = 60 * 1000 criticalHitChance = 7 criticalHitMultiplier = 1 displayCriticalHitNotify = true removeWeaponAmmunition = false removeWeaponCharges = false removeRuneCharges = false whiteSkullTime = 15 * 60 * 1000 noDamageToSameLookfeet = false showHealingDamage = false showHealingDamageForMonsters = false fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = false loginProtectionPeriod = 10 * 1000 deathLostPercent = 10 stairhopDelay = 2 * 1000 pushCreatureDelay = 2 * 1000 deathContainerId = 1987 gainExperienceColor = 215 addManaSpentInPvPZone = true squareColor = 0 allowFightback = true fistBaseAttack = 7 worldId = 0 ip = "127.0.0.1" loginPort = 7171 gamePort = 7172 loginTries = 10 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 1000 motd = "Welcome to westelation-fusion" displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = true allowClones = false serverName = "westelation-fusion" loginMessage = "Welcome to westelation-fusion!" statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false loginOnlyWithLoginServer = false premiumPlayerSkipWaitList = false sqlType = "mysql" sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "fernando2017" sqlDatabase = "realserver" sqlFile = "realserver.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "sha1" deathListEnabled = false deathListRequiredTime = 1 * 60 * 1000 deathAssistCount = 19 maxDeathRecords = 5 ingameGuildManagement = true levelToFormGuild = 50 premiumDaysToFormGuild = 0 guildNameMinLength = 4 guildNameMaxLength = 20 highscoreDisplayPlayers = 15 updateHighscoresAfterMinutes = 60 buyableAndSellableHouses = true houseNeedPremium = false bedsRequirePremium = true levelToBuyHouse = 100 housesPerAccount = 0 houseRentAsPrice = false housePriceAsRent = false housePriceEachSquare = 1000 houseRentPeriod = "never" houseCleanOld = 0 guildHalls = false timeBetweenActions = 200 timeBetweenExActions = 1000 hotkeyAimbotEnabled = true mapName = "World" mapAuthor = "Killer" randomizeTiles = true storeTrash = true cleanProtectedZones = true mailboxDisabledTowns = "" defaultPriority = "high" niceLevel = 5 coresUsed = "-1" startupDatabaseOptimization = true updatePremiumStateAtStartup = true confirmOutdatedVersion = false formulaLevel = 5.0 formulaMagic = 1.0 bufferMutedOnSpellFailure = false spellNameInsteadOfWords = false emoteSpells = false allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true disableOutfitsForPrivilegedPlayers = false addonsOnlyPremium = true dataDirectory = "data/" logsDirectory = "data/logs/" bankSystem = true displaySkillLevelOnAdvance = false promptExceptionTracerErrorBox = true maximumDoorLevel = 500 maxMessageBuffer = 4 separateVipListPerCharacter = false vipListDefaultLimit = 20 vipListDefaultPremiumLimit = 100 saveGlobalStorage = true useHouseDataStorage = false storePlayerDirection = false checkCorpseOwner = true monsterLootMessage = 3 monsterLootMessageType = 25 ghostModeInvisibleEffect = false ghostModeSpellEffects = true idleWarningTime = 59 * 60 * 1000 idleKickTime = 60 * 60 * 1000 reportsExpirationAfterReads = 1 playerQueryDeepness = 2 tileLimit = 0 protectionTileLimit = 0 houseTileLimit = 0 freePremium = false premiumForPromotion = false blessings = true blessingOnlyPremium = true blessingReductionBase = 30 blessingReductionDecrement = 5 eachBlessReduction = 8 experienceStages = true rateExperience = 5.0 rateExperienceFromPlayers = 0 rateSkill = 180 rateMagic = 150 rateLoot = 15 rateSpawn = 2 rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0 Experience from players minLevelThresholdForKilledPlayer = 0.9 maxLevelThresholdForKilledPlayer = 1.1 rateStaminaLoss = 1 rateStaminaGain = 3 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 40 * 60 staminaRatingLimitBottom = 14 * 60 staminaLootLimit = 14 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = true experienceShareRadiusX = 30 experienceShareRadiusY = 30 experienceShareRadiusZ = 1 experienceShareLevelDifference = 2 / 3 extraPartyExperienceLimit = 20 extraPartyExperiencePercent = 5 experienceShareActivity = 2 * 60 * 1000 globalSaveEnabled = false globalSaveHour = 8 globalSaveMinute = 0 shutdownAtGlobalSave = true cleanMapAtGlobalSave = false deSpawnRange = 2 deSpawnRadius = 50 maxPlayerSummons = 2 teleportAllSummons = false teleportPlayerSummons = false statusPort = 7171 ownerName = "" ownerEmail = "" url = "" location = "" displayGamemastersWithOnlineCommand = false displayPlayersLogging = true prefixChannelLogs = "" runFile = "" outputLog = "" truncateLogsOnStartup = false managerPort = 7171 managerLogs = true managerPassword = "" managerLocalhostOnly = true managerConnectionsLimit = 1 adminPort = 7171 adminLogs = true adminPassword = "" adminLocalhostOnly = true adminConnectionsLimit = 1 adminRequireLogin = true adminEncryption = "" adminEncryptionData = "" tenta assim espero ter ajudado!
-
L3K0T's post in (Resolvido)Não consigo ativar o PVP was marked as the answerolá tudo bem com vc ? espero que sim!
Você tentou verificar em vocations.xml remover as proteções ? boa sorte com teu projeto, ve se não para!
-
L3K0T's post in (Resolvido)Adicionar Storage no Player neste Script? was marked as the answerfunction onSay(cid, words, param) local t = string.explode(string.lower(param), ",") local call, name, day = t[1], t[2], t[3] local player, keys = getPlayerByName(name), {"add", "remove", "check"} if not isInArray(keys, call) or param == '' or name == nil then return doPlayerPopupFYI(cid,"Está com problemas? Olhe o exemplo a baixo!\nAprenda os comandos!\n-----------------------------\nAdicionar premium:\n/pa ".. keys[1] ..", Nome do Player, Dias\n/pa ".. keys[1] ..", Rodrigo, 30\n-----------------------------\nRemover premium:\n/pa ".. keys[2] ..", Nome do Player, Dias\n/pa ".. keys[2] ..", Rodrigo, 30\n-----------------------------\nVer Premium:\n/pa ".. keys[3] ..", Nome do Player\n/pa check, Rodrigo\n-----------------------------") elseif not isPlayer(player) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador não está online ou não existe!') end if call == keys[1] then doPlayerAddPremiumDays(player, day) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram adicionados '.. day ..' dias de premium ao jogador '.. name ..'.') setPlayerStorageValue(cid,55555,1) doPlayerSendTextMessage(player, MESSAGE_EVENT_ADVANCE, 'Você recebeu '.. day ..' Premium Dias do [ADM] Digoshow.') elseif call == keys[2] then if getPlayerPremiumDays(player) > 0 then doPlayerRemovePremiumDays(player, day) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Foram removidos '.. day ..' dias de premium do jogador '.. name ..'.') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Esse jogador não possui nenhum dia de premium.') end elseif call == keys[3] then if isPremium(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '.. name ..' tem '.. getPlayerPremiumDays(player) ..' dias de premium.') else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'O jogador '..name ..' é free account.') end end return true end
-
L3K0T's post in (Resolvido)Ajuda Compilacao Ubuntu was marked as the answer>>> global full https://github.com/otservme/global860 pode usar no seu a source ela compila 100% sem bug "use ubuntu 12.04 64 bits"
Instale as seguinte bibliotecas, execute no ssh, puts aparece yes or no ? escreve sempre Yes ou Y:
apt-get update
apt-get upgrade
apt-get install libboost-all-dev
apt-get install subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev libcrypto++-dev ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev
apt-get install libcurl4-openssl-dev
apt-get install screen
--agora compilando--
cd /otserv
chmod 777 -R trunk
cd /otserv/trunk
sh ./autogen.sh && ./configure --enable-server-diag --enable-mysql --enable-root-permission && make clean && make -j 2
para ligar:
screen
./theforgottenservr
Detalhe
otserv é pasta do seu ot /cd otserv deve ficar em root ou lá em home se for home, cd/homeotserv
-
L3K0T's post in (Resolvido)Erros no distro was marked as the answerALTER TABLE `players` ADD `exphist1` BIGINT( 255 ) NOT NULL DEFAULT '0'; CREATE TABLE IF NOT EXISTS `guild_wars` ( `id` INT, `guild_id` INT NOT NULL, `enemy_id` INT NOT NULL, `begin` BIGINT NOT NULL DEFAULT 0, `end` BIGINT NOT NULL DEFAULT 0, `frags` INT NOT NULL DEFAULT 0, `payment` BIGINT NOT NULL DEFAULT 0, `guild_kills` INT NOT NULL DEFAULT 0, `enemy_kills` INT NOT NULL DEFAULT 0, `status` TINYINT(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`) )
-
L3K0T's post in (Resolvido)Executor Windows 64x was marked as the answerveja alguma coisa em globalevents pode ser alguns shutdown programado por 5 minutos akpskaskap.... se for 5 minutos certinho toda hora é alguma coisa sendo executada a cada 5 minutos e fazendo ele cair... pode ser memória etc....
-
L3K0T's post in (Resolvido)Problema em script de uptime para jogadores. was marked as the answerusa o meu
<globalevent name="uptosay" interval="300500" event="script" value="uptimesay.lua"/>
troca sua data/lib/011-string para
string.split = function (str) local t = {} return not str:gsub("%w+", function(s) table.insert(t, s) return "" end):find("%S") and t or {} end string.trim = function (str) return str:gsub("^%s*(.-)%s*$", "%1") end string.explode = function (str, sep, limit) if(type(sep) ~= 'string' or isInArray({tostring(str):len(), sep:len()}, 0)) then return {} end local i, pos, tmp, t = 0, 1, "", {} for s, e in function() return string.find(str, sep, pos) end do tmp = str:sub(pos, s - 1):trim() table.insert(t, tmp) pos = e + 1 i = i + 1 if(limit ~= nil and i == limit) then break end end tmp = str:sub(pos):trim() table.insert(t, tmp) return t end string.expand = function (str) return string.gsub(str, "$(%w+)", function(n) return _G[n] end) end string.timediff = function (diff) local format = { {"week", diff / 60 / 60 / 24 / 7}, {"day", diff / 60 / 60 / 24 % 7}, {"hour", diff / 60 / 60 % 24}, {"minute", diff / 60 % 60}, {"second", diff % 60} } local t = {} for k, v in ipairs(format) do local d, tmp = math.floor(v[2]), "" if(d > 0) then tmp = (k < table.maxn(format) and (table.maxn(t) > 0 and ", " or "") or " and ") .. d .. " " .. v[1] .. (d ~= 1 and "s" or "") table.insert(t, tmp) end end return t end
-
L3K0T's post in (Resolvido)[RESOLVIDO] NPC Citero otPokémon was marked as the answercapitao.xml add \/
npc/scrpts cria um arquivo com o nome viajante.lua e add \/
--Editando a seu gosto--
Cor Vemelha: Nome da cidades...
Cor Azul: pra onde o npc vai lever ?
Cor amarela: precisa ser vip ? true = yes e false = no
Cor verde: Quantos gold vai precisar ?
-
L3K0T's post in (Resolvido)Talkaction Correr "Mensagem Para Poketibia was marked as the answerae ...vai em spells/abre o arquivo spells.xml e add
<instant name="Haste" words="correr" lvl="0" mana="0" prem="0" aggressive="0" selftarget="1" exhaustion="2000" event="script" value="correr.lua">
</instant>
agora baixa esse arquivo e joga na pasta Scripts.
>>> correr.lua
agora vai em seu config.lua e procura emoteSpells = false
mude pra emoteSpells = true
pronto assim vc colocando correr "um msg vai pegar normal
-
L3K0T's post in (Resolvido)Como configurar o teleporte do poke? was marked as the answerolha lá em talkactions tem um scripts chamado TELE é de pokémon configure seu pokemon lá pra ter abilidade de teleport haaaa bote o nome da cidade tbm no scripts com , { } e o local pra onde vai dizendo /h nomedacidade
-
L3K0T's post in (Resolvido)Action de "Teleportar" was marked as the answertenta
function onUse(cid, item, frompos, item2, topos)
-- Beginning of editable Variabels
aidNor = 4211 -- Action id for door where training room is north of door
aidSou = 4212 -- Action id for door where training room is south of door
aidWes = 4213 -- Action id for door where training room is west of door
aidEas = 4214 -- Action id for door where training room is east of door
-- End of editable Variabels
emptyRoom = true
charPos = getPlayerPosition(cid)
if getPlayerLevel(cid) >= 25 then --25 é o level---
if (item.actionid == aidNor) then
if (charPos.y < frompos.y) then
othersidePos = {x=frompos.x, y=frompos.y+1, z=frompos.z}
else
othersidePos = {x=frompos.x, y=frompos.y-1, z=frompos.z, stackpos=253}
things = getThingfromPos(othersidePos)
if (things.itemid == 1) then
if (getPlayerLevel(things.uid) > 0) then
emptyRoom = false
end
end
end
elseif (item.actionid == aidSou) then
if (charPos.y > frompos.y) then
othersidePos = {x=frompos.x, y=frompos.y-1, z=frompos.z}
else
othersidePos = {x=frompos.x, y=frompos.y+1, z=frompos.z, stackpos=253}
things = getThingfromPos(othersidePos)
if (things.itemid == 1) then
if (getPlayerLevel(things.uid) > 0) then
emptyRoom = false
end
end
end
elseif (item.actionid == aidEas) then
if (charPos.x > frompos.x) then
othersidePos = {x=frompos.x-1, y=frompos.y, z=frompos.z}
else
othersidePos = {x=frompos.x+1, y=frompos.y, z=frompos.z, stackpos=253}
things = getThingfromPos(othersidePos)
if (things.itemid == 1) then
if (getPlayerLevel(things.uid) > 0) then
emptyRoom = false
end
end
end
elseif (item.actionid == aidWes) then
if (charPos.x < frompos.x) then
othersidePos = {x=frompos.x+1, y=frompos.y, z=frompos.z}
else
othersidePos = {x=frompos.x-1, y=frompos.y, z=frompos.z, stackpos=253}
things = getThingfromPos(othersidePos)
if (things.itemid == 1) then
if (getPlayerLevel(things.uid) > 0) then
emptyRoom = false
end
end
end
end
if (emptyRoom == true) then
doTeleportThing(cid, othersidePos)
doSendMagicEffect(charPos, 2)
doSendMagicEffect(frompos, 12)
doSendMagicEffect(othersidePos, 10)
else
doPlayerSendTextMessage(cid, 22, "Esta sala ja esta ocupada.")
end
else
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você precisa ser level 25+ para completar essa quest.")
end
return 1
end
-
L3K0T's post in (Resolvido)[Dúvida] Bike system was marked as the answerse não quiser usar onmove pode usar a função transforme 2 bike uma que move e outra que não move usando a bike 1 ela transforma numa que não move, assim impossibilitando que seja arrastada pro chão.
*Requisitos
*Scripts da bike com função transforme.
*item XML pra configurar o item
*Item Edito
*Object Builder pra adicionar nova sprite e adicionando as funções iguais que que vão ser configurada no item editor para que nenhum engraçadinho venha mexer no seu cliente e desativar o no move, como utilizo item editor esse risco não terá.
-
L3K0T's post in (Resolvido)BUG no movements. was marked as the answerblockwall.lua em movements e add function onStepIn(cid, item, position, fromPosition) if isSummon(cid) and getCreatureName(cid) == "Gastly" or getCreatureName(cid) == "Hunter" or getCreatureName(cid) == "Gengar" or getCreatureName(cid) == "Misdreavus" then return true end if isPlayer(cid) then doTeleportThing(cid, fromPosition, false) return true end if isSummon(cid) then doTeleportThing(cid, fromPosition, false) return true end if isMonster(cid) then doTeleportThing(cid, fromPosition, false) return true end end
-
L3K0T's post in (Resolvido)/m Cria Pokemon Sem Leveis! was marked as the answertá mais cade o event spawn ? no mosntro que vc criou veja se nos outros tem pois ele chama uma função da exp.lua em creaturescripts e a leveltable em lib
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Big Magikarp" nameDescription="a big magikarp" race="water" experience="3874" speed="190" manacost="200">
<health now="3000" max="3000"/>
<look type="1955" head="0" body="0" legs="0" feet="0" corpse="26458"/>
<targetchange interval="5" chance="1000"/>
<strategy attack="100" defense="0"/>
<flags>
<flag summonable="1"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="1"/>
<flag convinceable="1"/>
<flag pushable="1"/>
<flag canpushitems="0"/>
<flag staticattack="95"/>
<flag lightlevel="0"/>
<flag lightcolor="0"/>
<flag targetdistance="1"/>
<flag runonhealth="0"/>
</flags>
<attacks>
<attack name="melee" range="1" interval="1700" min="-99" max="-109"/>
<attack name "Splash" interval="2000" chance="30" range="1"/>
</attacks>
<defenses armor="0" defense="0"/>
<voices interval="6000" chance="0">
<voice sentence="Magikarp!"/>
<voice sentence="KARP!"/>
</voices>
<script> <event name="Spawn"/> </script> </monster> -
L3K0T's post in (Resolvido)Problema com efeitos was marked as the answerapaga tudo da pasta obj e recompila se não, não vai ter efeito devido o cache dos códigos antigos.