Tudo que JEAN JR postou
-
ERROR AO TENTAR LOGAR (NÃO LOGA)
Eai galera, alguém por obséquio poderia me auxiliar nesse fucking error.
-
ACCOUNT CRIADO PELO ACCOUNT MANAGER MAS NÃO LOGA NO SITE
Vou dar uma olhada man, qualquer coisa aviso aqui. Obrigado mais uma vez
-
ACCOUNT CRIADO PELO ACCOUNT MANAGER MAS NÃO LOGA NO SITE
Desculpa mano, me esqueci kk erro meu. Eu utilizo GESIOR
-
ACCOUNT CRIADO PELO ACCOUNT MANAGER MAS NÃO LOGA NO SITE
Boa noite Galera do TK Bom, o titulo já diz tudo kkkk mas é que quando eu crio ACC pelo ACCOUNT MANAGER, não consigo logar no SITE. Porem se eu crio o ACCOUNT pelo SITE eu consigo logar normal. Vi alguns comentários e em um tópico aqui mesmo, que pode ser por conta da criptográfia (E REALMENTE POSSA SER ISSO), mas o problema é que... como eu poderia solucionar isso ?
-
Cidade [8.60]
Boa manin, bota talento ai. Pra mim, que não desperto interesse em mappear já está bom. Mas sei que pra vocês vai além disso. Belo trabalho !
-
ERRO NA SOURCE (SCRIPT DE REFINAMENTO)
[4/2/2019 15:45:46] [Error - Action Interface] [4/2/2019 15:45:46] data/actions/scripts/upgrade.lua:onUse [4/2/2019 15:45:46] Description: [4/2/2019 15:45:46] data/actions/scripts/upgrade.lua:76: attempt to call global 'getItemAttack' (a nil value) [4/2/2019 15:45:46] stack traceback: [4/2/2019 15:45:46] data/actions/scripts/upgrade.lua:76: in function 'doTransform' [4/2/2019 15:45:46] data/actions/scripts/upgrade.lua:99: in function <data/actions/scripts/upgrade.lua:85> [4/2/2019 15:45:51] [Error - Action Interface] [4/2/2019 15:45:51] data/actions/scripts/upgrade.lua:onUse [4/2/2019 15:45:51] Description: [4/2/2019 15:45:51] data/actions/scripts/upgrade.lua:47: attempt to call global 'getItemArmor' (a nil value) [4/2/2019 15:45:51] stack traceback: [4/2/2019 15:45:51] data/actions/scripts/upgrade.lua:47: in function 'isArmor' [4/2/2019 15:45:51] data/actions/scripts/upgrade.lua:90: in function <data/actions/scripts/upgrade.lua:85> PESSOAL, ESTOU COM UM SCRIPT DE REFINAMENTO E ESTÁ OCORRENDO ESSE ERRO ACIMA. SCRIPT ABAIXO: --- Perfect refine system by Mock the bear (MTB). --- Email: [email]mock_#####@hotmail.com[/email] local gain = { gainArmor='&p+1',loseArmor='&p-1', gainShield='&s+#',loseShield='&s-(#+1)', gainAttack='&a+(2*(#))',loseAttack='&a-(2*(#+1))', gainDefense='&d+(2*(#))',loseDefense='&d-(2*(#+1))', chance='100/((#*(1/(@/2)))*(@/2))', -- Eu fiz essa equação para variar de +0 a +7 o item --- Essa equação deve retornar em % a chance do item se refinar (0-100) 100 = sempre, 0 = nunca maxlvl = 20, blocked_ids = {} } -- &a = weapon attack -- &d = weapon defense -- &s = shield defense -- &p = armor defense -- # = nivel do item -- @ = max level if not setItemName then function setItemName(uid,name) return doItemSetAttribute(uid,'name',name) end function setItemArmor(uid,name) return doItemSetAttribute(uid,'armor',name) end function setItemDefense(uid,name) return doItemSetAttribute(uid,'defense',name) end function setItemAttack(uid,name) return doItemSetAttribute(uid,'attack',name) end function getItemAttack(uid) return getItemAttribute(uid,'attack') end function getItemDefense(uid) return getItemAttribute(uid,'defense') end function getItemArmor(uid) if type(uid) == 'number' then return getItemAttribute(uid,'armor') else return getItemInfo(uid.itemid).armor end end end function isArmor(uid) -- Function by Mock the bear. if (getItemArmor(uid) and getItemArmor(uid) ~= 0 and not getItemInfo(uid.itemid,'attack') and not getItemInfo(uid.itemid,'defense') and getItemWeaponType(uid.uid) == 0) then return true end return false end function isWeapon(uid) -- Function by Mock the bear. uid = uid or 0 local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 then return TRUE end return FALSE end function isShield(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 4 then return TRUE end return FALSE end function getWeaponLevel(uid) -- Function by Mock the bear. uid = uid or 0 local name = getItemName(uid) local lvl = string.match(name,'+(%d)') return tonumber(lvl) or 0 end function doTransform(s,i) -- Function by Mock the bear. local c = string.gsub(s,'@',gain.maxlvl) local c = string.gsub(c,'&a',getItemAttack(i.uid) or getItemInfo(i.itemid).attack) local c = string.gsub(c,'&d',getItemDefense(i.uid) or getItemInfo(i.itemid).defense) local c = string.gsub(c,'&s',getItemDefense(i.uid) or getItemInfo(i.itemid).defense) local c = string.gsub(c,'&p',getItemArmor(i.uid) or getItemInfo(i.itemid).armor) local c = string.gsub(c,'#',getWeaponLevel(i.uid)) local q,err = loadstring('return '..c) assert(q,err) return assert(q()) end function onUse(cid, item, fromPosition, itemEx, toPosition) toPosition.stackpos = 255 if isInArray(gain.blocked_ids, itemEx.itemid) == TRUE or getItemWeaponType(itemEx.uid) > 4 or (getItemWeaponType(itemEx.uid) == 0 and isArmor(itemEx) == FALSE) or itemEx.itemid == 0 then doPlayerSendTextMessage(cid, 24,"You cant refine this item.") return TRUE end if isCreature(itemEx.uid) == TRUE then return FALSE end local level = getWeaponLevel(itemEx.uid) local chance = doTransform(gain.chance,itemEx) if chance >= math.random(0,100) or item.actionid >= 1000 or (item.actionid == 500 and math.random(0,100) <= 25) then if level+1 > gain.maxlvl then doSendMagicEffect(toPosition, 2) return doPlayerSendTextMessage(cid, 24,"Your item is on max level, you can't upgrade it.") else setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1)) doPlayerSendTextMessage(cid, 24,"Your item has been upgrated to +"..(level+1)..".") doSendMagicEffect(toPosition, 12) if isArmor(itemEx) == TRUE then local get = doTransform(gain.gainArmor,itemEx) setItemArmor(itemEx.uid,get) elseif isWeapon(itemEx.uid) == TRUE then setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx)) setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx)) elseif isShield(itemEx.uid) == TRUE then setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx)) end end else if level == 0 then doPlayerSendTextMessage(cid, 24,"No effect.") doSendMagicEffect(toPosition, 2) elseif level == gain.maxlvl then doSendMagicEffect(toPosition, 2) return doPlayerSendTextMessage(cid, 24,"Your item is on max level, you can't upgrade it.") elseif level > 0 then if level == 1 then setItemName(itemEx.uid, getItemNameById(itemEx.itemid)) doPlayerSendTextMessage(cid, 24,"Your item back to normal.") else setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level-1)) doPlayerSendTextMessage(cid, 24,"Your item back to +"..(level-1)..".") end if isArmor(itemEx) == TRUE then setItemArmor(itemEx.uid,doTransform(gain.loseArmor ,itemEx)) elseif isWeapon(itemEx.uid) == TRUE then setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx)) setItemDefense(itemEx.uid, doTransform(gain.loseDefense,itemEx)) elseif isShield(itemEx.uid) == TRUE then setItemDefense(itemEx.uid, doTransform(gain.loseShield,itemEx)) end end doSendMagicEffect(toPosition, 9) end doRemoveItem(item.uid,1) return TRUE end
-
(Resolvido)Ajuda Exp Ring Por Stages
function onEquip(cid, item, slot) local LevelPlayer = getPlayerLevel(cid) if getPlayerStorageValue(cid, 120365) - os.time() <= 0 then doTransformItem(item.uid, 10502, 1) if LevelPlayer >= 1 and LevelPlayer <= 5000 then doPlayerSendTextMessage(cid, 22, 'Agora ganha 3x mais experiencia!') doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.3) setPlayerStorageValue(cid, 120365, os.time()+2) end elseif LevelPlayer >= 5001 and LevelPlayer <= 10000 then doPlayerSendTextMessage(cid, 22, 'Agora ganha 2.5x mais experiencia!') doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.25) setPlayerStorageValue(cid, 120365, os.time()+2) end elseif LevelPlayer >= 10001 and LevelPlayer <= 15000 then doPlayerSendTextMessage(cid, 22, 'Agora ganha 2x mais experiencia!') doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.2) setPlayerStorageValue(cid, 120365, os.time()+2) end elseif LevelPlayer >= 15001 then doPlayerSendTextMessage(cid, 22, 'Agora ganha 1.5x mais experiencia!') doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.15) setPlayerStorageValue(cid, 120365, os.time()+2) end return true end end function onDeEquip(cid, item, slot) doPlayerSendTextMessage(cid, 22, 'Experiencia extra cancelada.') doPlayerSetExperienceRate(cid, 1) return true end vê se isso funciona pra vc mano. EXPLICANDO UM POUCO: level 1 ao 5k ele vai ter 3x mais de exp quando equipar level 5k ao 10k ele vai ter 2.5 level 10k ao 15k ele vai ter 2.0 level 15k pra cima ele vai ter 1.5
-
(Resolvido)ERRO NA SOURCE (SCRIPT DE MINERAÇÃO)
Mano, me perdoe a expressão. Mas, você é FOD@ !! TE AMO VLW MANO
-
(Resolvido)ERRO NA SOURCE (SCRIPT DE MINERAÇÃO)
Eai Galera do TK, Tudo bem ? Espero que sim ! Venho aqui pedir uma ajuda pra vocês, peguei o SCRIPT de mineração que o nosso brother @Matk postou, porem ele está dando um erro na distro. Aqui o LINK para quem tiver interesse no SCRIPT ERRO: Obs: O erro acontece quando eu tento minerar e quando eu consigo minerar. SCRIPT: --Lumberjack by: Lwkass --Version: 1.1.5 --Configs-- local configs = { sign = { {level = {0,9}, quant = {1,2}, percent = 15}, {level = {10,19}, quant = {1,3}, percent = 20}, {level = {20,29}, quant = {1,4}, percent = 25}, {level = {30,39}, quant = {1,5}, percent = 30}, {level = {40,49}, quant = {1,6}, percent = 35}, {level = {50,59}, quant = {1,7}, percent = 40}, {level = {60,69}, quant = {1,8}, percent = 45}, {level = {70,79}, quant = {1,9}, percent = 50}, {level = {80,89}, quant = {1,10}, percent = 55}, {level = {90,99}, quant = {1,11}, percent = 60}, {level = {100,109}, quant = {1,12}, percent = 65}, {level = {110,119}, quant = {1,13}, percent = 70}, {level = {120,129}, quant = {1,14}, percent = 75}, {level = {130,139}, quant = {1,15}, percent = 80}, {level = {140,149}, quant = {1,16}, percent = 85}, {level = {150}, quant = {1,17}, percent = 90} }, stones = {8633}, gold = {{2146, 'all'}}, stone_delay = 15, MaxLevel = 150 } --END Configs-- function onUse(cid, item, fromPosition, itemEx, toPosition) local STORAGE_SKILL_LEVEL = 230000 local STORAGE_SKILL_TRY = 230001 local skillLevel = getPlayerStorageValue(cid,STORAGE_SKILL_LEVEL) local skillTry = getPlayerStorageValue(cid,STORAGE_SKILL_TRY) local objeto2 = getThingFromPos(toPosition) local player = getCreaturePosition(cid) doPlayerSendTextMessage(cid,22,"UID" .. objeto2.uid) if skillLevel == -1 then setPlayerStorageValue(cid,STORAGE_SKILL_LEVEL,1) end for Q = 1, #configs.sign do if configs.sign[Q].level[2] == nil then configs.sign[Q].level[2] = configs.sign[Q].level[1] end if skillLevel >= configs.sign[Q].level[1] and skillLevel <= configs.sign[Q].level[2] then quant = math.random(configs.sign[Q].quant[1],configs.sign[Q].quant[2]) percent = configs.sign[Q].percent break end end for i = 0, #configs.stones do if objeto2.itemid == configs.stones[i] then if math.random(1,100) <= percent then possible_gold = {{},{}} for h = 1, #configs.gold do if configs.gold[h][2] == objeto2.itemid then possible_gold[1][#possible_gold[1]+1] = configs.gold[h][1] else if configs.gold[h][2] == 'all' then possible_gold[2][#possible_gold[2]+1] = configs.gold[h][1] end end end if possible_gold[1][1] == nil and possible_gold[2][1] == nil then doPlayerSendTextMessage(cid,22,"This stone can not be mined.") elseif possible_gold[1][1] ~= nil then doPlayerAddItem(cid,possible_gold[1][math.random(1,#possible_gold[1])],quant) elseif possible_gold[1][1] == nil and possible_gold[2][1] ~= nil then doPlayerAddItem(cid,possible_gold[2][math.random(1,#possible_gold[2])],quant) end if possible_gold[1][1] ~= nil or possible_gold[2][1] ~= nil then if skillTry >= 0 then setPlayerStorageValue(cid,STORAGE_SKILL_TRY,skillTry + 1) else setPlayerStorageValue(cid,STORAGE_SKILL_TRY,1) end doSendMagicEffect(getCreaturePosition(cid), 12) doPlayerSendTextMessage(cid,22,"You got "..quant.." gold "..getItemNameById(objeto2.itemid)..".") doSendAnimatedText(getCreaturePosition(cid), ''..quant..'', 192, cid) setItemName(objeto2.uid, 'A remains of '..getItemNameById(objeto2.itemid)) doSendMagicEffect(toPosition, 3) addEvent(dostoneReturn,configs.stone_delay * 2000,toPosition,objeto2.itemid) doTransformItem(objeto2.uid, 8637) break end else doPlayerSendCancel(cid,"You got nothing") doSendMagicEffect(toPosition, 3) setItemName(objeto2.uid, 'A remains of '..getItemNameById(objeto2.itemid)) doSendAnimatedText(getCreaturePosition(cid), 'Fail!', 180, cid) addEvent(dostoneReturn,configs.stone_delay * 2000,toPosition,objeto2.itemid) doTransformItem(objeto2.uid, 8637) break end else doPlayerSendCancel(cid,"You can only mine stones") end end if skillTry >= ((skillLevel+1)*3) then if skillLevel == configs.MaxLevel then doPlayerSendTextMessage(cid, 22, "Max level reached in mining.") setPlayerStorageValue(cid,STORAGE_SKILL_TRY,0) else setPlayerStorageValue(cid,STORAGE_SKILL_LEVEL,skillLevel + 1) setPlayerStorageValue(cid,STORAGE_SKILL_TRY,0) doPlayerSendTextMessage(cid, 22, "You advanced from level ".. skillLevel .." to level ".. skillLevel + 1 .." in Mining.") doSendMagicEffect(getCreaturePosition(cid),14) doSendAnimatedText(getCreaturePosition(cid), 'Mining Lvl +1!', 18, cid) end end end function dostoneReturn(itemposition,oldid) local pos = getThingfromPos(itemposition) doTransformItem(pos.uid,oldid) setItemName(pos.uid, getItemNameById(oldid)) doSendMagicEffect(itemposition,math.random(28,30)) end --Lumberjack by: Lwkass @Storm @Vodkart @Yan Liima @xWhiteWolf @vankk @Yinz Desculpa marcar todos vocês é porque eu acompanho vcs e sei o potencial de cada um.
-
MONSTER PATRULHEIRO
Tendi, mas e a parte de fazer ele ficar andando pelo mapa com minhas coordenadas ? Tem como fazer tbm ? Qual função utilizar ?
-
MONSTER PATRULHEIRO
Eai galera do TK, tudo bom ? Espero que sim. Queria saber se tem algum script que faça um monstro ficar patrulhando (ficar andando de position até position configurado por mim) uma cave até achar um player que não tenha uma tal STORAGE e se encontrar atacar o player. @Vodkart @Storm
-
(Resolvido)RESPAW COM PLAYER NA TELA
Blz então mano, vou procurar aqui. Toma meu REP+ ai pela indicação. TMJ
-
(Resolvido)RESPAW COM PLAYER NA TELA
Mas ele sumonaria mesmo com player na tela ? Se sim pode ser kkk é que não tinha pensado nisso.
-
(Resolvido)RESPAW COM PLAYER NA TELA
Mas ai mudária todos não ? é que quero que mude de um monstro só.
-
(Resolvido)RESPAW COM PLAYER NA TELA
Esse é pela SOURCE man já tinha visto.
-
Erro evento
TESTA ASSIM ENTÃO... GRANTOWER = {} GRANTOWER.PREPARETIME = 2 -- Tempo até liberar a entrada para o evento. GRANTOWER.CLOSETIME = 15 -- Tempo em minutos de duração do evento. GRANTOWER.LEVEL = 80 -- Mínimo de level para participar do evento. GRANTOWER.MAXGUILD = 7 -- Máximo de players por guild dentro do evento. GRANTOWER.DATES = {{"Monday", "19:30"}, {"Tuesday", "19:30"}, {"Wednesday", "19:30"}, {"Thursday", "19:30"}, {"Friday", "19:30"}, {"Saturday", "19:30"}, {"Sunday", "19:30"}} -- Dias e horários que ocorrem o evento. GRANTOWER.ENTER = {x = 1183, y = 2284, z = 9} -- A posição da entrada do castelo, aonde os players são mandados pelo NPC. GRANTOWER.TOWERPOSITION = {x = 1188, y = 2255, z = 6} -- Posição aonde fica o Gran Tower (o monstro). GRANTOWER.AREA = {{x = 1168, y = 2230, z = 9}, {x = 1207, y = 2288, z = 6}} --[[A primeira posição é o canto superior esquerdo do mapa do castelo, e a segunda é o canto direito inferior OBSERVAÇÃO IMPORTANTE: O script foi modificado por mim (xWhiteWolf) para aguentar diferentes andares, apenas coloque a posição dos cantos e o primeiro até o ultimo andar que ele irá remover todo mundo em todos os andares quando alguém matar a gran tower, pra remover isso apenas coloque o z do mesmo andar da gran tower e apenas os membros que estão nesse andar serão teleportados, contudo isso pode ocasionar que pessoas consigam ficar dentro do castelo mesmo após o evento ter sido encerrado!]] GRANTOWER.AURAPERCENT = 0.8 --- porcentagem do dano que irá levar (0.8 = 80%) significa que ele ignora 20% de dano! (adicionado por xWhiteWolf) GRANTOWER.SHURIAURA = true --- colocar true/false se quiser ativar/desativar a aura de shurikens pro player que tem a gran aura. (adicionado por xWhiteWolf) --// Favor não mexer daqui para baixo se não souber oque está fazendo!!! GRANTOWER.EMPTYWINNER = "# [Nobody] #" GRANTOWER.PREPARE = 201405051746 GRANTOWER.RUNNING = 201405051747 GRANTOWER.AURA = 201405052018 GRANTOWER.DESTROYCOUNT = 201405051800 GRANTOWER.FINALWINNER = 201405051805 GRANTOWER.SAVELASTWINNER = 201405061333 GRANTOWER.SAVEWINNERGUILDID = 201405061403 if getGlobalStorageValue(GRANTOWER.PREPARE) == NULL and getGlobalStorageValue(GRANTOWER.RUNNING) == NULL then setGlobalStorageValue(GRANTOWER.PREPARE, -1) setGlobalStorageValue(GRANTOWER.RUNNING, -1) end function doPrepareGranTower() if ((getGlobalStorageValue(GRANTOWER.PREPARE) ~= 1) and (getGlobalStorageValue(GRANTOWER.RUNNING) ~= 1)) then setGlobalStorageValue(GRANTOWER.PREPARE, 1) addEvent(doStartGranTower, GRANTOWER.PREPARETIME * 60 * 1000) addEvent(doBroadcastMessage, ((GRANTOWER.PREPARETIME / 2) * 60 * 1000), "[Gran Tower] Missing "..tostring((GRANTOWER.PREPARETIME / 2)).." minutes NPC Melkrapo will release the entrance to the event, get ready!") doBroadcastMessage("[Gran Tower] The event will be started in "..tostring(GRANTOWER.PREPARETIME).." minutes, please prepare your weapons and your team.") else print("[Erro] Gran Tower tentou ser iniciado ja ligado, favor verificar o codigo. (Roksas).") end return true end function doStartGranTower() if ((getGlobalStorageValue(GRANTOWER.PREPARE) ~= -1) and (getGlobalStorageValue(GRANTOWER.RUNNING) ~= 1)) then setGlobalStorageValue(GRANTOWER.RUNNING, 1) setGlobalStorageValue(GRANTOWER.PREPARE, -1) setGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID, -1) setGlobalStorageValue(GRANTOWER.FINALWINNER, GRANTOWER.EMPTYWINNER) setGlobalStorageValue(GRANTOWER.SAVELASTWINNER, GRANTOWER.EMPTYWINNER) setGlobalStorageValue(GRANTOWER.DESTROYCOUNT, 0) doCreateMonster("Gran Tower", GRANTOWER.TOWERPOSITION) addEvent(doBroadcastMessage, ((GRANTOWER.CLOSETIME - 1) * 60 * 1000), "[Gran Tower] The event will be closed in one minute. Hurry up!") addEvent(doCloseGranTower, GRANTOWER.CLOSETIME * 60 * 1000) doBroadcastMessage("[Gran Tower] Open event! Run to destroy the Gran Tower.") else print("[Erro] Gran Tower tentou ser iniciado já ligado, favor verificar o código.") end return true end function doCloseGranTower() if ((getGlobalStorageValue(GRANTOWER.PREPARE) ~= 1) and (getGlobalStorageValue(GRANTOWER.RUNNING) ~= -1)) then for index, creature in ipairs(getGranTowerPlayers()) do doTeleportThing(creature, getTownTemplePosition(getPlayerTown(creature))) end for index, creature in ipairs(getPlayersOnline()) do if (getPlayerGuildId(creature) >= 1) then if getPlayerGuildId(creature) ~= getGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID) then setPlayerStorageValue(creature, GRANTOWER.AURA, -1) end end end setGlobalStorageValue(GRANTOWER.RUNNING, -1) if (getCreatureByName("Gran Tower")) then doRemoveCreature(getCreatureByName("Gran Tower"), true) end local TMP_WINNER = getGlobalStorageValue(GRANTOWER.FINALWINNER) doBroadcastMessage("[Gran Tower] The event was completed with "..tostring(getGlobalStorageValue(GRANTOWER.DESTROYCOUNT)).." wrecks to Gran Tower, the final winner was "..(TMP_WINNER)..".") setGlobalStorageValue(GRANTOWER.DESTROYCOUNT, -1) setGlobalStorageValue(GRANTOWER.SAVELASTWINNER, TMP_WINNER) setGlobalStorageValue(GRANTOWER.FINALWINNER, -1) local TMP_WINNER = nil end return true end function getGranTowerPlayers() -- xWhiteWolf local players = {} local andares = math.abs(GRANTOWER.AREA[1].z - GRANTOWER.AREA[2].z) for index, creature in ipairs(getPlayersOnline()) do local z = 0 local pos1 = {x = GRANTOWER.AREA[1].x, y = GRANTOWER.AREA[1].y, z = GRANTOWER.AREA[1].z} local pos2 = {x = GRANTOWER.AREA[2].x, y = GRANTOWER.AREA[2].y, z = GRANTOWER.AREA[2].z} for i = 0, andares do z = z or 0 pos1.z = pos1.z > pos2.z and pos2.z + z or pos1.z + z pos2.z = pos1.z z = 1 if isInArea(getThingPos(creature), pos1, pos2) then table.insert(players, creature) end end end return players end function getGranTowerGuild(guild_id) -- xWhiteWolf local players = {} local andares = math.abs(GRANTOWER.AREA[1].z - GRANTOWER.AREA[2].z) for index, creature in ipairs(getPlayersOnline()) do local z = 0 local pos1 = {x = GRANTOWER.AREA[1].x, y = GRANTOWER.AREA[1].y, z = GRANTOWER.AREA[1].z} local pos2 = {x = GRANTOWER.AREA[2].x, y = GRANTOWER.AREA[2].y, z = GRANTOWER.AREA[2].z} for i = 0, andares do z = z or 0 pos1.z = pos1.z > pos2.z and pos2.z + z or pos1.z + z pos2.z = pos1.z z = 1 if isInArea(getThingPos(creature), pos1, pos2) then if (getPlayerGuildId(creature) == guild_id) then table.insert(players, creature) end end end end return players end -- // Gran Aura \/ function newColor(n) local n = tonumber(n) or 0 local n = n + 19 return tonumber(n) or 0 end function newColor(n) local n = tonumber(n) or 132 local n = n - 19 return tonumber(n) or 132 end -- comentario: se a cor for preta o addon vai para branco sendo que o certo é diminuir 19.. local events = {} function changeOutfit(uid) -- arrumado por xWhiteWolf e adicionado a opção da Shuri local sec = 0.5 local temp = getCreatureOutfit(uid) if (type(temp) == "number") then return true end if getGlobalStorageValue(GRANTOWER.SAVELASTWINNER) ~= getCreatureName(uid) then if getGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID) ~= getPlayerGuildId(uid) then return true end end if GRANTOWER.SHURIAURA then local pos = getCreaturePosition(uid) local effectPos = { [1] = {x = pos.x - 2, y = pos.y - 2, z = pos.z}, [2] = {x = pos.x + 2, y = pos.y + 2, z = pos.z} } for i = 1, #effectPos do position = effectPos[i + 1] or effectPos[i - 1] doSendDistanceShoot(effectPos[i], position, 27) end end local outfit = { lookType = temp.lookType, lookHead = newColor(temp.lookHead), lookBody = newColor(temp.lookBody), lookLegs = newColor(temp.lookLegs), lookFeet = newColor(temp.lookFeet), lookAddons = getCreatureOutfit(uid).lookAddons, } doSetCreatureOutfit(uid, outfit, sec) local event = addEvent(function() if isCreature(uid) then changeOutfit(uid) end end, 3.0 * sec * 450) events[uid] = event return true end
-
Erro evento
GRANTOWER = {} GRANTOWER.PREPARETIME = 2 -- Tempo até liberar a entrada para o evento. GRANTOWER.CLOSETIME = 15 -- Tempo em minutos de duração do evento. GRANTOWER.LEVEL = 80 -- Mínimo de level para participar do evento. GRANTOWER.MAXGUILD = 7 -- Máximo de players por guild dentro do evento. GRANTOWER.DATES = {{"Monday", "19:30"}, {"Tuesday", "19:30"}, {"Wednesday", "19:30"}, {"Thursday", "19:30"}, {"Friday", "19:30"}, {"Saturday", "19:30"}, {"Sunday", "19:30"}} -- Dias e horários que ocorrem o evento. GRANTOWER.ENTER = {x = 1183, y = 2284, z = 9} -- A posição da entrada do castelo, aonde os players são mandados pelo NPC. GRANTOWER.TOWERPOSITION = {x = 1188, y = 2255, z = 6} -- Posição aonde fica o Gran Tower (o monstro). GRANTOWER.AREA = {{x = 1168, y = 2230, z = 9}, {x = 1207, y = 2288, z = 6}} --[[A primeira posição é o canto superior esquerdo do mapa do castelo, e a segunda é o canto direito inferior OBSERVAÇÃO IMPORTANTE: O script foi modificado por mim (xWhiteWolf) para aguentar diferentes andares, apenas coloque a posição dos cantos e o primeiro até o ultimo andar que ele irá remover todo mundo em todos os andares quando alguém matar a gran tower, pra remover isso apenas coloque o z do mesmo andar da gran tower e apenas os membros que estão nesse andar serão teleportados, contudo isso pode ocasionar que pessoas consigam ficar dentro do castelo mesmo após o evento ter sido encerrado!]] GRANTOWER.AURAPERCENT = 0.8 --- porcentagem do dano que irá levar (0.8 = 80%) significa que ele ignora 20% de dano! (adicionado por xWhiteWolf) GRANTOWER.SHURIAURA = true --- colocar true/false se quiser ativar/desativar a aura de shurikens pro player que tem a gran aura. (adicionado por xWhiteWolf) --// Favor não mexer daqui para baixo se não souber oque está fazendo!!! GRANTOWER.EMPTYWINNER = "# [Nobody] #" GRANTOWER.PREPARE = 201405051746 GRANTOWER.RUNNING = 201405051747 GRANTOWER.AURA = 201405052018 GRANTOWER.DESTROYCOUNT = 201405051800 GRANTOWER.FINALWINNER = 201405051805 GRANTOWER.SAVELASTWINNER = 201405061333 GRANTOWER.SAVEWINNERGUILDID = 201405061403 function doPrepareGranTower() if ((getGlobalStorageValue(GRANTOWER.PREPARE) ~= 1) and (getGlobalStorageValue(GRANTOWER.RUNNING) ~= -1)) then setGlobalStorageValue(GRANTOWER.PREPARE, 1) addEvent(doStartGranTower, GRANTOWER.PREPARETIME * 60 * 1000) addEvent(doBroadcastMessage, ((GRANTOWER.PREPARETIME / 2) * 60 * 1000), "[Gran Tower] Missing "..tostring((GRANTOWER.PREPARETIME / 2)).." minutes NPC Melkrapo will release the entrance to the event, get ready!") doBroadcastMessage("[Gran Tower] The event will be started in "..tostring(GRANTOWER.PREPARETIME).." minutes, please prepare your weapons and your team.") else print("[Erro] Gran Tower tentou ser iniciado ja ligado, favor verificar o codigo. (Roksas).") end return true end function doStartGranTower() if ((getGlobalStorageValue(GRANTOWER.PREPARE) ~= -1) and (getGlobalStorageValue(GRANTOWER.RUNNING) ~= 1)) then setGlobalStorageValue(GRANTOWER.RUNNING, 1) setGlobalStorageValue(GRANTOWER.PREPARE, -1) setGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID, -1) setGlobalStorageValue(GRANTOWER.FINALWINNER, GRANTOWER.EMPTYWINNER) setGlobalStorageValue(GRANTOWER.SAVELASTWINNER, GRANTOWER.EMPTYWINNER) setGlobalStorageValue(GRANTOWER.DESTROYCOUNT, 0) doCreateMonster("Gran Tower", GRANTOWER.TOWERPOSITION) addEvent(doBroadcastMessage, ((GRANTOWER.CLOSETIME - 1) * 60 * 1000), "[Gran Tower] The event will be closed in one minute. Hurry up!") addEvent(doCloseGranTower, GRANTOWER.CLOSETIME * 60 * 1000) doBroadcastMessage("[Gran Tower] Open event! Run to destroy the Gran Tower.") else print("[Erro] Gran Tower tentou ser iniciado já ligado, favor verificar o código.") end return true end function doCloseGranTower() if ((getGlobalStorageValue(GRANTOWER.PREPARE) ~= 1) and (getGlobalStorageValue(GRANTOWER.RUNNING) ~= -1)) then for index, creature in ipairs(getGranTowerPlayers()) do doTeleportThing(creature, getTownTemplePosition(getPlayerTown(creature))) end for index, creature in ipairs(getPlayersOnline()) do if (getPlayerGuildId(creature) >= 1) then if getPlayerGuildId(creature) ~= getGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID) then setPlayerStorageValue(creature, GRANTOWER.AURA, -1) end end end setGlobalStorageValue(GRANTOWER.RUNNING, -1) if (getCreatureByName("Gran Tower")) then doRemoveCreature(getCreatureByName("Gran Tower"), true) end local TMP_WINNER = getGlobalStorageValue(GRANTOWER.FINALWINNER) doBroadcastMessage("[Gran Tower] The event was completed with "..tostring(getGlobalStorageValue(GRANTOWER.DESTROYCOUNT)).." wrecks to Gran Tower, the final winner was "..(TMP_WINNER)..".") setGlobalStorageValue(GRANTOWER.DESTROYCOUNT, -1) setGlobalStorageValue(GRANTOWER.SAVELASTWINNER, TMP_WINNER) setGlobalStorageValue(GRANTOWER.FINALWINNER, -1) local TMP_WINNER = nil end return true end function getGranTowerPlayers() -- xWhiteWolf local players = {} local andares = math.abs(GRANTOWER.AREA[1].z - GRANTOWER.AREA[2].z) for index, creature in ipairs(getPlayersOnline()) do local z = 0 local pos1 = {x = GRANTOWER.AREA[1].x, y = GRANTOWER.AREA[1].y, z = GRANTOWER.AREA[1].z} local pos2 = {x = GRANTOWER.AREA[2].x, y = GRANTOWER.AREA[2].y, z = GRANTOWER.AREA[2].z} for i = 0, andares do z = z or 0 pos1.z = pos1.z > pos2.z and pos2.z + z or pos1.z + z pos2.z = pos1.z z = 1 if isInArea(getThingPos(creature), pos1, pos2) then table.insert(players, creature) end end end return players end function getGranTowerGuild(guild_id) -- xWhiteWolf local players = {} local andares = math.abs(GRANTOWER.AREA[1].z - GRANTOWER.AREA[2].z) for index, creature in ipairs(getPlayersOnline()) do local z = 0 local pos1 = {x = GRANTOWER.AREA[1].x, y = GRANTOWER.AREA[1].y, z = GRANTOWER.AREA[1].z} local pos2 = {x = GRANTOWER.AREA[2].x, y = GRANTOWER.AREA[2].y, z = GRANTOWER.AREA[2].z} for i = 0, andares do z = z or 0 pos1.z = pos1.z > pos2.z and pos2.z + z or pos1.z + z pos2.z = pos1.z z = 1 if isInArea(getThingPos(creature), pos1, pos2) then if (getPlayerGuildId(creature) == guild_id) then table.insert(players, creature) end end end end return players end -- // Gran Aura \/ function newColor(n) local n = tonumber(n) or 0 local n = n + 19 return tonumber(n) or 0 end function newColor(n) local n = tonumber(n) or 132 local n = n - 19 return tonumber(n) or 132 end -- comentario: se a cor for preta o addon vai para branco sendo que o certo é diminuir 19.. local events = {} function changeOutfit(uid) -- arrumado por xWhiteWolf e adicionado a opção da Shuri local sec = 0.5 local temp = getCreatureOutfit(uid) if (type(temp) == "number") then return true end if getGlobalStorageValue(GRANTOWER.SAVELASTWINNER) ~= getCreatureName(uid) then if getGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID) ~= getPlayerGuildId(uid) then return true end end if GRANTOWER.SHURIAURA then local pos = getCreaturePosition(uid) local effectPos = { [1] = {x = pos.x - 2, y = pos.y - 2, z = pos.z}, [2] = {x = pos.x + 2, y = pos.y + 2, z = pos.z} } for i = 1, #effectPos do position = effectPos[i + 1] or effectPos[i - 1] doSendDistanceShoot(effectPos[i], position, 27) end end local outfit = { lookType = temp.lookType, lookHead = newColor(temp.lookHead), lookBody = newColor(temp.lookBody), lookLegs = newColor(temp.lookLegs), lookFeet = newColor(temp.lookFeet), lookAddons = getCreatureOutfit(uid).lookAddons, } doSetCreatureOutfit(uid, outfit, sec) local event = addEvent(function() if isCreature(uid) then changeOutfit(uid) end end, 3.0 * sec * 450) events[uid] = event return true end TESTA ESSE DAI MANO.
-
(Resolvido)RESPAW COM PLAYER NA TELA
Eae meus queridos, Tudo bem ? Espero que sim! Venho por meio desta pedir a vocês uma resposta: Tem como fazer um script para apenas um monstro nascer mesmo com players na Tela ? sei que mexendo na SOURCE dá, porem assim mudária de todos Se alguém tiver o Script ou puder fazer para mim eu agradeço.
-
(Resolvido)Erro LuadoPlayerAddOutfit Player Not Found
@Storm Teria como você implementar a parte de mudar a outfit no meu código, quebrei a cabeça o dia todo mas fica dando o mesmo erro que o do mano estava dando ai. O meu sistema no caso é um que quando o cara pega TOP level, ele assume a posição de KING. No meu caso quando ele pegasse TOP LEVEL eu gostaria que a outfit do outro player seja retirada e colocada nele. (Não sei se tem como fazer isso UHASUHAHUS) O monstro que quero pegar o TYPE é esse O Script é esse: function onStepIn(cid, item, position, fromPosition) if item.actionid == 13800 and getGlobalStorageValue(121221) ~= getPlayerID(cid) then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"APENAS [KING] PODE SENTAR NO TRONO !") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"SENTE-SE MEU [KING].") return true end end function getPlayerNameById(id) local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id)) if query:getID() ~= -1 then return query:getDataString("name") end return 0 end function getPlayerIdByName(name) local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) if query:getID() ~= -1 then return tonumber(query:getDataString("id")) end return 0 end function getPlayerID(cid) return getPlayerIdByName(getPlayerName(cid)) end
-
(Resolvido)SCRIPT EFEITO EM TOP LEVEL (TEMPO REAL)
KKK PODE DEIXAR, VLW MSM !
-
(Resolvido)SCRIPT EFEITO EM TOP LEVEL (TEMPO REAL)
Jaja eu chego em casa e tentarei Vou testar quando chegar então. Mano, muito obrigado ! Funcionou perfeitamente kkkk REP+
-
(Resolvido)[PEDIDO] Script animatedtext top guild
Chegar do trampo darei uma olhada, pq tenho um script de TOP LEVEL também e agora que vi esse pedido tbm vou querer pro meu servidor. Vou tentar fazer e mando aqui.
-
(Resolvido)SCRIPT EFEITO EM TOP LEVEL (TEMPO REAL)
Vou testar assim que chegar em casa e darei o feedback. Porem pelo que vi vc apenas tirou o comentario do (local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0) certo ? Se a resposta for Sim: eu tirei aquela linha pq ela só estava setando a storage apenas no PLAYER1 e quando o PLAYER2 pegava TOP LEVEL o efeito não ficava nem no PLAYER1 nem no PLAYER2. E quando o PLAYER1 pegava novamente o TOP LEVEL o efeito ia novamente pra ele. Por esse motivo comentei aquela linha.
-
NPC DE VOCAÇÃO TIBIA DBO
De fato kk também pensei a mesma coisa. ?
-
NPC DE VOCAÇÃO TIBIA DBO
Em Ot DBO parece não ter mano, ou no OT do cara apenas nao funcionava. Eu sei como colocar Acc Manager kkk fiz tudo isso ai. Porem quando chegava na parte do cara escolher a vocacao no acc Manager, dava debug. Então essa foi a melhor opção que eu vi para resolver. Obgd ? Ta ok ?