Ir para conteúdo

Vodkart

Herói
  • Total de itens

    3406
  • Registro em

  • Última visita

  • Dias Ganhos

    113

Tudo que Vodkart postou

  1. function onUse(cid, item, fromPosition, itemEx, toPosition) local pos, door = getThingPos(cid), toPosition if(isInArray({3, 4, 7, 8}, getPlayerVocation(cid))) then -- id das vocation if isInArray({door.x-1, door.x+1}, pos.x) and pos.y == door.y then door.x = door.x + (pos.x < door.x and 1 or -1) elseif isInArray({door.y-1, door.y+1}, pos.y) and pos.x == door.x then door.y = door.y + (pos.y < door.y and 1 or -1) else return doPlayerSendCancel(cid, 'Fike de frente pra porta!') end doTeleportThing(cid, door) doSendMagicEffect(door, CONST_ME_TELEPORT) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem vocação para passar aqui!") end return TRUE end
  2. function onUse(cid, item, fromPosition, itemEx, toPosition) local pos, door = getThingPos(cid), toPosition if(isInArray({3, 4, 7, 8}, getPlayerVocation(cid))) then -- id das vocation if isInArray({door.x-1, door.x+1}, pos.x) and pos.y == door.y then door.x = door.x + (pos.x < door.x and 1 or -1) elseif isInArray({door.y-1, door.y+1}, pos.y) and pos.x == door.x then door.y = door.y + (pos.y < door.y and 1 or -1) else return doPlayerSendCancel(cid, 'Fike de frente pra porta!') end doTeleportThing(cid, door) doSendMagicEffect(door, CONST_ME_TELEPORT) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem vocação para passar aqui!") end return TRUE end
  3. pode usar assim if getPlayerVocation(cid) == 1 then doPlayerSetVocation(cid,2) end a eh uma dica vc esta colocando o return 1 dps do ultimo end o certo é antes do ultimo end end return TRUE end Parabens cara =]
  4. actionid: vc utiliza para criar uma ação em alguma coisa,já com um script Pronto,pode ser colocado ActionID em, mais de um item. uniquiid: eh um id que somente um unico item pode ter,também serve para criar alguma ação,você não pode adicionar mais que um UniqueID em items. sobre o getPlayerAccess(uid) if getPlayerAccess(cid) >= 3 then or getPlayerAccess(player) >= 3 then mana = 15000 exp = 5000 doPlayerAddMana(cid,mana) doPlayerAddExp(cid,exp) end "player" teriamos que identificar com um param para pegar o nome dele. cid = proprio jogador que executo a ação itemid -- determina a ação em um certo item exemplo: item.itemid == 2123 then count -- quantidade exemplo: if getPlayerItemCount(cid, 2145) >= 5 then rank -- rank acho que é acess,nao sei mto looktype, = numero da ropa do jogador addons, - addons 1,2 ou 3(full) condition, adiciona uma condição ao jogador (ex: battle) new_type, da uma nova ropa ao jogador como e quando usar o if,then e else? "if" significa "se" "then" significa "então" "else" significa "senão" "end" significa "fim" "se" Jogador_for_level_ >= 8 "então" script... "senão" mandar_msg_de_level "fim" obs: > maior que < menor que >= igual ou maior que <= igual ou menor que em lua: "if" Jogador_for_level_ >= 8 "then" script... "else" mandar_msg_de_level "end" -- fecha o if todo "if" se fecha com "end".
  5. eu não uso nenhum programa mais um que pode te ajudar é o do colex chamado: OTScript Live! alguns links para vc: todos os get,do,set: http://www.zonegames.com.br/t14301/ http://www.xtibia.com/forum/topic/130494-funcoes-tirado-da-pastinha-doc-tfs-034/ http://www.tibialife.com/forum/lista-fun-es-t185.html
  6. esse do teleport é script meu só que nesse caso é usado tabbles,mais pra frente vc vai ver isso... não entendi com oque vc quis dizer encontrar mais comandos if e do? vc quis dizer funções? :X abraços
  7. Primeiramente se você quiser criar uma talkactions tem que usa a função function onSay(cid, words, param) como você mesmo disse,esse script só será executado quando o jogador falar algo. --- porque usar if(words == "!vipdays") then ? Na verdade só usamos essa funções para colocar mais de um Comando no mesmo arquivo.lua if(words == "test1") then script .... elseif(words == "test2") then script ... end a partir que vc usa if words ou elseif words os scripts não poderão conctar entre si... exemplo: if(words == "test1") then local storage = 1234 if getPlayerStorageValue(cid, storage) >= 1 doPlayerAddItem(cid,2123,1) end -- fecha if getPlayerStorageValue(cid, storage) >= 1 no test1 elseif(words == "test2") then if getPlayerStorageValue(cid, storage) >= 1 doPlayerAddItem(cid,2124,1) end -- fecha if getPlayerStorageValue(cid, storage) >= 1 no test2 end -- fecha o if do test1 then o test2 não vai funcionar nesse caso.., porque? porque a variavel storage não foi declarada como no test1... ------ locais locais são tabelas para armazenar algum tipo de informação. exemplo: do seu local price = 1000000 local days = 2 if doPlayerRemoveMoney(cid, price) then addVipDays(cid, days) end mais facil para organizar certo? pois soh mudar ali no local a informação para que ela seja executada depois tbm poderia ser assim: if doPlayerRemoveMoney(cid, 1000000) then addVipDays(cid, 2) end ---- get -- pegar informação do jogador set -- trocar alguma informação do jogador exemplo: if getPlayerStorageValue(cid, 12345) <= 0 then setPlayerStorageValue(cid, 12345,1) -- mudei a storage do player para 1 end -- return false e return true são saídas simples função retornando um valor booleano return FALSE serve para parar um evento sobre o return TRUE é para retorna Verdadeiro se essa ação ocorreu exemplo: if doPlayerRemoveMoney(cid, 1000000) == FALSE then return false -- vai parar o script end
  8. quer uma ideia? é facil de criar,porém é muito chata mesmo... é um sistema de doenças no tibia,que ainda nao tem.claro que não seria uma só doença,seriam varias... oque acha da ideia?
  9. Na verdade seu sistema é uma copia parcial do Sistema de reset do marcelo algumas das funções são as mesma,oque mudar são o nome das variaveis, alguem citou que o sistema dela não funcionava para Mysql,pois testei e funciono sim,já que o dele utilizado pela lib. como MatheusMkalo disse,não tinha necessidade de 2 scripts iguais para a mesma função, de qualquer jeito Parabéns, abraços
  10. sim
    usando function tbm pra soh ser executada quando o jogador passar pelo piso e setar qndo ele sair ou o tempo dele acabar :T
  11. @UP tem um jeito mais facil e tudo em movements que soh vai começa a conta o tempo depois que o player subi no tile assim: function onStepIn(cid, item, position, fromPosition) if (item.actionid == 13731) then for check_forjax = 217,223 do -- check X começo e final da sala for check_forjay = 64,65 do -- check Y começo e final da sala forjapos = {x=check_forjax, y=check_forjay, z=7, stackpos=253} room_forja = getThingfromPos(forjapos ) if room_forja.itemid > 0 then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Espere o Jogador sair da forja.") return TRUE end end end elseif (item.actionid == 13732) then local function SecondForja(cid) pos = {x = 222, y = 65, z = 7} -- Coordenadas da onde vai subir o tempo storage = 18370 -- não mexa aqui local seconds = math.floor((getGlobalStorageValue(storage) - os.time())) local msg = ''.. (seconds < 0 and 0 or seconds) ..'' if isCreature(cid) == TRUE then doSendAnimatedText(pos, msg, math.random(1,140)) second = addEvent(SecondForja, 1000, cid) end end teleport = {x=160, y=54, z=7} -- para onde o player vai se nao sair em 10 minutos time = 1 -- em minutos storage = 18370 -- não mexa aqui if isPlayer(cid) == TRUE and getGlobalStorageValue(storage) <= os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "".. getCreatureName(cid) .. " você tem " .. time .. " minutos dentro da sala.") kick = addEvent(doTeleportThing, time*60*1000, cid, teleport) kick2 = addEvent(doPlayerSendTextMessage, time*60*1000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você saiu da sala de forja!") second = addEvent(SecondForja, 1000, cid) setGlobalStorageValue(storage, os.time()+time*60) end elseif (item.actionid == 13733) then storage = 18370 -- não mexa aqui if isPlayer(cid) == TRUE and getGlobalStorageValue(storage) >= os.time() then setGlobalStorageValue(storage, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você saiu da sala de forja!") stopEvent(kick) stopEvent(kick2) stopEvent(second) end end end
  12. claro que não... acho que não existe nenhuma função que faça isso :X
  13. Porque em vez de criar tópicos pedindo scripts,você não começa a aprender um pouco sobre lua? já que pelo visto,tem muitas ideias interessantes,poderia desenvolve-las. Eu até pensei em ajudar,mais quando vi o pedido de propagandas que é nivel facil,não precisar ser nenhum genio para saber colocar em "MESSAGE_STATUS_CONSOLE_BLUE",achei que você está abusando da boa vontade de alguns membros daqui, e já como você mesmo disse esta área está desorganizado e ninguem atendende nenhum pedido,aprenda. abraços
  14. na verdade ele checka as voc se for vip e se vor vocs 5,6,7 e8 ele executa o script... e se for vip e já for voc 9,10,11 e 12 ele não executa =X eu testei aqui antes de postar
  15. Vodkart

    Spell E Comando Attr

    na magia vc tem que adiciona um return TRUE function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5 } addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 400, parameters) addEvent(onCastSpell3, 700, parameters) addEvent(onCastSpell4, 1000, parameters) addEvent(onCastSpell5, 1300, parameters) return TRUE end e no /attr é assim: /attr set attack "VALOR /attr set armor "VALOR /attr set defense "VALOR alguns comando: Alguns subcomandos de /attr. /attr set text "PrSEU TEXTO EM PLACAS destination (altera informações em magic forcefields (TPs)) health (altera a saúde em jogadores) mana (altera a mana em jogadores) group (altera o grupo do personagem) sex (altera o sexo do personagem) Fórmula: /attr subcomando quantidade. Exemplos: /attr group 6 /attr health 50 /attr action = fiqe na frente da porta e mude o level da porta ex: /attr action 1030 quando for esse numero o level nessesario é 10 e se for esse numero /attr action 10100 quer dizer q o level minimo é 100. /attr destination = faça um teleport e depois digite /attr destination 1 1 1 nos lugar do 1 1 1 q eu colokei coloke as coordenadas q vc quiser q seu teleport va. /attr skull group 0 =TIRA O PK ReD /attr name NOME <--- Muda o nome de um iten. Nao pode ter espaço. /attr group 6 <---- 6 e god, 5 gamemaster, 4 senior tutor, 3 tutor, 2 sla aushausha, 1 player. /attr skull 5 <---- 5 black, 4 red, 3 white, 2 green, 1 yellow, 0 nenhuma. /attr desc DESCRIÇAO /attr attackspeed 50 /attr protection <--- nao sei oque fas direito /attr droploot <---- nao dropa o loot do bixo /attr cannotmove <---- o bixo na move /attr vocation 1 <--- 1 = Sorcerer, 2 = Druid, 3 = Paladin, 4 = Knight.
  16. claro draky se eu soubesse usar while eu faria sim que tal vc me ensinar ? já que você aprensentou uma ideia boa e parace que sabe desenvolve-la, poderia ter atendido o pedido... abraços
  17. esse erro é do vocations.xml
  18. ué tira o esse item do loot do monstro =]
  19. manjadores karislayer: favor ficar calado quando o meu Nick estiver no tópico, obrigado
  20. Vodkart

    Item Que Ver Bless

    By MatheusMkalo: function onUse(cid, item) first = "" second = "" third = "" fourth = "" fifth = "" if getPlayerBlessing(cid, 1) then first = "First Bless" end if getPlayerBlessing(cid, 2) then second = "Second Bless" end if getPlayerBlessing(cid, 3) then third = "Third Bless" end if getPlayerBlessing(cid, 4) then fourth = "Fourth Bless" end if getPlayerBlessing(cid, 5) then fifth = "Fifth Bless" end doPlayerPopupFYI(cid,"#Blessing Informations#\n\nMinhas Blessings:\n\n*"..first.."\n*"..second.."\n*"..third.."\n*"..fourth.."\n*"..fifth.."") return TRUE end
  21. explica melhor cara ele vai colocar o item em uma posição,depois disso ele usa alavanca,o item some,e é criado uma escada por 10 segundos em tal lugar? e oque tem haver com acess?
  22. falto uma virgula aqui depois do cid: return doPlayerSendCancel(cid, "Levels 8 ou menos não podem usar isso") function onUse(cid, item, frompos, item2, topos) local level = 8 local exp = 1000 if getPlayerLevel(cid) <= level then doPlayerSendCancel(cid, "Levels "..level.." ou menos não podem usar isso.") else doPlayerAddExp(cid, exp) doPlayerSendTextMessage(cid, 19, "Você ganhou "..exp.." de experiência bonus") doRemoveItem(item.uid, 1) end return TRUE end
  23. OMG essa porta é pro perfect Vip system 1.6 que tem aqui no xtibia se tu adc uma storage apenas pro player ele nao vai passa mesmo a nao ser que vc troque as variaveis pra essa: vipstatus = getPlayerStorageValue(cid, 13540) <= 0 if vipstatus ~= TRUE then
  • Quem Está Navegando   0 membros estão online

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