Pesquisar na Comunidade
Mostrando resultados para as tags ''dúvidas''.
Encontrado 39 registros
-
OTSERVLIST - REGRAS E DÚVIDAS • OTs devem respeitar as respectivas categorias Global, Outros, Baiak, Poke, DragonBall e Naruto; • Duplicação de cadastro é vista como mal uso de ferramenta, o que resulta em banimento imediato de ambos os cadastros (exemplo: otexemplo.com / go.otexemplo.com); • Evite arquivos maliciosos em descrições, veja/adicione scan do conteúdo anexado; DÚVIDAS RESPONDIDAS •
- 20 respostas
-
- otservlist
- regras
-
(e 2 mais)
Tags:
-
suporte programação Ajudem a compilar tfs em linux? por favor gente?
uma questão postou bernardes22 Resolvidos
Boa noite Xtibia, estou com um grande problemas não estou conseguindo compilar meu servidor tfs 04 no linux alguem poderia me ajudar por favor? estou usando o ubuntu-12.04-x86- 1 resposta
-
- duvidas
- compilando
-
(e 2 mais)
Tags:
-
Hey, então, eu estou tentando aprender lua e passei de teoria para scripts básicos/fuçar em scripts que encontro aqui no fórum. Eu pretendo fazer um script para torneio 1x1 semanal para pokémon, já tenho o script basicamente montado na minha cabeça, só tem duas coisas que eu não faço ideia de como programar. Primeira: Vai ter um NPC para inscrição para o torneio, esse NPC vai te dar um storage caso você pague a taxa de inscrição e tal. Gostaria de saber como faço para puxar apenas dois players com esse storage e se estiverem na sala de espera. Exemplo: Segunda: Como eu faço para depois de 1 minuto, o duelo começar? E caso algum deles não coloque algum pokémon até 59 segundos, este ser desclassificado e ser teleportado para fora da arena? Agradeço!
- 16 respostas
-
- orientação
- tfs 1.0
-
(e 4 mais)
Tags:
-
Boa Tarde Xtibia! Quando eu uso essa Spells cujo o nome é Exura a parece o ( +quantidade que a magia curou ) Gostaria de tira essa função alguem pode me ajudar? Script local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE)function onCastSpell(cid, var)doCreatureAddHealth(cid, math.random(200,500)) return doCombat(cid, combat, var)end
-
Se o post tiver na área errada, por favor mova até a área certa. Obrigado! @Caronte Vamos ao assunto Gente, eu queria saber como que edito o hp do pokémon, tipo está muito alto, aí eu quero diminuí-lo. Ajudou = Rep +
-
Se o post tiver na área errada, por favor mova até a área certa. Obrigado! Vamos ao assunto Gente, eu queria saber como que edito o hp do pokémon, tipo está muito alto, ai eu quero diminui-lo. Ajudou = Rep +
-
Boa Tarde Xtibia! Bom optai a usar o Nicaw acc pois ele e super leve, estou com muita dificuldade para configurar ele pois quando tento acc ele no navegar da um erro, e eu não estou conseguindo arrumar isso teria como alguém me ajudar por favor? vou colocar a imagem do erro e o download dos arquivos do site aqui. Imagem do erro Link dos arquivos do site Download up
-
Boa tarde Senhores Scripters Através desse post eu venho pedir uma grande ajuda de você, eu estou com um sistema de pet e nesse sistema possui o comando /pet para invocar o pet, eu gostaria de ta bloqueando esse comando com o ItemID = 2141, ou seja o comando /pet só funcionara se o player estiver com o item em mãos, será possível adicionar essa opção no script? Me Ajudem por favor não manjo nada de script :mellow: Aqui esta o script. -- Advanced Pet System By Races -- scripted by josejunior -- otland.net / ##### -- especial thanks to TFS! function onSay(cid, words, param, channel) if(words == "/pet") then if not (isExhausted(cid)) then addExhausted(cid, 3) if not (doPlayerHavePet(cid)) then returnMessage(cid, "[PET-SYSTEM] You dont have a pet, go talk to the Pet Trainer " .. aps_tools.location ) return true end if(isPetDead(cid)) then returnMessage(cid, "[PET-SYSTEM] Your pet is dead, talk to the Pet Trainer" .. (aps_tools.commands.enableReviveCommand == true and " or type '/pet-revive' ps: this will cost " .. getPriceRevive(cid) .. " gold coins" or "") .. ".") return true end if not (isCreature(getPlayerPet(cid))) then if (getTilePzInfo(getCreaturePosition(cid))) then returnMessage(cid, "[PET-SYSTEM] You may not call your pet in a protected zone.") return true end local pos = getCreaturePosition(cid) local bad_items = {"fire field", "poison field", "energy field", "smoke", "searing fire", "poison gas"} local item_floor = getThingFromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 2}) if(item_floor.itemid ~= 0) and (isInArray(bad_items, getItemNameById(item_floor.itemid)) == true) then returnMessage(cid, "[PET-SYSTEM] You may not call your pet here.") return true end doSendMagicEffect({x = pos.x+1, y = pos.y, z = pos.z}, 67) addEvent(doSummonPet, 1 * 1000, cid) else if(getCreatureSkullType(getPlayerPet(cid)) ~= SKULL_NONE) and (getCreatureSkullType(cid) ~= SKULL_NONE) then returnMessage(cid, "[PET-SYSTEM] You may not call back your pet in battle.") return true end if(isInPetParty(cid)) then doLeavePetParty(cid) end setPetStats(cid, 0) if(getCreatureHealth(getPlayerPet(cid)) == getPetMaxHp(cid)) then setPetLastHealth(cid, 0) else setPetLastHealth(cid, getPetMaxHp(cid) - getCreatureHealth(getPlayerPet(cid))) end doCreatureSay(getPlayerPet(cid), getRamdomThing(aps_texts.voices_back), TALKTYPE_ORANGE_1) local pos = getPetPos(cid) doSendMagicEffect({x = pos.x+1, y = pos.y, z = pos.z}, 67) doRemovePet(cid) end else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == "/pet-revive") then if not (isExhausted(cid)) then addExhausted(cid, 1) if not (doPlayerHavePet(cid)) then return true end if not (isPetDead(cid)) then returnMessage(cid, "[PET-SYSTEM] Your pet inst dead.") return true end if not (aps_tools.commands.enableReviveCommand) then returnMessage(cid, "[PET-SYSTEM] Server as disabled that option.") return true end if not (doPlayerRemoveMoney(cid, getPriceRevive(cid))) then returnMessage(cid, "[PET-SYSTEM] You dont have enough money. you need " .. getPriceRevive(cid) .. " gold coins.") return true end setPetStats(cid, 0) setPetLastHealth(cid, 0) setPlayerStorageValue(cid, aps_storages.mana, getPetMaxMana(cid)) doSendMagicEffect(getCreaturePosition(cid), 65) returnMessage(cid, "[PET-SYSTEM] Your pet is now alive, type /pet to call him.") else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == "/pet-attack") then if not (isExhausted(cid)) then addExhausted(cid, 1) if not (doPlayerHavePet(cid)) then return true end if not (isCreature(getPlayerPet(cid))) then returnMessage(cid, "[PET-SYSTEM] Your pet should be online.") return true end local k = aps_attacks[param:lower()] if not k then returnMessage(cid, "[PET-SYSTEM] type /pet-help to see all commands.") elseif k then if(getPlayerStorageValue(cid, k.exh) > os.time()) then doCreatureSay(getPlayerPet(cid), getRamdomThing(aps_texts.exh_texts), TALKTYPE_ORANGE_1) return true end if not (isInArray(k.races, getPetRace(cid))) then returnMessage(cid, "[PET-SYSTEM] Your pet cannot use that spell.") return true end if(k.needLearn == true) and (getPlayerStorageValue(cid, k.learnstg) == 0) then returnMessage(cid, "[PET-SYSTEM] Your pet need to learn that spell.") return true end if(k.needTarget) and (getCreatureTarget(cid) == 0) then if(k.needTarget == 1) or (k.needTarget == true) then doCreatureSay(getPlayerPet(cid), getRamdomThing(aps_texts.no_target), TALKTYPE_ORANGE_1) return true end end if(getPetLvl(cid) < k.lvl) then doCreatureSay(getPlayerPet(cid), "NO ENOUGH LEVEL!", TALKTYPE_ORANGE_1) return true end if(getPetMl(cid) < k.ml) then doCreatureSay(getPlayerPet(cid), "NO ENOUGH MAGIC LEVEL!", TALKTYPE_ORANGE_1) return true end if not (getPetMana(cid) == k.mana) and (getPetMana(cid) < k.mana) then doCreatureSay(getPlayerPet(cid), getRamdomThing(aps_texts.no_mana), TALKTYPE_ORANGE_1) return true end local attackPosition = getPetPos(cid) if(k.self ~= 1) and (getCreatureTarget(cid) > 0) then attackPosition = getCreaturePosition(getCreatureTarget(cid)) end if (k.hasFunction == false) then local damage = petFormula(getPetMl(cid), getPetLvl(cid), k.formula.maxb, k.formula.maxa, k.formula.minb, k.formula.mina) doAreaCombatHealth(getPlayerPet(cid)*((k.self - 1)*-1), k.combatType, attackPosition, k.area, math.floor(damage.minD*-1*k.offensive), math.floor(damage.maxD*-1*k.offensive), k.effectType) if(k.shotType) and (getCreatureTarget(cid) > 0) then doSendDistanceShoot(getPetPos(cid), getCreaturePosition(getCreatureTarget(cid)), k.shotType) end if(k.text and k.textColor) then doSendAnimatedText(getPetPos(cid), k.text, k.textColor) end else k.hasFunction({cid = cid, words = words, param = param}) end doPetRemoveMana(cid, k.mana) addPetManaSpend(cid, k.mana * aps_tools.magicLevelRate) setPlayerStorageValue(cid, k.exh, os.time() +k.exh_time) doCreatureSay(cid, getCreatureName(getPlayerPet(cid)) .. ', ' .. param .. '!', TALKTYPE_SAY) end else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == "/pet-status") then if not (isExhausted(cid)) then addExhausted(cid, 3) if not (doPlayerHavePet(cid)) then return true end if(param == '') then if not (isCreature(getPlayerPet(cid))) then returnMessage(cid, "[PET-SYSTEM] Your pet should be online.") return true end local pet = getPlayerPet(cid) local str = "##ADVANCED PET SYSTEM BY RACES##\n\n" .. "Pet: \n - " .. getCreatureName(pet) .. "\n - Race: " .. string.upper(getRaceNameById(getPetRace(cid))) .. "\n - Level: " .. getPetLvl(cid) .. "\n - Experience: " .. getPetExp(cid) .. "\n - You need " .. (getExpForLvl(getPetLvl(cid) + 1) - getPetExp(cid) > 1 and getExpForLvl(getPetLvl(cid) + 1) - getPetExp(cid) or 0) .. " experience\n -> to level " .. getPetLvl(cid) + 1 .. "\n\nSkills: " .. "\n - Magic Level: " .. getPetMl(cid) .. "\n - Health: " .. (getCreatureHealth(getPlayerPet(cid)) > getPetMaxHp(cid) and getPetMaxHp(cid) or getCreatureHealth(getPlayerPet(cid))) .. "/" .. getPetMaxHp(cid) .. "\n - Mana: " .. getPetMana(cid) .. "/" .. getPetMaxMana(cid) .. "\n - ManaSpend: " .. getPetManaSpend(cid) .. "\n - You need to Spend " .. (getReqManaSpend(cid, getPetMl(cid) + 1) - getPetManaSpend(cid) > 1 and getReqManaSpend(cid, getPetMl(cid) + 1) - getPetManaSpend(cid) or 0) .. " mana\n -> to magic level " .. getPetMl(cid) + 1 .. "" if(aps_tools.commands.countKilledPlayers == true) then str = str .. "\n - Killed Players: " .. getPlayerStorageValue(cid, aps_storages.counter) .. "" end if(aps_tools.commands.countKilledMonsters == true) then str = str .. "\n - Killed Monsters: " .. getPlayerStorageValue(cid, aps_storages.counter_2) .. "" end if(getCreatureSkullType(pet) > 0) then str = str .. "\n - Skull: " .. getValueInArray ({"Yellow", "Green", "White", "Red", "Black"}, getCreatureSkullType(pet)) .. "" end sendWindowsMessage(cid, str .. "\n\n made by " .. s(aps_tools.s)) -- YOU HAVE NO RIGHTS TO CHANGE THIS LINE. else local pid = getPlayerByName(param) if not (isPlayer(pid)) then returnMessage(cid, "[PET-SYSTEM] Player " .. param .. " should be online.") return true end if not (isCreature(getPlayerPet(pid))) then returnMessage(cid, "[PET-SYSTEM] Pet of " .. param .. " should be online.") return true end if(getPlayerStorageValue(pid, aps_storages.race) ~= 0 )then local ped = getPlayerPet(pid) local str = "##ADVANCED PET SYSTEM BY RACES##\n\n" .. " - Pet Owner: " .. param .. "\n - Pet: " .. getCreatureName(ped) .. "\n - Race: " .. string.upper(getRaceNameById(getPetRace(pid))) .. "\n - Level: " .. getPetLvl(pid) .. "\n\nSkills: " .. "\n - Magic Level: " .. getPetMl(pid) .. "\n - Health: " .. (getCreatureHealth(getPlayerPet(pid)) > getPetMaxHp(pid) and getPetMaxHp(pid) or getCreatureHealth(getPlayerPet(pid))) .. "/" .. getPetMaxHp(pid) .. "\n - Mana: " .. getPetMana(pid) .. "/" .. getPetMaxMana(pid) .."" if(aps_tools.commands.countKilledPlayers == true) then str = str .. "\n - Killed Players: " .. getPlayerStorageValue(pid, aps_storages.counter) .. "" end if(aps_tools.commands.countKilledMonsters == true) then str = str .. "\n - Killed Monsters: " .. getPlayerStorageValue(pid, aps_storages.counter_2) .. "" end if(getCreatureSkullType(ped) > 0) then str = str .. "\n - Skull: " .. getValueInArray({"Yellow", "Green", "White", "Red", "Black"}, getCreatureSkullType(ped)) .. "" end sendWindowsMessage(cid, str .. "\n\n made by " .. s(aps_tools.s)) -- YOU HAVE NO RIGHTS TO CHANGE THIS LINE. end end else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == "/pet-food") then if not (isExhausted(cid)) then addExhausted(cid, 3) if not (doPlayerHavePet(cid)) then return true end if(getPlayerStorageValue(cid, aps_storages.exhaustion.exh_food) > os.time()) then doCreatureSay(getPlayerPet(cid), getRamdomThing(aps_texts.exh_food_texts), TALKTYPE_ORANGE_1) return true end if not (isCreature(getPlayerPet(cid))) then returnMessage(cid, "[PET-SYSTEM] Your pet should be online.") return true end local foundFood, str = 0, getRamdomThing(aps_texts.food_voices) .. "..." for i = 1, #aps_slots do local searchFood = getPlayerStorageValue(cid, aps_slots) if(isFood(searchFood)) then local srt = getPlayerStorageValue(cid, aps_slots+1) if(srt > 1) then setPlayerStorageValue(cid, aps_slots+1, srt-1) str = str .. " STILL HAVE x" .. srt-1 .. " " .. string.upper(getItemNameById(searchFood)) .. "S" else setPlayerStorageValue(cid, aps_slots, 0) setPlayerStorageValue(cid, aps_slots+1, 0) str = str .. " EATING THE LAST " .. string.upper(getItemNameById(searchFood)) end setPetStatus(cid, 1) doPetFeed(cid, searchFood) foundFood = 1 break end end if(foundFood == 0) then doCreatureSay(getPlayerPet(cid), getRamdomThing(aps_texts.no_food), TALKTYPE_ORANGE_1) elseif(foundFood == 1) then doCreatureSay(getPlayerPet(cid), str, TALKTYPE_ORANGE_1) end else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == "/pet-say") then if not (isExhausted(cid)) then addExhausted(cid, 3) if not (doPlayerHavePet(cid)) then return true end if not (isCreature(getPlayerPet(cid))) then returnMessage(cid, "[PET-SYSTEM] Your pet should be online.") return true end if(getPlayerStorageValue(cid, aps_storages.exhaustion.exh_say) > os.time()) then doCreatureSay(getPlayerPet(cid), getRamdomThing(aps_texts.exh_texts), TALKTYPE_ORANGE_1) return true end if(param == '') then returnMessage(cid, "[PET-SYSTEM] type what do you want to your pet say.") return true end if(string.len(param) > aps_tools.lenght) then returnMessage(cid, "[PET-SYSTEM] You cannot use more than " .. aps_tools.lenght .. " letters.") return true end doCreatureSay(getPlayerPet(cid), param, TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, aps_storages.exhaustion.exh_say, os.time() +aps_tools.sayWait) else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == "/pet-help") then if(param == '') then local str = "##ADVANCED PET SYSTEM BY RACES##\n Scripted by " .. s(aps_tools.s) .. "\n\n/pet-help spells\n to see all Pets spells\n\n/pet-help commands\n to see all Pets commands.\n\n/pet-war-commands\n to all PeT-WaR commands.\n\n/pet-help foods\n to see all foods that pet can eat.\n\n/pet-help experience\n show exp need from lvl 2 to lvl 100.\n" -- YOU HAVE NO RIGHTS TO CHANGE THIS LINE. doShowTextDialog(cid, aps_tools.show_item, str) elseif(param == 'commands') then local str = "##ADVANCED PET SYSTEM BY RACES##\n Scripted by " .. s(aps_tools.s) .. "\n\n/pet\nto call your pet\n\n" .. "/pet-status\nsee information about your pet.\n\n" .. "/pet-attack\nto cast a Pet spell.\n\n" .. "/pet-say\nmake your Pet say.\n\n" .. "/pet-carry\nYour pet can carry items.\n\n" .. "/pet-revive\nTo revive your pet.\n\n" .. "/pet-info\n Show Exp and Ml rate and more.\n\n" .. "/pet-love\n Show to your pet that you love him.\n\n" .. "Ps: to feed your pet, just drop food on him." doShowTextDialog(cid, aps_tools.show_item, str) -- YOU HAVE NO RIGHTS TO CHANGE THIS LINE. elseif(param == 'spells') then if not (doPlayerHavePet(cid)) then return true end local i, str = 0, nil for spell in pairs(aps_attacks) do if(isInArray(aps_attacks[spell].races, getPetRace(cid))) then i = i + 1 if(str ~= nil) then str = str .. " " else str = "##ADVANCED PET SYSTEM BY RACES##\n Scripted by " .. s(aps_tools.s) .. "\n\n - SPELLS LIST FOR " .. string.upper(getRaceNameById(getPetRace(cid))) .. " - \n" -- YOU HAVE NO RIGHTS TO CHANGE THIS LINE. end str = str .. "\n" .. i .. ". - '" .. string.upper(spell) .. "'\n [LV:" .. aps_attacks[spell].lvl .. "] - [ML:" .. aps_attacks[spell].ml .. "] - [MP:" .. aps_attacks[spell].mana .. "]\n [iNFO: " .. aps_attacks[spell].info .. "]\n" end end doShowTextDialog(cid, aps_tools.show_item, str .. " \n\n - SPELLS LIST FOR " .. string.upper(getRaceNameById(getPetRace(cid))) .. " - ") elseif(param == 'foods') then if not (doPlayerHavePet(cid)) then return true end local i, str = 0, nil for food in pairs(aps_foods) do i = i + 1 if(str ~= nil) then str = str .. " " else str = "##ADVANCED PET SYSTEM BY RACES##\n Scripted by " .. s(aps_tools.s) .. "\n\n - FOODS LIST - \n" -- YOU HAVE NO RIGHTS TO CHANGE THIS LINE. end str = str .. "\n" .. i .. " - '" .. string.upper(food) .. "'\n [HP:" .. aps_foods[food].hpAmmount .. "] - [MP:" .. aps_foods[food].manaAmmount .. "] - [TICKS:" .. aps_foods[food].ticks .. "]\n" end doShowTextDialog(cid, aps_tools.show_item, str .. " \n\n - FOODS LIST - ") elseif(param == "experience") then local str = "##ADVANCED PET SYSTEM BY RACES##\n Scripted by " .. s(aps_tools.s) .. "\n\n - LEVEL TABLE - \n" local num = 2 if(doPlayerHavePet(cid)) then num = getPetLvl(cid) end for i = num, 100 do str = str .. " | LV. " .. i .. " - EXP. " .. getExpForLvl(i) .. " | \n" end doShowTextDialog(cid, aps_tools.show_item, str) end elseif(words == "/pet-carry") then if not (isExhausted(cid)) then addExhausted(cid, 3) if not (doPlayerHavePet(cid)) then return true end local max = #aps_slots if(param == '') then returnMessage(cid, "[PET-SYSTEM] Drop an item under your pet and type /pet-carry SLOT [max " .. max .. " slots]") return true elseif(param == "slots") then local str = "##ADVANCED PET SYSTEM BY RACES##\n \n\n-> SLOT - ITEM NAME <-\n" local count = 1 while TRUE do for i = 1, max do str = str .. "\n -> [" .. count .. "] - " .. getItemNameFromSlot(cid, i) .. " <-" count = count+1 end if(count > max) then break end end sendWindowsMessage(cid, str .. "\n\n made by " .. s(aps_tools.s)) -- YOU HAVE NO RIGHTS TO CHANGE THIS LINE. elseif(isNumber(param) == true) and (tonumber(param) > max) then returnMessage(cid, "[PET-SYSTEM] You cannot use slot " .. tonumber(param) .. ".") return true elseif(isNumber(param) == false) then returnMessage(cid, "[PET-SYSTEM] SLOT should be a number from 1 to " .. max .. ".") return true end local p = aps_slots[tonumber(param)] if p then if not (isCreature(getPlayerPet(cid))) then returnMessage(cid, "[PET-SYSTEM] Your pet should be online.") return true end local pos = getPetPos(cid) local item_carry, item_count = getThingFromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 2}), 1 if(getPlayerStorageValue(cid, p) < 1) then local bad_items = {"water", "grass", "stone", "tree", "blood", "earth", "dirt", "sand", "hole", "muchrooms", "pool", "pool of blood"} if(item_carry.itemid == 0) or (isInArray(bad_items, getItemNameById(item_carry.itemid)) == true) then doCreatureSay(getPlayerPet(cid), "I SEE NO ITEM?", TALKTYPE_ORANGE_1) return true end if not (isItemMovable(item_carry.itemid)) or (isContainer(item_carry.uid)) then doCreatureSay(getPlayerPet(cid), "I CANNOT CARRY THAT!", TALKTYPE_ORANGE_1) return true end if(isItemStackable(item_carry.itemid) == true) then item_count = item_carry.type doRemoveItem(item_carry.uid, item_count) doCreatureSay(getPlayerPet(cid), "HMMM, SAVING YOUR " .. (item_count == 1 and "" or "x" .. item_count .. " ") .. "" .. string.upper(getItemNameById(item_carry.itemid)) .. "" .. (item_count > 1 and "S" or "") .. " ON SLOT [" .. param .. "]", TALKTYPE_ORANGE_1) else doRemoveItem(item_carry.uid, 1) doCreatureSay(getPlayerPet(cid), "HMM, SAVING YOUR " .. string.upper(getItemNameById(item_carry.itemid)) .. " ON SLOT [" .. param .. "]", TALKTYPE_ORANGE_1) end setPlayerStorageValue(cid, p, item_carry.itemid) setPlayerStorageValue(cid, p+1, item_count) else local count, item = getPlayerStorageValue(cid, p+1), getPlayerStorageValue(cid, p) if(aps_tools.commands.giveItemToPlayer == false) then doCreateItem(item, count, pos) else if(getPlayerFreeCap(cid) >= getItemWeightById(item, count)) then doPlayerAddItem(cid, item, count) else returnMessage(cid, "[PET-SYSTEM] You dont have enough cap to carry x" .. count .. " " .. getItemNameById(item) .. ", weighing " .. getItemWeight(p.storage, count) .. " oz.") return true end end doCreatureSay(getPlayerPet(cid), "HERE IS YOUR " .. (count == 1 and "" or "x" .. count .. " ") .. "" .. string.upper(getItemNameById(item)) .. "" .. (count > 1 and "S" or "") .. " FROM SLOT [" .. param .. "]", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, p, 0) setPlayerStorageValue(cid, p+1, 0) end end else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == "/pet-info") then if not (isExhausted(cid)) then addExhausted(cid, 3) if not (doPlayerHavePet(cid)) then return true end local i = 0 for _, pid in ipairs(getPlayersOnline()) do if(isCreature(getPlayerPet(pid)) == true) then i = i+1 end end local str = "##ADVANCED PET SYSTEM BY RACES##\n\n -> Config Information\n - Magic Rate: " .. aps_tools.magicLevelRate .. "x\n - Exp Rate: " .. getLvlStage(getPetLvl(cid)) .. "x\n - Max Slots: " .. #aps_slots .. "\n - Pet's Online: " .. i .. "\n - White Skull: " .. aps_tools.skulls[1].time .. " seconds\n - Red Skull: " .. aps_tools.skulls[2].time .. " seconds\n\n -> Version: " .. s(aps_tools.v) .."\n -> full scripted by:\n -> " .. s(aps_tools.s) .. " <-" -- YOU HAVE NO RIGHTS TO CHANGE THIS LINE. sendWindowsMessage(cid, str) else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == "/pet-love") then if not (isExhausted(cid)) then addExhausted(cid, 3) if not (doPlayerHavePet(cid)) then return true end if not (aps_tools.commands.enableLoveCommand.enable) then returnMessage(cid, "[PET-SYSTEM] Server as disabled that option.") return true end if not (isCreature(getPlayerPet(cid))) then returnMessage(cid, "[PET-SYSTEM] Your pet should be online.") return true end if(getPlayerStorageValue(cid, aps_storages.exhaustion.exh_love) > os.time()) then returnMessage(cid, "[PET-SYSTEM] You need to wait " .. fixTimer(getPlayerStorageValue(cid, aps_storages.exhaustion.exh_love))) return true end setPlayerStorageValue(cid, aps_storages.exhaustion.exh_love, os.time() +aps_tools.commands.enableLoveCommand.wait_time) local positions = { getCreaturePosition(cid), getPetPos(cid) } for i = 1, #positions do addEvent(doSendMagicEffect, i * 1000, positions, 35) end setPetStatus(cid, 1) addEvent(doCreatureSay, 3 * 1000, getPlayerPet(cid), getRamdomThing(getPetStatus(cid)), TALKTYPE_ORANGE_1) addEvent(addPetExp, 3 * 1000, cid, math.random(1, getPetLvl(cid))) addEvent(addPetManaSpend, 3 * 1000, cid, math.random(1, getPetMl(cid))) else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == "/pet-party") then if not (isExhausted(cid)) then addExhausted(cid, 3) if not (doPlayerHavePet(cid)) then return true end if not (aps_tools.commands.enablePartyCommand) then returnMessage(cid, "[PET-SYSTEM] Server as disabled that option.") return true end if not (isCreature(getPlayerPet(cid))) then returnMessage(cid, "[PET-SYSTEM] Your pet should be online.") return true end if not (isInPetParty(cid)) then doStartPetParty(cid) returnMessage(cid, "[PET-SYSTEM] You and your pet is now in a party.") else if(getCreatureTarget(cid) ~= 0) then if(getCreatureTarget(cid) == getPlayerPet(cid)) then returnMessage(cid, "[PET-SYSTEM] Please stop attacking your pet.") return true end end doLeavePetParty(cid) returnMessage(cid, "[PET-SYSTEM] Your party with your pet as been disabled.") end else doPlayerSendCancel(cid, "You are exhausted.") end elseif(words == ".status") then if not (isExhausted(cid)) then addExhausted(cid, 3) doCreatureSay(getPlayerPet(cid), getRamdomThing(getPetStatus(cid)), TALKTYPE_ORANGE_1) doPlayerSendCancel(cid, "[PET-INFO] Your Pet need " .. (getExpForLvl(getPetLvl(cid) + 1) - getPetExp(cid) > 1 and getExpForLvl(getPetLvl(cid) + 1) - getPetExp(cid) or 0) .. " experience to level " .. getPetLvl(cid) + 1) else doPlayerSendCancel(cid, "You are exhausted.") end end return true end
-
Bom Dia Xtibia!!! eu estou com uma grande dificuldade para editar essa magia, Nesse Script contem 2 spells, Spells Free, e Spells Vip, Sendo que a spells free basta o player compra promotion que o player poderá usar a magia, e a vip o player terá que fazer uma quest e assim que ele termina de mata o monstro a magia ira involuir para VIP, eu queria que a Vip não fosse ativa pela quest, mais sim quando adquirisse Premium Account alguém poderia editar pra mim por favor? to a 2 dias tentando fazer isso infelizmente não estou conseguindo Aqui esta o script, nome da spells = Housenka local config = { seconds = 10, storage = 10, msg = "Você precisa aguardar %d segundos para usar essa magia novamente.", mana = 2400, semMana = "Você não tem mana suficiente.", } local function useAgain(cid) setPlayerStorageValue(cid, config.storage, 2) return TRUE end local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -4.2, -150, -4.6, -250) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -4.2, -150, -4.6, -250) local combat10 = createCombatObject() setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat10, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -3.6, -32, -3.8, -32) local combat20 = createCombatObject() setCombatParam(combat20, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat20, COMBAT_PARAM_EFFECT, 43) setCombatFormula(combat20, COMBAT_FORMULA_LEVELMAGIC, -3.6, -32, -3.9, -32) arr1 = { {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0}, } arr10 = { {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr20 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area10 = createCombatArea(arr10) local area20 = createCombatArea(arr20) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat10, area10) setCombatArea(combat20, area20) function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) == -1 then setPlayerStorageValue(cid, config.storage, os.time()-config.seconds) end if config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)) > 0 then doPlayerSendCancel(cid, string.format(config.msg, config.seconds-(os.time()-getPlayerStorageValue(cid, config.storage)))) return true end if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage, os.time()) if getPlayerStorageValue(cid, 10007) >= 1 then addEvent(doCombat, 000, cid, combat1, var) addEvent(doCombat, 600, cid, combat2, var) else addEvent(doCombat, 000, cid, combat10, var) addEvent(doCombat, 700, cid, combat20, var) end else doPlayerSendCancel(cid, config.semMana) doSendMagicEffect(getPlayerPosition(cid),2) end return true end
-
Boa tarde galera do xTibia, estou aprendendo a usar o Dev-Cpp, onde muitos usa para mexer nas sources. Estou querendo adicionar um novo efeito ao meu server, já vi vários tutoriais, e já fiz tudo certo, porem existia 69 efeitos e consegui adiciona até o 72, podem quando tento usar o 70, 71 e assim por diante não aparece o efeito, e sim ja adicionei nas sources, ja coloquei a sprite do efeito no cliente e também já adicionei na lib do meu server, porem mesmo assim não aparece o efeito para min, agradeço se puderem me ajudar ou informa algo que falte para fazer; Outra pequena dúvida e saber se consigo trocar os nomes da janela "Skills" do cliente pelas sources, como assim ? Simples! Possuem o Level, o Magic Level, Sword Fighting e assim por diante, gostaria de saber se consigo trocar estes nomes ai, Exemplo esta Sword Fighting, gostaria de mudar para Espada, existi essa possibilidade pelas sources ? Obrigado, agradeço se puderem me ajudar! up
-
Criei este tópico com o intuito de sanar as dúvidas sobre o remere's. Caso você tenha alguma dúvida e esta seja sobre o RME (Remere's Map Editor), Basta postar neste tópico que eu ou outros membros do forúm esclareceremos esta à você. Pois muitos são os tópicos visando problemas com este programa, e acaba que a mesma pergunta se repita ao longo dos tempos. Então para evitar isto, criei um tópico onde reunirá todas as duvidas sobre o RME. Regras O usuário que sanou sua dúvida deve receber +rep. Neste tópico apenas dúvidas sobre o RME devem ser postadas. Caso poste algo fora deste assunto, você será advertido. Têm duvidas sobre o RME? Pergunte.
-
[Resolvido] Internet compartilhada ? Tem riscos abrir portas ?
uma questão postou WizoGales Resolvidos
Olá amigos, primeiro de tudo queria saber se tem um rísco grande em abrir portas no meu modem pois ele é roteador junto, sou o hoster. Digo logo que já tentei mas não tive sucesso ao tentar abrir um servidor, não consegui adicionar nem na otlist mas consegui entrar pelo ip-fixo. Sou novato em criação de OTServers. Alertando também que fiz exatamente os mesmos passos sugeridos por vários fórums pra tentar criar o server, também desativei o firewall mas não funcionou. Eis as questões: Abrir portas é perigoso ? Como faço para abrir ? E o meu servidor o que eu faço ? Peço ajuda de alguém experiente, imploro ! Informações do meu PC e do Modem: CPU: Pentium 4 3.0 Ghz RAM: 3 GB GPU: NVIDIA GeForce GT 430 Modem: TD5130, esse modem é wi-fi, ganha da operadora Oi quando você assina 5 MB de internet. Foto do Setup do Modem na página de abrir portas:- 7 respostas
-
- net
- compartilhada
- (e 5 mais)
-
Gente, gostaria de agradecer a quem puder me ajudar, Meu nome é Guilherme, e atualmente venho procurando um server de tibia 10.76+ e não encontro nenhum server do meu agrado, então como um bom e velho tibiano gostaria de criar meu server, eu sempre utilizei servers 8.6 que não precisavam de compilar, nem fazer isso e aquilo, era só editar o que eu queria em config.lua etcs... e abrir o ot, e então por isso estou com muita dificuldade em abrir um ot na versão 10.76, já tentei ver alguns tutoriais, mas acho que minha maior dificuldade é em compilar, onde colocar os devidos arquivos pra fazer o OT rodar perfeitamente. esse perfeitamente não estou dizendo sobre bugs do OT, mas eu digo bugs na inicialização por erros, ou falta de arquivos necessarios para se inicializar. Agradeço pela atenção, e a quem puder me ajudar.
-
TC ta original do Slicer e as vezes fica dando esse erro um em baixo do outro! Testei todos teleports editados no mapa e nem um provocou o erro. Como eu resolvo isso Pelo amor de Deus! [08/11/2013 04:38:53] [Error - MoveEvents Interface] [08/11/2013 04:38:53] data/movements/scripts/PVP/Trade_Back.lua:onStepIn [08/11/2013 04:38:53] Description: [08/11/2013 04:38:53] data/lib/011-string.lua:29: attempt to index local 'str' (a number value) [08/11/2013 04:38:53] stack traceback: [08/11/2013 04:38:53] data/lib/011-string.lua:29: in function 'explode' [08/11/2013 04:38:53] data/movements/scripts/PVP/Trade_Back.lua:13: in function <data/movements/scripts/PVP/Trade_Back.lua:3> Por favor jah tentei de tudo!! até escadas eu testei
-
Boa tarde pessoal, sou um membro antigo da comunidade opentibia, geralmente não posto quando não tenho com o que contribuir com os demais membros. Hoje me bateu uma dúvida sobre a sustentabilidade de servidores alternativos de Pokemon, no booom desses servidores em 2011 eu dei inicio a um projeto próprio baseado no OpenTibia SVN 0.6.3 [base de todos otservers], com sprites do PA, comecei a programar os meus scripts visto que os scripts fornecidos pela comunidade não funcionam nessa versão do SVN, enfim após alguns meses o servidor estava online em fase beta e obtia uma média de 50 players/dia, não havia cobranças de nenhuma forma para com os jogadores já que eles me ajudavam a testar o servidor. Infelizmente precisei parar o desenvolvimento e quase perdi os arquivos que demorei tanto tempo programando (inclusive as sources modificadas [sim, muito modificadas]). Hoje me veio a inspiração de colocar novamente o servidor online mas, eai, vale a pena financeiramente gastar tempo e ter dor de cabeça com eventuais bugs que ocorram? Como está o cenário desses servidores? Obrigado desde já pelas respostas.
-
E ae galera EksTibiana, tô com uma pequena duvida quanto as spells, vou postar um foto e explico depois. Bem, no meu servidor quando eu uso uma magia acontece o msm do segundo quadrado, sendo assim eu uso a magia e aparece um texto no chat, na primeira foto não, ele não aparece no chat, como eu poderia deixar meu ot igual ao da primeira foto? Valeu, vale um +REP
-
Preciso de ajuda no server do Gabrieltxu 3.1.1 Eu queria saber como tiro uma mensagem que aparece sempre que logo; "Bem-Vindo ao Server Pokemon by Gabrieltxu do Xtibia ^^ Bom Jogo a Todos! Bugs reportem No meu Topico Eu também queria Saber como tiro aquilo de só poder pescar se estiver usando a roupa de fisher, queria que o fishing ficasse tipo o Centurion v4 ou o Ot pokemon You need fisher outfit for fishing'/'Você precisa da outfit 'Fisher' para pescar' Rep + para quem ajudar D=
- 6 respostas
-
- gabrieltxu server 3.1.1
- duvidas
- (e 4 mais)
-
1. Introdução Linux é um sistema operacional no estilo UNIX, desenvolvido inicialmente por Linus Torvalds. Ele é distribuído sobre os termos da licença GPL (General Public License), o que o torna um software livre, cujo código fonte deve ser sempre disponibilizado. O Linux em si é o núcleo do sistema operacional (kernel), responsável pela abstração do hardware para um nível passível de fácil utilização para os demais programas. Interfaces gráficas, editores de texto e vários outros aplicativos que normalmente são disponíveis juntamente com os sistemas operacionais (como o Windows) não são parte do kernel. No caso do Linux, sistemas desta natureza estão disponíveis sob a forma de distribuições. 1.1 Características Do Linux A seguir temos uma pequena lista de características do Linux: Multitarefa: vários programas podem ser executados ao mesmo tempo. Multiusuário: vários usuários podem utilizar o sistema simultaneamente. Multi-plataforma: roda em vários tipos de CPUs. Possui proteção de memória entre os processos, o que o torna muito estável. Compatível com POSIX, System V e BSD. Suporte a sistemas de arquivos do Windows (FAT32, NTFS,...) e de outros sitemas. Sistema de arquivos UMSDOS, que permite a instalação do Linux em partições FAT e DOS. Suporte a vários protocolos de rede, como TCP, IPv4, IPv6, IPX, SMB e outros. 1.2 Distribuições As distribuições são coleções de aplicativos, na grande maioria provenientes do projeto GNU, que somados ao kernel oferecem sistemas que são utilizados desde grandes servidores até computadores pessoais. São exemplos de distribuições o Red Hat, SuSE, Debian e Slackware, além da distribuição nacional, o Conectiva Linux. As distribuições vêm com programas de instalação próprios, e algumas ainda disponibilizam programas para auxiliar na configuração e manutenção dos sistemas depois de instalados. Geralmente as empresas vendem suas distribuições em CDs, e ao mesmo tempo colocam todos os arquivos disponíveis para download pela Internet, sem custo nenhum. A vantagem de se comprar uma distribuição é que muitas vezes elas vêm acompanhadas de manuais e suporte técnico, além, é claro, do caso em que o usuário não tem acesso à Internet. Como as distribuições são uma grande coleção de aplicativos, existem algumas diferenças na forma em que o sistema é organizado. Apesar disso, as diferenças não chegam a torná-las incompatíveis, uma vez que todas utilizam o kernel do Linux, e aplicativos como o compilador GNU-GCC, a biblioteca glibc e o ambiente gráfico Xfree86, só para citar alguns exemplos, estão presentes em todas elas. 1.3 Aplicativos A seguir uma lista de aplicativos existentes para o Linux: GNU-GCC: compilador C/C++ e outras linguagens. Bash: interpretador de comandos. XFree86: implementação de um servidor X Window. Gnome, KDE, Window Maker: ambientes gráficos (desktop environments). Apache: servidor de páginas responsável por mais de 60% dos sites da Internet. Sendmail: servidor de e-mail. Nescape, Mozilla, Konqueror, Nautilus: navegadores. Vim, GNU-Emacs: poderosos editores de texto para programadores. StarOffice: ferramenta de escritório com editor de textos, planilha, apresentação Scilab: ferramenta para cálculos baseados em matrizes, como o Matlab. MySQL, Postgress: banco de dados. Conjunto completo de ferramentas para edição com LaTEX. Créditos: Crazy_Uchiha Cracker - Z
-
dúvida [Encerrado] Duvida sobre OTServer URGENTE!
um tópico no fórum postou Potlic Tópicos Sem Resposta
Olá a todos, sou novo aqui no XTibia e estou com um problema no meu OTServer que é o seguinte: Quando um Knight solta uma magia como Utani Tempo Hur ou Exori gran entre outras ele trava e o OT também, se alguem sabe como resolver POR FAVOR me responda! Obrigado desde já! (Mapa= Rookwar) -
dúvida [Encerrado] Acesso ao Servidor Styller Yuruts - Sem roteador
um tópico no fórum postou Riihzao Tópicos Sem Resposta
Olá pessoal. Como podem ver, sou usuário novo no fórum. Porem tenho conhecimentos em TI, trabalho com isso. E o que acontece é o seguinte: Baixei o styller yurots, pus meu IP numérico no config.lua, configurei o host no 'no-ip.com' e baixei o software pra ele ficar pegando automaticamente meu IP. Liberei a porta 7171 e 7172 no firewall do windows 7 64 bits que tenho. Dei permissão no firewall para o software Styller Yurots Original.exe. Consigo acessar o OT com meu IP local do cmd > ipconfig. Quando alguém tenta acessar meu OT da 'connection refused'. O grande problema é que eu não tenho roteador. Eu uso um modem wireless que a telefônica me deu. Então o sinal chega nele e sai por cabo ou wireless. Então tudo que eu defino na configuração é o nome da rede (SSID), senha e provedor. Gostaria de saber se tem alguma outra maneira de eu conseguir fazer essa conexão. Eu já teste a porta no site > http://www.yougetsignal.com/tools/open-ports/ Lá ele pega meu IP e deixa eu colocar a porta para testar. No caso ontem estava assim: Remote Address: 201.43.66.16 Port Number: 7171 Port 7171 is closed on 201.43.66.16. Hoje meu IP já mudou, porem continua o mesmo aviso de porta fechada. Obrigado a todos desde já. Espero ter sido bastante especifico e não ter cometido nenhum erro de regra no fórum. Fico no aguardo de uma ajuda. =] --- Esqueci de dizer: Versão do Tibia 8.60. Tks -
Oi. Duvida : Posso postar 1 pack de Rendeers de Games/Animes Postaria os nomes dos sites ondi eu consegi elas ;p Att: Bennyw
-
to com um mapa pbot Myth aqui queria sabe como ativo a vocaçao suprema para usa las, ou um scripts que posso por nele pra que um npc venda e 8.60 o server. fico no agardo.
-
Iae Galera do xtibia hj eu tou criando um ot de pokemon e eu queria tirar uma duvida.A duvida e minha net e epmax via radio com cabo,da pra criar um ot de poketibia sem hamachi com essa net?? Dou Rep+ Pra quem me Ajudar