Tudo que stauro postou
-
Erro script lootring
Vou testar essa tag </monster> e essa do login.lua já está como vc falou. Vou testar e qualquer coisa eu volto aqui. Muito obrigado, amigo!
-
Erro script lootring
Salve galera, eu uso TFS 0.4 protocolo 8.60 e estou com um script que muda a rate do loot, que no caso usando um ring. No entanto, as vezes, acho que depende do monstro, apresenta esse erro na distro: Alguém tem alguma solução pra isso?? local t = { item = 2127, slot = CONST_SLOT_RING, newRate = 5 } local rate = getConfigInfo('rateLoot') function getContentDescription(uid, comma) local ret, i, containers = '', 0, {} while i < getContainerSize(uid) do local v, s = getContainerItem(uid, i), '' local k = getItemInfo(v.itemid) if k.name ~= '' then if v.type > 1 and k.stackable and k.showCount then s = v.type .. ' ' .. getItemInfo(v.itemid).plural else local article = k.article s = (article == '' and '' or article .. ' ') .. k.name end ret = ret .. (i == 0 and not comma and '' or ', ') .. s if isContainer(v.uid) and getContainerSize(v.uid) > 0 then table.insert(containers, v.uid) end else ret = ret .. (i == 0 and not comma and '' or ', ') .. 'an item of type ' .. v.itemid .. ', please report it to gamemaster' end i = i + 1 end for i = 1, #containers do ret = ret .. getContentDescription(containers[i], true) end return ret end local function send(cid, pos, corpseid, monster, party) local corpse = getTileItemById(pos, corpseid).uid local ret = isContainer(corpse) and getContentDescription(corpse) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing')) if party then for _, pid in ipairs(getPartyMembers(party)) do doPlayerSendChannelMessage(pid, '', 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing'), TALKTYPE_CHANNEL_W, CHANNEL_PARTY) end end end local function createLoot(i, ext) local item = type(i.id) == 'table' and i.id[math.random(#i.id)] or i.id local random = math.ceil(math.random(100000) / (ext and t.newRate or rate)) local tmpItem if random < i.chance then tmpItem = doCreateItemEx(item, getItemInfo(item).stackable and random % i.count + 1 or 1) end if not tmpItem then return end if i.subType ~= -1 then doItemSetAttribute(tmpItem, 'subType', i.subType) end if i.actionId ~= -1 then doItemSetAttribute(tmpItem, 'aid', i.actionId) end if i.uniqueId ~= -1 then doItemSetAttribute(tmpItem, 'uid', i.uniqueId) end if i.text ~= '' then doItemSetAttribute(tmpItem, 'text', i.text) end return tmpItem end local function createChildLoot(parent, i, ext) if #i == 0 then return true end local size, cap = 0, getContainerCap(parent) for k = 1, #i do if size == cap then break end local tmp = createLoot(i[k], ext) if tmp then if isContainer(tmp) then if createChildLoot(tmp, i[k].child, ext) then doAddContainerItemEx(parent, tmp) size = size + 1 else doRemoveItem(tmp) end else doAddContainerItemEx(parent, tmp) size = size + 1 end end end return size > 0 end local function dropLoot(pos, v, ext) local corpse = getTileItemById(pos, v.lookCorpse).uid if isContainer(corpse) then for i = 1, getContainerSize(corpse) do doRemoveItem(getContainerItem(corpse, 0).uid) end local size, cap = 0, getContainerCap(corpse) for i = 1, #v.loot do if size == cap then break end local tmp = createLoot(v.loot[i], ext) if tmp then if isContainer(tmp) then if createChildLoot(tmp, v.loot[i].child, ext) then doAddContainerItemEx(corpse, tmp) size = size + 1 else doRemoveItem(tmp) end else doAddContainerItemEx(corpse, tmp) size = size + 1 end end end end end function onKill(cid, target, lastHit) if lastHit and isMonster(target) then local v = getMonsterInfo(getCreatureName(target)) if v.lookCorpse > 0 then local master = getCreatureMaster(target) if not master or master == target then addEvent(dropLoot, 0, getThingPos(target), v, getPlayerSlotItem(cid, t.slot).itemid == t.item) end addEvent(send, 100, cid, getThingPos(target), v.lookCorpse, v.description, getPlayerParty(cid)) end end return true end
-
Servidor não fica online para outras pessoas apenas local.
Já vou direto ao ponto então, sem enrolação. Compre ou consiga um roteador, coloque-o em modo "Bridge" (acho que é assim que escreve), conecte um cabo de rede nele e no pc. Libere as portas que precisa. Agora conecte direto no modem da operadora. Recapitulando: Conecte o seu roteador novo no modem da operadora só após ter acessado o modem novo e liberado as portas e colocado em modo "Bridge". Após ter conectado o roteador novo no modem da operadora, conecte o seu pc no roteador novo. Vai ficar assim: MODEM DA OPERADORA >> ROTEADOR >> PC <---- PRECISA SER ESSE CAMINHO Lembrando que as portas, seja qual for, tem que ser aberta nos dois modens/reteador. Esqueci de falar o porque do roteador novo. Porque é nele que vc vai conseguir liberar as portas e colocar site/ot online. A operadora não vai liberar pra vc se vc não contratar o serviço que eles querem te empurrar. Dessa forma, a operadora não tem o que bloquear, porque a porta está aberta no seu roteador particular, apenas pegando o sinal da internet do modem deles, sacou? É assim que eu faço aqui.
-
Servidor não fica online para outras pessoas apenas local.
Esse roteador é da operadora? Me diz como está conectado seu roteador
-
Sprite corpse eternal guardian
Salve galerinha, Oh eu aqui de novo enchendo o saco. Eu não consigo encontrar de jeito nenhum o corpse do Eternal Guardian (morto), em todas as fases de decomposição. Não sei fazer também. Se alguém puder fazer pra mim, eu agradeço. *-*
-
addManaSpentInPvPZone = false
Funcionou!!!! Muito obrigado, amigo!!! Vc sabe se o sistema de parcel também é na source? não consigo fazer funcionar de jeito nenhum
-
addManaSpentInPvPZone = false
bool ConditionRegeneration::serialize(PropWriteStream& propWriteStream) { if(!ConditionGeneric::serialize(propWriteStream)) return false; propWriteStream.addByte(CONDITIONATTR_HEALTHTICKS); propWriteStream.addType(healthTicks); propWriteStream.addByte(CONDITIONATTR_HEALTHGAIN); propWriteStream.addType(healthGain); propWriteStream.addByte(CONDITIONATTR_MANATICKS); propWriteStream.addType(manaTicks); propWriteStream.addByte(CONDITIONATTR_MANAGAIN); propWriteStream.addType(manaGain); return true; } bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) { internalHealthTicks += interval; internalManaTicks += interval; if(internalHealthTicks >= healthTicks) { internalHealthTicks = 0; creature->changeHealth(healthGain); } if(internalManaTicks >= manaTicks) { internalManaTicks = 0; creature->changeMana(manaGain); } return ConditionGeneric::executeCondition(creature, interval); } bool ConditionRegeneration::setParam(ConditionParam_t param, int32_t value) { bool ret = ConditionGeneric::setParam(param, value); switch(param) { case CONDITIONPARAM_HEALTHGAIN: healthGain = value; return true; case CONDITIONPARAM_HEALTHTICKS: healthTicks = value; return true; case CONDITIONPARAM_MANAGAIN: manaGain = value; return true; case CONDITIONPARAM_MANATICKS: manaTicks = value; return true; default: break; } return ret; } É isso?
-
addManaSpentInPvPZone = false
Sabe em qual arquivo da source? já mexi no "config.lua" da source, também não mudou nada
-
addManaSpentInPvPZone = false
O hmup é o script que faz a vida e a mana ficar full quando upa. Já tirei esse script pra ver, mas ainda continua. <?xml version="1.0" encoding="UTF-8"?> <creaturescripts> <event type="login" name="PlayerLogin" event="script" value="login.lua"/> <event type="joinchannel" name="GuildMotd" event="script" value="guildmotd.lua"/> <event type="receivemail" name="Mail" event="script" value="mail.lua"/> <event type="reportbug" name="SaveReportBug" script="reportbug.lua"/> <event type="advance" name="AdvanceSave" event="script" value="advancesave.lua"/> <event type="logout" name="demonOakLogout" event="script" value="demonOakLogout.lua"/> <event type="death" name="demonOakDeath" event="script" value="demonOakDeath.lua"/> <event type="kill" name="ArenaKill" event="script" value="arenakill.lua"/> <event type="death" name="PythiusTheRotten" event="script" value="PythiusTheRotten.lua"/> <event type="think" name="TiraBattle" event="script" value="tirabattle.lua"/> <event type="advance" name="hmup" event="script" value="hmup.lua"/> <event type="advance" name="levelplayer" event="script" value="uplevelabsolute.lua"/> <event type="login" name="ItemsLogin" event="script" value="firstitems.lua"/> <!-- RING QUE DA SORTE --> <event type="kill" name="lootring" event="script" value="lootring.lua"/> <!-- Inquisition Full Quest --> <event type="kill" name="inquisitionPortals" script="Inquisition.lua"/> <event type="think" name="Idle" event="script" value="idle.lua"/> <event type="think" name="SkullCheck" event="script" value="skullcheck.lua"/> <!-- VIP / PREMIUM --> <event type="login" name="FimVip" event="script" value="fimvip.lua"/> <event type="login" name="FimPremium" event="script" value="fimpremium.lua"/> <!-- Top Frags --> <event type="kill" name="TopFrags" event="script" value="topfrags.lua" /> <event type="login" name="RTopFrags" event="script" value="topfrags.lua" /> <event type="attack" name="staminafiller" script="staminafiller.lua"/> <!-- CTF --> </creaturescripts>
-
Parcel não funciona
Salve galera, preciso de um help com o sistema de parcel que não funciona. No RME está tudo certo, no config.lua não achei nada. Quando eu vou enviar a parcel, ela fica em cima da caixa e não vai, como se o nome do char estivesse errado. Uso TFS 0.4 server 8.60 Alguém pode me dar essa ajuda?? RESOLVI. Troquei os arquivos mailbox na source por outro de outra source e compilei de novo. Deu certo, acho que foi sorte kkkk
-
Bug evento Battlefield
Dae galera, estou com um problema a dias que não consigo solucionar. Todo evento que coloco no ot, como o Battlefield, acaba que buga o pvp do server, tipo, o server fica como se fosse no-pvp e até durante o evento fica no-pvp. Uso TFS 0.4 Protocolo 8.6 Alguém sabe onde arrumo isso? O script que coloquei do Battlefield é esse:
-
Como mudar o 127.0.0.1 do meu site para meu ip?
Pode ser, #6013 mas olha, não sou nenhum técnico, scripter ou algo do tipo, estou tentando te ajudar com tudo o que eu aprendi sozinho
-
Como mudar o 127.0.0.1 do meu site para meu ip?
Não precisa colocar ip em lugar nenhum, basta vc deixar o no-ip aberto com os 3 status verdes. Se caso vc não está conseguindo acessar o site com o ip que vc criou, sugiro que vc faça um teste com o ot, se realmente vc está conseguindo por online. Detalhe, no config.lua vc coloca o exemplo.servegame.com. Faça o teste tentando entrar no ot com esse ip que vc criou. Estou achando que vc está com problema de porta...
-
Como mudar o 127.0.0.1 do meu site para meu ip?
quando vc digita o ip meuip.servegame.com la em cima, não entra no site? Deixa eu perguntar uma coisa, vc consegue colocar o ot on? as pessoas conseguem entrar no seu ot?
-
Como mudar o 127.0.0.1 do meu site para meu ip?
Baixou o no-ip?
-
Como mudar o 127.0.0.1 do meu site para meu ip?
Baixa o no-ip e crie um ip fixo no site deles (ex: exemplo.servegame.com)
-
addManaSpentInPvPZone = false
TFS 0.4 Você tem o código disponível? Se tiver publique-o aqui: -- The Forgotten Server Config -- Account manager accountManager = false namelockManager = false newPlayerChooseTown = false newPlayerChooseVoc = true newPlayerSpawnPosX = 32369 newPlayerSpawnPosY = 32241 newPlayerSpawnPosZ = 7 newPlayerTownId = 1 newPlayerLevel = 8 newPlayerMagicLevel = 0 generateAccountNumber = false generateAccountSalt = false accountSize = 10 -- Unjustified kills -- NOTE: *Banishment and *BlackSkull variables are >summed up< -- (dailyFragsToRedSkull + dailyFragsToBanishment) with their -- *RedSkull equivalents. -- Auto banishing works only if useBlackSkull set to negative. -- advancedFragList is not advised if you use huge frags -- requirements. 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 useFragHandler = true advancedFragList = false -- Banishments -- violationNameReportActionType 1 = just a report, 2 = name lock, 3 = player banishment -- killsBanLength works only if useBlackSkull option is disabled. 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 enableCast = true -- Battle -- NOTE: showHealingDamageForMonsters inheritates from showHealingDamage. -- loginProtectionPeriod is the famous Tibia anti-magebomb system. -- deathLostPercent set to nil enables manual mode. worldType = "open" protectionLevel = 60 pvpTileIgnoreLevelAndVocationProtection = true pzLocked = 60 * 1000 huntingDuration = 60 * 1000 criticalHitChance = 7 criticalHitMultiplier = 1 displayCriticalHitNotify = false removeWeaponAmmunition = true removeWeaponCharges = true removeRuneCharges = true whiteSkullTime = 15 * 60 * 1000 noDamageToSameLookfeet = false showHealingDamage = false showHealingDamageForMonsters = false fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = false oldConditionAccuracy = false loginProtectionPeriod = 10 * 1000 deathLostPercent = 10 stairhopDelay = 2 * 1000 pushCreatureDelay = 2 * 1000 deathContainerId = 1987 gainExperienceColor = 215 addManaSpentInPvPZone = false squareColor = 0 allowFightback = true fistBaseAttack = 7 optionalWarAttackableAlly = false healthHealingColor = COLOR_GREEN manaHealingColor = COLOR_DARKPURPLE -- Connection config worldId = 0 ip = "tibiaking.com" bindOnlyGlobalAddress = false loginPort = 7171 gamePort = 7172 loginTries = 10 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 3000 motd = "Welcome to the tibiaking Server!" displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = true allowClones = false serverName = "nome" loginMessage = "Welcome to the tibiaking Server!" statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false loginOnlyWithLoginServer = false premiumPlayerSkipWaitList = true max_packets_per_second = 1000 -- Anti-Divulgação advertisingBlock = ".net;servegame;no-ip;.hopto;.net;.info;.org;.zapto;.me;.ddns;.pl;.biz" -- Anti-Push useAntiPush = true antiPushDelay = 500 antiPushItems = "2148,2152,2160,3976" -- Database -- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database. -- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value. -- encryptionType can be plain, md5, sha1, sha256, sha512 or vahash. sqlType = "mysql" sqlHost = "127.0.0.1" sqlPort = 3306 sqlUser = "root" sqlPass = "" sqlDatabase = "database" sqlFile = "database.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 mysqlReconnectionAttempts = 5 encryptionType = "sha1" -- Deathlist deathListEnabled = true deathListRequiredTime = 1 * 60 * 1000 deathAssistCount = 19 maxDeathRecords = 5 -- Guilds ingameGuildManagement = false levelToFormGuild = 8 premiumDaysToFormGuild = 0 guildNameMinLength = 4 guildNameMaxLength = 20 maxPlayerGuild = 999 -- Highscores highscoreDisplayPlayers = 15 updateHighscoresAfterMinutes = 60 -- Houses buyableAndSellableHouses = true houseNeedPremium = true bedsRequirePremium = true levelToBuyHouse = 1 housesPerAccount = 0 houseRentAsPrice = false housePriceAsRent = false housePriceEachSquare = 1000 houseRentPeriod = "never" houseCleanOld = 0 guildHalls = false houseSkipInitialRent = true -- Item usage timeBetweenActions = 500 timeBetweenExActions = 1000 timeBetweenCustomActions = 1000 hotkeyAimbotEnabled = true -- Exhausts onBuy = 500 onSell = 500 changeOutfit = 500 -- Map -- NOTE: storeTrash costs more memory, but will perform alot faster cleaning. mapName = "world.otbm" mapAuthor = "Eu" randomizeTiles = true storeTrash = true cleanProtectedZones = true mailboxDisabledTowns = "" -- Mailbox Block mailMaxAttempts = 5 mailBlockPeriod = 30 * 60 * 1000 mailAttemptsFadeTime = 5 * 60 * 1000 -- Process -- NOTE: defaultPriority works only on Windows and niceLevel on *nix -- niceLevel works only on *nix systems -- coresUsed are seperated by comma cores ids used by server process, -- default is -1, so it stays untouched (automaticaly assigned by OS). defaultPriority = "high" niceLevel = 5 coresUsed = "-1" -- Startup startupDatabaseOptimization = true updatePremiumStateAtStartup = true confirmOutdatedVersion = false skipItemsVersionCheck = true -- Spells formulaLevel = 5.0 formulaMagic = 1.0 bufferMutedOnSpellFailure = false spellNameInsteadOfWords = false emoteSpells = false hideSpellWords = false unifiedSpells = true -- Outfits allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true disableOutfitsForPrivilegedPlayers = false addonsOnlyPremium = false -- Miscellaneous -- NOTE: promptExceptionTracerErrorBox works only with precompiled support feature, -- called "exception tracer" (__EXCEPTION_TRACER__ flag). dataDirectory = "data/" logsDirectory = "data/logs/" bankSystem = true displaySkillLevelOnAdvance = true promptExceptionTracerErrorBox = true maximumDoorLevel = 500 maxMessageBuffer = 4 tradeLimit = 100 defaultDepotSize = 1000 defaultDepotSizePremium = 5000 classicEquipmentSlots = true -- VIP list separateVipListPerCharacter = false vipListDefaultLimit = 20 vipListDefaultPremiumLimit = 100 -- Saving-related -- useHouseDataStorage usage may be found at README. saveGlobalStorage = true useHouseDataStorage = true storePlayerDirection = false -- Loot -- monsterLootMessage 0 to disable, 1 - only party, 2 - only player, 3 - party or player (like Tibia's) checkCorpseOwner = true monsterLootMessage = 0 monsterLootMessageType = 25 -- Ghost mode ghostModeInvisibleEffect = true ghostModeSpellEffects = true -- Limits idleWarningTime = 14 * 60 * 1000 idleKickTime = 15 * 60 * 1000 tileLimit = 0 protectionTileLimit = 0 houseTileLimit = 0 -- Premium-related freePremium = false premiumForPromotion = false -- Blessings -- NOTE: blessingReduction* regards items/containers loss. -- eachBlessReduction is how much each bless reduces the experience/magic/skills loss. blessings = true blessingOnlyPremium = false blessingReductionBase = 30 blessingReductionDecrement = 5 eachBlessReduction = 8 -- Rates -- NOTE: experienceStages configuration is located in data/XML/stages.xml. -- rateExperienceFromPlayers 0 to disable. experienceStages = true rateExperience = 5.0 rateExperienceFromPlayers = 0 rateSkill = 30.0 rateMagic = 10.0 rateLoot = 4.0 rateSpawn = 2 -- Monster rates rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0 -- Experience from players -- NOTE: min~Threshold* set to 0 will disable the minimum threshold: -- player will gain experience from every lower leveled player. -- max~Threshold* set to 0 will disable the maximum threshold: -- player will gain experience from every higher leveled player. minLevelThresholdForKilledPlayer = 0.9 maxLevelThresholdForKilledPlayer = 1.1 -- Stamina -- NOTE: Stamina is stored in miliseconds, so seconds are multiplied by 1000. -- rateStaminaHits multiplies every hit done a creature, which are later -- multiplied by player attack speed. -- rateStaminaGain is multiplying every second of logged out time, eg: -- 60 * 1000 / 3 = 20 seconds, what gives 1 stamina minute for 3 being logged off. -- rateStaminaThresholdGain is dividing in case the normal gain (that is -- multiplied by rateStaminaGain, btw.) passed above threshold, eg: -- 60 * 1000 / 3 = 20 / 4 = 5 seconds (3 * 4 = 12 minutes for 1 stamina minute). -- staminaRatingLimit* is in minutes. rateStaminaLoss = 1 rateStaminaGain = 3 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 40 * 60 staminaRatingLimitBottom = 14 * 60 staminaLootLimit = 14 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = true -- Party -- NOTE: experienceShareLevelDifference is float number. -- experienceShareLevelDifference is highestLevel * value experienceShareRadiusX = 30 experienceShareRadiusY = 30 experienceShareRadiusZ = 1 experienceShareLevelDifference = 2 / 3 extraPartyExperienceLimit = 20 extraPartyExperiencePercent = 5 experienceShareActivity = 2 * 60 * 1000 -- Global save -- NOTE: globalSaveHour means like 03:00, not that it will save every 3 hours, -- if you want such a system please check out data/globalevents/globalevents.xml. globalSaveEnabled = true globalSaveHour = 06 globalSaveMinute = 00 shutdownAtGlobalSave = true cleanMapAtGlobalSave = false -- Spawns deSpawnRange = 2 deSpawnRadius = 50 monsterSpawnWalkback = true allowBlockSpawn = true -- Summons maxPlayerSummons = 2 teleportAllSummons = false teleportPlayerSummons = false -- Status statusPort = 7171 ownerName = "" ownerEmail = "[email protected]" url = "http://tibiaking.com/" location = "Brazil" displayGamemastersWithOnlineCommand = false -- Logs displayPlayersLogging = true prefixChannelLogs = "" runFile = "server/run.log" outputLog = "server/out.log" truncateLogsOnStartup = false logsPlayers = false -- Manager -- NOTE: managerPassword left blank disables manager. managerPort = 7171 managerLogs = true managerPassword = "" managerLocalhostOnly = true managerConnectionsLimit = 1 -- Admin -- NOTE: adminPassword left blank disables manager. -- Set to anything if you set adminRequireLogin to false. -- adminEncryption available options: rsa1024xtea; -- remember to set correct data! adminPort = 7171 adminLogs = true adminPassword = "" adminLocalhostOnly = true adminConnectionsLimit = 1 adminRequireLogin = true adminEncryption = "" adminEncryptionData = "" Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
Colocar na Source Para healar mana em area PZ
resolveu como seu arrombado?
-
Cast com bonus exp 3%
Alguém poderia me ajudar a colocar bonus exp no meu cast system? function onSay(cid, words, param, channel) local tmp = param:explode(" ") if not(tmp[1]) then return doPlayerSendCancel(cid, "Parameters needed") end if tmp[1] == "on" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast has started.") doPlayerSetCastState(cid, true) doPlayerSave(cid) elseif getPlayerCast(cid).status == false then return doPlayerSendCancel(cid, "Your cast has to be running for this action.") elseif tmp[1] == "off" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast has ended.") doPlayerSetCastState(cid, false) doPlayerSave(cid) elseif isInArray({"pass", "password", "p"}, tmp[1]) then if not(tmp[2]) then return doPlayerSendCancel(cid, "You need to set a password") end if tmp[2]:len() > 10 then return doPlayerSendCancel(cid, "The password is too long. (Max.: 10 letters)") end if tmp[2] == "off" then doPlayerSetCastPassword(cid, "") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast password has been removed.") else doPlayerSetCastPassword(cid, tmp[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast password was set to: " .. tmp[2]) end elseif isInArray({"desc", "description", "d"}, tmp[1]) then local d = param:gsub(tmp[1]..(tmp[2] and " " or ""), "") if not(d) or d:len() == 0 then return doPlayerSendCancel(cid, "You need to specify a description.") end if d:len() > 50 then return doPlayerSendCancel(cid, "The description is too long. (Max.: 50 letters)") end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast description was set to: ") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, d) doPlayerSetCastDescription(cid, d) elseif tmp[1] == "ban" then if not(tmp[2]) then return doPlayerSendCancel(cid, "Specify a spectator that you want to ban.") end if doPlayerAddCastBan(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been banned.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be banned.") end elseif tmp[1] == "unban" then if not(tmp[2]) then return doPlayerSendCancel(cid, "Specify the person you want to unban.") end if doPlayerRemoveCastBan(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been unbanned.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be unbanned.") end elseif param == "bans" then local t = getCastBans(cid) local text = "Cast Bans:\n\n" for k, v in pairs(t) do text = text .. "*" .. v.name .. "\n" end if text == "Cast Bans:\n\n" then text = text .. "No bans." end doShowTextDialog(cid, 5958, text) elseif tmp[1] == "mute" then if not(tmp[2]) then return doPlayerSendCancel(cid, "Specify a spectator that you want to mute.") end if doPlayerAddCastMute(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been muted.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be muted.") end elseif tmp[1] == "unmute" then if not(tmp[2]) then return doPlayerSendCancel(cid, "Specify the person you want to unmute.") end if doPlayerRemoveCastMute(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been unmuted.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be unmuted.") end elseif param == "mutes" then local t = getCastMutes(cid) local text = "Cast Mutes:\n\n" for k, v in pairs(t) do text = text .. "*" .. v.name .. "\n" end if text == "Cast Bans:\n\n" then text = text .. "No mutes." end doShowTextDialog(cid, 5958, text) elseif param == "viewers" then local t = getCastViewers(cid) local text, count = "Cast Viewers:\n#Viewers: |COUNT|\n\n", 0 for _,v in pairs(t) do count = count + 1 text = text .. "*" .. v.name .."\n" end if text == "Cast Viewers:\n#Viewers: |COUNT|\n\n" then text = "Cast Viewers:\n\nNo viewers." end text = text:gsub("|COUNT|", count) doShowTextDialog(cid, 5958, text) elseif param == "status" then local t, c = getCastViewers(cid), getPlayerCast(cid) local count = 0 for _,v in pairs(t) do count = count + 1 end doShowTextDialog(cid, 5958, "Cast Status:\n\n*Viewers:\n " .. count .. "\n*Description:\n "..(c.description == "" and "Not set" or c.description).."\n*Password:\n " .. (c.password == "" and "Not set" or "Set - '"..c.password.."'")) elseif param == "update" then if getPlayerStorageValue(cid, 656544) > os.time() then return doPlayerSendCancel(cid, "You used this command lately. Wait: " .. (getPlayerStorageValue(cid, 656544)-os.time()) .. " sec.") end doPlayerSave(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The cast settings have been updated.") doPlayerSetStorageValue(cid, 656544, os.time()+60) end return true end
-
Alguém sabe como adicionar atributo de sorte no item?
Alguém sabe como adicionar atributo de sorte no item? Tipo "Luck + 2%" Não consigo achar nenhum item que tenha pra eu copiar, os itens que eu sei não estão com esse atributo Resolvido.
-
Alguém sabe me dizer se paypal entrega os premium points automatico? Tipo o retpagseguro.php
Alguém sabe me dizer se paypal entrega os premium points automatico? Tipo o retpagseguro.php
-
Gesior// player não recebe os pontos após o pagamento
Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
XAMP! JÁ ABRIR TODAS AS PORTAS NECESSÁRIAS NO FIREWALL E MODEM JA CONFIGUREI DE UM JEITO QUE ME MANDARAM NO APACHE SSL E HTTD JA CRIEI UM IP FIXO DO NO-IP COM MEU IP EXTERNO, E AINDA ASSIM NÃO CONSIGO DEIXAR O SITE ONLINE PRA OUTROS ENTRAREM HELP!
Mano, eu não sou técnico de nada, muito menos programador ou scripter. Me bati muito com isso também, até eu descobrir que o modem da minha operadora (Vivo) é bloqueado pra liberação de porta. Como eu consegui resolver? Simplesmente estou usando um modem antigo da GVT como roteador, ou seja, o modem da Vivo fibra está ligado normal e liguei o modem da GVT conectado com o modem da vivo (GVT em modo "bridge" acho que é assim que escreve), e o que eu tive que fazer é liberar as portas nos dois modems. Vc só vai conseguir colocar alguma coisa online, usando um roteador, como eu não tenho dinheiro pra comprar um, estou usando um modem antigo da GVT. Obs: não são todos os modems que da pra fazer isso, depende do modelo. Hoje acho que todas as operadoras fazem esse tipo de bloqueio (O modem já vem configurado de fábrica) e não adianta ligar pra operadora.
-
Porta 12165, 12156 e 3542 não abrem
@Marvok
-
Castle + Server Save (Guild dominante perde o dominio no server save)
blz