-
Total de itens
3406 -
Registro em
-
Última visita
-
Dias Ganhos
113
Tudo que Vodkart postou
-
a pergunta é Como fazer isso? como podemos elaborar o script? alguma ideia?
-
function onUse(cid, item, frompos, item2, topos) local level = 10 local msgsucess = "Bem vindo!" -- mensagem que vai aparece caso ele passar pela porta local msgfault = "Você não tem level suficiente!" -- mensagem que ira aparecer caso ele nao tiver o magic level if getPlayerLevel(cid) >= level then doTransformItem(item.uid, item.itemid) doTeleportThing(cid, topos, TRUE) doSendMagicEffect(topos, 12) doPlayerSendTextMessage(cid, 22, msgsucess) else doPlayerSendTextMessage(cid, 22, msgfault) end return TRUE end
-
troque o "cid" pelo "pid" function onThink(interval, lastExecution) for _, pid in ipairs(getPlayersOnline()) do doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, 'If you need help you can use HELP CHAT (CTRL+T) or contact support_ot@hotmail.com.') end return TRUE end
-
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
-
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
-
talkaction Comprando Experiencia Por Talkaction
tópico respondeu ao SkyDangerous de Vodkart em Actions e Talkactions
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 =] -
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".
-
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
-
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
-
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
-
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?
-
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
-
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 -
@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
-
claro que não... acho que não existe nenhuma função que faça isso :X
-
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
-
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
-
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.
-
retired
-
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
-
retired
-
esse erro é do vocations.xml
-
ué tira o esse item do loot do monstro =]
-
manjadores karislayer: favor ficar calado quando o meu Nick estiver no tópico, obrigado
-
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
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.