Ir para conteúdo

SkyThez

Membro
  • Registro em

  • Última visita

  1. ZORAN reagiu a uma resposta no tópico: Juntar Items Script
  2. SkyThez postou uma resposta no tópico em Suporte Tibia OTServer
    Acho que esse system é pago,chama auto stacking,é uma modificação nas sources
  3. deleta a house que vc fez e faz denovo
  4. Double tópic..
  5. SkyThez postou uma resposta no tópico em Suporte Tibia OTServer
    Pra reseta a db,só pegar uma database sem nada
  6. SkyThez postou uma resposta no tópico em Suporte Tibia OTServer
    Ainda não sai man
  7. SkyThez postou uma resposta no tópico em Suporte Tibia OTServer
    Sim,é que bugo no tópico. @Editado
  8. SkyThez postou uma resposta no tópico em Suporte Tibia OTServer
    Mudo pelo oq?
  9. SkyThez postou uma resposta no tópico em Suporte Tibia OTServer
    Tenho esse sistema de points <?xml version="1.0" encoding="UTF-8"?> <mod name="command-points" version="1.0" author="slawkens" contact="[email protected]" enabled="yes"> <config name="command-points-config"><![CDATA[ config = { logFile = "data/logs/points.log", -- set file name where to save logs. Leave empty do disable logs. pointsRune = { enabled = "yes", points = 50, runeId = 2294, minLevel = 10 }, changeName = { enabled = "yes", points = 50, storage = 70009, delay = 30 * 24 * 60 * 60 -- 30 days, in seconds }, changeSex = { enabled = "yes", points = 20 }, removeSkull = { enabled = "yes", points = 50 }, refuelStamina = { enabled = "yes", points = 30 } } ]]></config> <lib name="command-points-lib"><![CDATA[ domodlib('command-points-config') config.pointsRune.enabled = getBooleanFromString(config.pointsRune.enabled) config.changeName.enabled = getBooleanFromString(config.changeName.enabled) config.changeSex.enabled = getBooleanFromString(config.changeSex.enabled) config.removeSkull.enabled = getBooleanFromString(config.removeSkull.enabled) --config.removeSkull.frags = getBooleanFromString(config.removeSkull.frags) config.refuelStamina.enabled = getBooleanFromString(config.refuelStamina.enabled) function getPlayerPoints(cid) return getAccountPoints(getPlayerAccountId(cid)) end function doPlayerAddPoints(cid, points) return doAccountAddPoints(getPlayerAccountId(cid), points) end function doPlayerRemovePoints(cid, points) return doPlayerAddPoints(cid, -points) end function getAccountPoints(accountId) local result = db.getResult('SELECT premium_points FROM accounts WHERE id = ' .. accountId) local v = 0 if(result:getID() ~= -1) then v = tonumber(result:getDataInt("premium_points")) result:free() end return v end function doAccountAddPoints(accountId, points) if(points < 0 and getAccountPoints(accountId) < math.abs(points)) then return false end return db.executeQuery('UPDATE accounts SET premium_points = premium_points + ' .. points .. ' WHERE id = ' .. accountId) end command_points = { config = config, logAction = function (str) if(command_points.config.logFile:trim() == '') then return end doWriteLogFile(command_points.config.logFile, str) end, pointsRune = function (cid) if(command_points.config.pointsRune.minLevel and getPlayerLevel(cid) < command_points.config.pointsRune.minLevel) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need " .. command_points.config.pointsRune.minLevel .. " level to buy this rune.") return true end if(getPlayerPoints(cid) < command_points.config.pointsRune.points) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, not enought points on your account. This rune cost " .. command_points.config.pointsRune.points .. " points.") return true end local item = doCreateItemEx(command_points.config.pointsRune.runeId, 1) local status = doPlayerAddItemEx(cid, item, false) if(status ~= RETURNVALUE_NOERROR and status) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Not enought space for rune.") return true end if(doPlayerRemovePoints(cid, command_points.config.pointsRune.points)) then doSendMagicEffect(getCreaturePos(cid), 40) doPlayerSave(cid) command_points.logAction("pointsRune: " .. getCreatureName(cid)) else doPlayerSendCancel(cid, "ERROR. Please try again later.") end end, changeName = function (cid) if(not getTileInfo(getCreaturePosition(cid)).protection) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You can use this command only in protection zone.") return true end local lastChange = getPlayerStorageValue(cid, command_points.config.changeName.storage) if(os.time() < lastChange + command_points.config.changeName.delay) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, this command have limited usage. You will be able to use it next time at " .. os.date("%X on %d.%m.%y", lastChange + command_points.config.changeName.delay) .. ".") return true end if(getPlayerPoints(cid) < command_points.config.changeName.points) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, not enought points on your account. Namelock cost " .. command_points.config.changeName.points .. " points.") return true end if(doPlayerRemovePoints(cid, command_points.config.changeName.points)) then setPlayerStorageValue(cid, command_points.config.changeName.storage, os.time()) doAddPlayerBanishment(getCreatureName(cid), BAN_PLAYER, -1, ACTION_NAMELOCK) command_points.logAction("changeName: " .. getCreatureName(cid)) doRemoveCreature(cid) else doPlayerSendCancel(cid, "ERROR. Please try again later.") end end, changeSex = function (cid) if(getPlayerPoints(cid) < command_points.config.changeSex.points) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, not enought points on your account. Change sex cost " .. command_points.config.changeSex.points .. " points.") return true end local partner = getPlayerPartner(cid) if(partner and partner ~= 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you cannot change your sex while being married.") return true end if(doPlayerRemovePoints(cid, command_points.config.changeSex.points)) then local newSex = getPlayerSex(cid) == PLAYERSEX_FEMALE and PLAYERSEX_MALE or PLAYERSEX_FEMALE doPlayerSetSex(cid, newSex) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sex changed to " .. (newSex == PLAYERSEX_FEMALE and "female" or "male") .. ".") doPlayerSave(cid) command_points.logAction("changeSex: " .. getCreatureName(cid)) else doPlayerSendCancel(cid, "ERROR. Please try again later.") end end, removeSkull = function (cid) local skull = getCreatureSkullType(cid) if(skull ~= SKULL_RED and skull ~= SKULL_BLACK) then doPlayerSendCancel(cid, "You do not have red/black skull.") return true end if(getPlayerPoints(cid) < command_points.config.removeSkull.points) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, not enought points on your account. Remove skull cost " .. command_points.config.removeSkull.points .. " points.") return true end if(doPlayerRemovePoints(cid, command_points.config.pointsRune.points)) then db.executeQuery("UPDATE killers SET unjustified = 0 WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id = " .. getPlayerGUID(cid) .. ")") doCreatureSetSkullType(cid, SKULL_NONE) doPlayerSetSkullEnd(cid, 0, skull) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Your skull has been taken off!\nRemaining premium points: " .. getPlayerPoints(cid)) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_YELLOW_RINGS) doPlayerSave(cid) command_points.logAction("removeSkull: " .. getCreatureName(cid)) else doPlayerSendCancel(cid, "ERROR. Please try again later.") end end, refuelStamina = function (cid) if(getPlayerPoints(cid) < command_points.config.refuelStamina.points) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, not enought points on your account. Stamina refill cost " .. command_points.config.refuelStamina.points .. " points.") return true end local full = getConfigValue('staminaRatingLimitTop') if(getPlayerStamina(cid) >= full) then doPlayerSendCancel(cid, "Your stamina is already full.") elseif(not isPremium(cid)) then doPlayerSendCancel(cid, "You must have a premium account.") else if(doPlayerRemovePoints(cid, command_points.config.refuelStamina.points)) then doPlayerSetStamina(cid, full) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your stamina has been refilled.") doPlayerSave(cid) command_points.logAction("refuelStamina: " .. getCreatureName(cid)) else doPlayerSendCancel(cid, "ERROR. Please try again later.") end end end } ]]></lib> <talkaction words="!points;/points" event="script"><![CDATA[ domodlib('command-points-lib') function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have " .. getPlayerPoints(cid) .. " points on your account.") return true end param = param:lower():trim() if(command_points.config.changeName.enabled and isInArray({"name", "namelock", "changename"}, param)) then command_points.changeName(cid) elseif(command_points.config.changeSex.enabled and isInArray({"sex", "changesex", "changender", "changegender"}, param)) then command_points.changeSex(cid) elseif(command_points.config.pointsRune.enabled and isInArray({"rune", "pointsrune"}, param)) then command_points.pointsRune(cid) elseif(command_points.config.removeSkull.enabled and isInArray({"rs", "skull", "frags"}, param)) then command_points.removeSkull(cid) elseif(command_points.config.refuelStamina.enabled and isInArray({"stamina"}, param)) then command_points.refuelStamina(cid) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid option.") end return true end ]]></talkaction> <!--talkaction words="!rs" event="script"><![CDATA[ domodlib('command-points-lib') function onSay(cid, words, param, channel) command_points.removeSkull(cid) return true end ]]></talkaction> <talkaction words="!changename" event="script"><![CDATA[ domodlib('command-points-lib') function onSay(cid, words, param, channel) command_points.changeName(cid return true end ]]></talkaction> <talkaction words="!changesex" event="script"><![CDATA[ domodlib('command-points-lib') function onSay(cid, words, param, channel) command_points.changeSex(cid return true end ]]></talkaction--> <!-- Points rune --> <!-- You can remove/comment below lines if you don't want to use it --> <action itemid="2294" allowfaruse="1" blockwalls="1" event="script"><![CDATA[ domodlib('command-points-lib') function onUse(cid, item, fromPosition, itemEx, toPosition) if(not isPlayer(itemEx.uid) or not command_points.config.pointsRune.enabled) then return false end if(doRemoveItem(item.uid, 1)) then doPlayerAddPoints(itemEx.uid, command_points.config.pointsRune.points) doSendMagicEffect(toPosition, CONST_ME_BIGCLOUDS) doPlayerSave(cid) command_points.logAction("pointsRune: " .. getCreatureName(cid) .. " (used)") else doPlayerSendTextMessage(cid, "Points couldn't be added. Please try again later.") end return true end ]]></action> <item id="2294" article="a" name="points rune" override="yes"> <attribute key="runeSpellName" value="Points Rune"/> <attribute key="weight" value="120"/> <attribute key="description" value="50 points. Use it on yourself or other player to add points."/> </item> </mod> Tenho 2 Duvidas 1-Esse script tem erro? 2-Tem como criar uma talkaction,que add os points?
  10. SkyThez reagiu a uma resposta no tópico: Erro trap
  11. SkyThez reagiu a uma resposta no tópico: Erro trap
  12. SkyThez postou uma resposta no tópico em Suporte Tibia OTServer
    Ixe man,o trap aparece em quem usa a magia
  13. SkyThez postou uma resposta no tópico em Suporte Tibia OTServer
    Tenho essa magia de trap,porem os traps não somen,alguem poderia me ajudar local remove_time = 7 -- tempo em segundos para remover as magic wall local item_id = 1497 -- id da magic wall function onCastSpell(cid, var) local pos = getThingPosition(getCreatureTarget(cid)) local efeito = 251 posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1} posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1} posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1} posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1} posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1} posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1} posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1} posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1} posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8} for i=1, #posAll do if isWalkable(posAll[i]) then doCreateItem(item_id, 1, posAll[i]) doSendMagicEffect(posAll[i], efeito) end end addEvent(removeItem, remove_time*1000, posAll) return true end function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function removeItem(posAll) for i=1, #posAll do for j=0, 255 do pos_stack = {x=posAll[i].x,y=posAll[i].y,z=posAll[i].z,stackpos=j} removeTile = getThingfromPos(pos_stack) if removeTile.itemid == item_id then doRemoveItem(removeTile.uid) end end end end
  14. Testou?
  15. Alienbear reagiu a uma resposta no tópico: Ajuda aqui fiquei confuso
  16. function onUse(cid, item, fromition, itemEx, toPosition) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nMana atual: " .. getCreatureHealth(cid) .. "\nMana máxima: " .. getCreatureMaxHealth(cid) .. "") return true end if getPlayerSex(cid) == 51 or getPlayerSex(cid) == 52 then local pid = getPlayerByNameWildcard(param) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O ninja com o nome " .. param .. " não esta online ou não existe.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "\nmana de [ " .. getCreatureName(pid) .. " ] atual: " .. getCreatureHealth(pid) .. "\nmana de [ " .. getCreatureName(pid) .. " ] máxima: " .. getCreatureMaxHealth(pid) .. "") return true else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Apenas ninjas dos clans 51 e 52 podem utilizar este comando para visualizar informações de outros jogadores.") return true end end
  17. SkyThez reagiu a uma resposta no tópico: Nolis Show Off
  18. SkyThez reagiu a uma resposta no tópico: Nolis Show Off
  19. SkyThez reagiu a uma resposta no tópico: Nolis Show Off
  20. SkyThez reagiu a uma resposta no tópico: Set Madara
  21. SkyThez postou uma resposta no tópico em Recursos e ferramentas de Design
    O avatar você poderia diminuir a largura?só umpouquinho E a sign umpouco maior
  22. SkyThez postou uma resposta no tópico em Recursos e ferramentas de Design
    Tema:Uchiha Madara Render (Opcional):Não sei oque é isso Pedido(Sign, avatar, pic, wallpaper, etc):Avatar+Sign Tipografia (Seu nick no fórum ou algum outro nome):Like a Boss

Informação Importante

Confirmação de Termo