Ir para conteúdo

SmiX

Conde
  • Total de itens

    963
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que SmiX postou

  1. Como no titulo, eu preciso de algumas funções, elas são: os.clock() os.time() table.insert() string.len() Preciso saber o que elas fazem. Obrigado.
  2. Eu testei e funcionou, estava estudando um pouco e vi que dava pra assim, por isso fiz. Quanto ao while, cada um tem sua perspectiva para com ele. ^^
  3. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.4, 0, -1.9, 0) local combat1 = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.4, 0, -1.9, 0) local combat2 = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.4, 0, -1.9, 0) local arr = { {1, 1, 1}, {1, 2, 1}, {1, 1, 1} } local arr1 = { {0, 1, 1, 1, 0}, {1, 0, 0, 0, 1}, {1, 0, 2, 0, 1}, {1, 0, 0, 0, 1}, {0, 1, 1, 1, 0} } local arr2 = { {0, 1, 1, 1, 1, 1, 0}, {1, 1, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 2, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 1}, {1, 1, 0, 0, 0, 1, 1}, {0, 1, 1, 1, 1, 1, 0} } local area = createCombatArea(arr) setCombatArea(combat, area) local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local area2 = createCombatArea(arr2) setCombatArea(combat2, area2) function onCastSpell(cid, var) pos = getPosfromArea(cid,arr) n = 0 while n < #pos do n = n+1 thing = {x=pos[n].x,y=pos[n].y,z=pos[n].z,stackpos=253} if isCreature(getThingfromPos(thing).uid) == TRUE then doPushCreature(getThingfromPos(thing).uid,getPlayerLookDir(cid)) end end doCombat(cid, combat, var) addEvent(doCombat, 200, cid, combat1, var) addEvent(doCombat, 400, cid, combat2, var) addEvent(doCombat, 600, cid, combat1, var) addEvent(doCombat, 800, cid, combat, var) end
  4. Vamos parar de brigas idiotas, e de sair do assunto retratado pelo tópico. @Tópico Ficou bom, mais tenta usar 5/7 cores para sombrear a luz forte e a luz fraca.
  5. data/creaturescripts/script/groupOutfit.lua function onLogin(cid) while getPlayerGroupId(cid) > 1 and getPlayerGroupId(cid) <= 3 do local outfit = {} outfit[1] = {lookType = 194, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94} --/*Tutor*/-- outfit[2] = {lookType = 194, lookHead = 90, lookBody = 90, lookLegs = 90, lookFeet = 90} --/*Senior*/-- doSetCreatureOutfit(cid, getPlayerGroupId(cid) == 2 and outfit[1] or getPlayerGroupId(cid) == 3 and outfit[2], -1) end end tag: <event type="login" name="groupOutfit" event="script" value="groupOutfit.lua"/>
  6. Olá pessoal, estou hoje aqui para postar um sistema que vi em outro Fórum e, que foi criado pelo o mágico dos scripitings o Skyen Hasus. O sistema retrata o suicídio em OtServers. Vamos deixar de falar e vamos ao que interessa: Como funciona? O player está andando, por qualquer área, e quando pisa no chão com o id (460) e cai em outro floor. E consequentemente perde life e pode até chegar ao óbito. Dependendo do floor que ele esteja maior será a chance de morte. O que precisa? Você precisa, colocar no mapa, no lugar aonde quer que o player caira, o chão com o id(460), pois ele não aparece in-game. data/movements/scripts/jump.lua local hit = 500 local function getDownPos(spos, dir) spos.stackpos = 0 if dir == NORTH then spos.y = spos.y - 1 elseif dir == WEST then spos.x = spos.x - 1 end repeat spos.z = spos.z + 1 local thing = getThingfromPos(spos, false).uid if thing > 0 then return spos end until not (spos.z >= 0 and spos.z <= 7) return false end function onStepIn(cid, item, pos, frompos) local downpos = getDownPos({x=pos.x, y=pos.y, z=pos.z, stackpos=pos.stackpos}, getPlayerLookDir(cid)) if not downpos then return doTeleportThing(cid, frompos) end local floors = downpos.z - pos.z if floors <= 0 then return doTeleportThing(cid, frompos) end doTeleportThing(cid, downpos) doCreatureAddHealth(cid, -math.abs(hit*floors)) doSendMagicEffect(downpos, CONST_ME_DRAWBLOOD) return true end Você pode alterar o dano de cada andar na linha: local hit = 500 data/movements/movements.xml <movevent type="StepIn" itemid="460" event="script" value="jump.lua"/> Espero que tenham gostado do trabalho do grande Skyen Hasus.
  7. Estamos ai, qualquer coisa. Sou spriter ou scripter...
  8. Essa função: doPlayerSetMaxCapacity(cid, 0) Ajudaria??
  9. O que tu falo ai em cima velho? /\ :~/ Explica melhor.
  10. Script: function onSay(cid, words, param, channel) if getCreatureSkullType(cid) == SKULL_RED then if getAccountPoints(cid) >= 5 then db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) - 5 .."' WHERE `name` ='"..getPlayerAccount(cid).."'") doCreatureSetSkullType(cid, 0) else return doPlayerSendTextMessage(cid, 27, "Sorry, you don't have a 5 premium points.") and true end elseif getCreatureSkullType(cid) == SKULL_BLACK then if getAccountPoints(cid) >= 10 then db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) - 10 .."' WHERE `name` ='"..getPlayerAccount(cid).."'") doCreatureSetSkullType(cid, 0) else return doPlayerSendTextMessage(cid, 27, "Sorry, you don't have a 10 premium points.") and true end else return doPlayerSendTextMessage(cid, 27, "Sorry, you don't have a Red Skull or Black Skull.") and true end end tag: <talkaction words="/removeskull" script="nome do script.lua"/> Só precisa falar "/removeskull" e pronto.
  11. SmiX

    2 dúvidas o.O

    local pos = getThingPos(cid) for i = 0, 15 do local posi = getPosByDir(pos, i) if getTileItemById(posi, 2160).uid > 0 or getTopCreature(posi).uid > 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "SSD") break end end ¬¬' Sem entregar o ouro né veih
  12. SmiX

    2 dúvidas o.O

    Vlw oneshot, aproveitando sua boa vontade, pode me mandar, por PM, uns exercícios de nível "Hard core"?
  13. SmiX

    [Aulas] ou [Apostilas]

    Ainda não foi decidido, mais, pelo jeito que está, acho que será por apostilas mesmo.
  14. SmiX

    2 dúvidas o.O

    Olá pessoal, to tentando me aprimorar em lua(e em outras linguages) e estou tentando fazer um script assim: 1 Script: Se tiver alguma coisa ao redor do player quande ele usar este item, mandar uma MSG para ele. Funcionaria desta maneira? 2 Script: Queria saber, bem explicadinho(se não for pedir muito), como usar as funções de db e cada um de seus parametros. tipo, quero setar tal nome do player na database, como eu faço. Se não intenderam, imagine eu. kkk Tento explicar melhor.
  15. Olá pessoal, boa noite, eu(SmiX) e o Chuckles, estamos com a ideia de dar aulas ou de terminar o projeto dele o "Material de Apoio", mas temos dúvidas. Ai que vem o intuito de criar este tópico; Qual sua opinião? Apostilas ou Aulas. Atenciosamente, SmiX.
  16. SmiX

    [Duvida] Client 8.7

    Quase impossível achar um dat editor para a versão 8.7, pois não a uma equipe que trabalhe nesse software.
  17. Eu poderia dar aulas para todos vocês, mas preciso de autorização, por isso já falei com o lf e o looktovasck sobre isso.. Estou aguardando respostas.
  18. Cara que tipo de pedido é esse? Faça um pedido coerente. ¬¬'
  19. maximo de sprites e 65.535 sprites, se ele quiser por mais n vai da. no dat editor clica com o botão direito do mouse na sprite que você quer tirar e clica em remove Mesmo eles fazendo isso, sempre ficara o id da sprite removida, no arquivo .dat. Praticamente é impossível excluir sprites. O melhor a se fazer é substituir a sprite desnecessária.
  20. Explique melhor seu pedido rapaz, inclua mais algumas informações.
  21. Se você te as sources do seu servidor, usa este aqui: http://www.xtibia.com/forum/topic/187786-luadostarttradeplayer-tradepartner-transferitem/
  22. tag: <talkaction words="/infomission" event="script" value="nome do arquivo.lua"/> script: function onSay(cid, words, param) if param ~= "" then return false end local storages = { [1] = "You are in mission 1.", [2] = "You are in mission 2.", [3] = "You are in mission 3.", storage = 2124, questName = "SmiX Quest", } if(getPlayerStorageValue(cid, storages.storage) < 0) then return doPlayerSendTextMessage(cid, 27, "You do not have to:"..storages.questName..".") and true end doPlayerSendTextMessage(cid, 27, "--Status Quest--\n"..storages[getPlayerStorageValue(cid, storages.storage)]..".") end
  23. Tenta assim: function doMoveItemAumtomatic(itemId, oldPos, newPos) newPos = math.random(oldPos, newPos) local iten = doCreateItem(itemId, 1, oldPos) doTeleportThing(iten, newPos) end use assim: doMoveItemAumtomatic(2169, {x = 1, y = 1, z = 1}, {x = 3, y = 3, z = 3}) Acho que vai funcionar, mas não testei.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...