-
Total de itens
489 -
Registro em
-
Última visita
-
Dias Ganhos
15
Tudo que Leoxtibia postou
-
talkaction [Talkaction] Promotion Para Vips - Systems [Kydrai, Storage, Premium, Mock]
um tópico no fórum postou Leoxtibia Actions e Talkactions
É o meu primeiro script aqui (na verdade já atendi alguns pedidos), mas postando nessa seção é meu primeiro. São sistemas que dependem do seu sistema de vip e que dará uma segunda promotion ao usar o comando !promote. (Para todos os Sistemas) Vá até a pasta talkactions>scripts e crie um arquivo chamado promotion.lua (ou qualquer nome de sua preferência) e cole isto dentro: Para VIP System by Account [Kydrai] -- Link Para VIP System por storage Para VIP System por Premium Para VIP System by Mock (Para todos os Tipos) Agora em em creaturescripts>scripts no arquivo login.lua adicione o script abaixo, antes do return true para a vocação voltar ao normal assim que a vip acabar: Para VIP System by Account -- [Kydrai] Para VIP System por Storage Lembre-se de alterar o storage aqui se alterou lá no script Para VIP por Premium Para VIP by MOCK (Para todos os Tipos) Na parte acima, aqui são os ids das novas vocações: {9, 10, 11, 12} que voltarão à vocação anterior, no nosso caso, [5];[6];[7];[8] (Para todos os Tipos) Agora em talkactions.xml coloque a tag: <talkaction words="!promote" event="script" value="promotion.lua"/> Lembre-se que se mudou o nome do arquivo lá emcima, mude na tag também. Atenção com essa parte... no vocations.xml configurem corretamente a partir de qual vocação será conseguida a vocação promote. Vejam o exemplo abaixo: fromvoc="X" -- Significa "da vocação" é de qual vocação essa Supreme Sorcerer virá, se você quiser que venha do Master Sorcerer que o id é 5, você coloca 5, ficando: fromvoc="5" Então é isso aí galera, ainda estou começando em scripting mas espero ter ajudado alguém. Abraços! -
Testa esse script que eu fiz é referente ao Pedido 1, creio que vá funcionar. O script é autoexplicativo, mas qualquer problema posta aqui que eu respondo. Segue o link http://www.xtibia.com/forum/topic/187773-talkaction-promotion-para-vips-vip-system-by-kydrai/ Espero ter ajudado, abraços.
- 9 respostas
-
- dois pedidos e uma dúvida.
- otserv
- (e 2 mais)
-
@up Juro que eu pensei nisso! =D
-
Sim, to vendo, mas então você colocou para onde o teleport levaria naquela linha lá?
-
Você colocou as coordenadas para onde o tp levaria nessa linha? local teleport = {x=31883, y=31756, z=7}
-
dúvida Como Colocar Para Players Free Comprar House/casa?
pergunta respondeu ao tharlanthebrave de Leoxtibia em Scripts
Veja se no seu config.lua tem essa linha: addonsOnlyPremium se tiver coloque como false. Se não tiver adicione ela assim addonsOnlyPremium = false e veja se funciona. Vlw, espero ter ajudado. -
Você colocou o actionid 3031 no teleport? Testei aqui agora, e tá funcionando.
-
Que uniqueid? Nao precisa do uniqueid, voce so precisa colocar um actionid no teleport e colocar aqui nessa tag a mesma actionid no lugar de XXXX. <movevent type="StepIn" actionid="XXXX" event="script" value="nomedoseuarquivo.lua"/>
-
Sarioyana, veja se você colocou o actionid no teleport igual ao da tag do movements.xml, o script do Subwat funciona perfeitamente.
-
Crie um arquivo. lua em talkactions>scripts e cole isto dentro: local minlevel = 10 -- minimo level para usar o comando local compra = { ["superuh"] = {id = 2310, count = 100, price = 100}, --- id da runa, quantidade e preço ["magicprison"] = {id = 2290, count = 100, price = 1} } function onSay(cid, words, param) if (param == "") then doPlayerSendTextMessage(cid, 24,"Use o comando corretamente!") return true end if (param == "superuh") then if getPlayerLevel(cid) >= minlevel then if doPlayerRemoveItem(cid, 2160, compra["superuh"].price) == TRUE then doPlayerAddItem(cid, compra["superuh"].id, compra["superuh"].count) doSendMagicEffect(getCreaturePosition(cid),13) doCreatureSay(cid, "Voce comprou 100 super uh!", TALKTYPE_ORANGE_1) else doCreatureSay(cid, "Voce nao tem dinheiro suficiente", TALKTYPE_ORANGE_1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return true end end elseif (param == "magicprison") then if getPlayerLevel(cid) >= minlevel then if doPlayerRemoveItem(cid, 2160, compra["magicprison"].price) == TRUE then doPlayerAddItem(cid, compra["magicprison"].id, compra["magicprison"].count) doSendMagicEffect(getCreaturePosition(cid),13) doCreatureSay(cid, "Voce comprou 100 magic prison!", TALKTYPE_ORANGE_1) else doCreatureSay(cid, "Voce nao tem dinheiro suficiente", TALKTYPE_ORANGE_1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return true end end end end Depois, cole a tag em talkactions.xml: <talkaction log="yes" words="!buy" event="script" value="nomedoseuarquivo.lua"/> Nessa linha, edite o id da runa, você troca o 2310 e 0 2290, pelo id das suas runas, respectivamente: ["superuh"] = {id = 2310, count = 100, price = 100}, ["magicprison"] = {id = 2290, count = 100, price = 1} Lembrando que para usar o comando é só falar !buy superuh ou !buymagicprison e que o script remove apenas crystal coins. Vlw, espero ter ajudado, abraço!
-
Bem, se for isso mesmo que eu entendi, segue o script: Crie um arquivo.lua em talkactions>scripts e coloque isto dentro: local minlevel = 10 local id = {["fist"] = 0, ["club"] = 1, ["sword"] = 2, ["axe"] = 3, ["distance"] = 4, ["shielding"] = 5, ["fishing"] = 6} function onSay(cid, words, param, position) if(id[param:lower()]) then if getPlayerLevel(cid) >= minlevel then local pos = getPlayerPosition(cid) doPlayerSendTextMessage(cid, 22, "Seu skill é : "..getPlayerSkillLevel(cid, id[param:lower()]).."") doSendMagicEffect(pos, 26) else doSendMagicEffect(pos, 2) doPlayerSendTextMessage(cid, 24,"Você não tem level para usar este comando.") return true end elseif (param == "magic") then if getPlayerLevel(cid) >= minlevel then local pos = getPlayerPosition(cid) doSendMagicEffect(pos, 26) doPlayerSendTextMessage(cid, 22,"Seu skill de magic é ".. getPlayerMagLevel(cid) ..".") else doSendMagicEffect(pos, 2) doPlayerSendTextMessage(cid, 24,"Você não tem level para usar este comando.") end return true end end Agora em talkactions.xml você coloca a tag: <talkaction log="yes" words="!skill" event="script" value="nomedoseuarquivo.lua"/> Para usar o script é só falar !skill [nome do skill]. Exemplos: !skill club ; !skill fishing. Vlw, espero ter ajudado, abraço!
-
É, errei em uma coisa... coloca esse no lugar: function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 1985 then stor = getPlayerStorageValue(cid,3543) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a VIP Staff.") doPlayerAddItem(cid,7958,1) setPlayerStorageValue(cid,3543,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1986 then stor = getPlayerStorageValue(cid,3543) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a VIP Club.") doPlayerAddItem(cid,7423,1) setPlayerStorageValue(cid,3543,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1987 then stor = getPlayerStorageValue(cid,3543) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a VIP Axe.") doPlayerAddItem(cid,7434,1) setPlayerStorageValue(cid,3543,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1988 then stor = getPlayerStorageValue(cid,3543) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a VIP Sword.") doPlayerAddItem(cid,8931,1) setPlayerStorageValue(cid,3543,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 1989 then stor = getPlayerStorageValue(cid,3543) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a VIP Star.") doPlayerAddItem(cid,7366,1) setPlayerStorageValue(cid,3543,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end end return true end
-
@up WTF? @topic Aqui, tenta substituir seu script por esse: function onSay(cid, words, param) local femaleOutfits = { ["citizen"]={136}, ["hunter"]={137}, ["mage"]={138}, ["knight"]={139}, ["nobleman"]={140}, ["summoner"]={141}, ["warrior"]={142}, ["barbarian"]={147}, ["druid"]={148}, ["wizard"]={149}, ["oriental"]={150}, ["pirate"]={155}, ["assassin"]={156}, ["beggar"]={157}, ["shaman"]={158}, ["norsewoman"]={252}, ["nightmare"]={269}, ["jester"]={270}, ["brotherhood"]={279}, ["demonhunter"]={288}, ["yalaharian"]={324}, ["warmaster"]={335} } local maleOutfits = { ["citizen"]={128}, ["hunter"]={129}, ["mage"]={130}, ["knight"]={131}, ["nobleman"]={132},["summoner"]={133}, ["warrior"]={134}, ["barbarian"]={143}, ["druid"]={144}, ["wizard"]={145}, ["oriental"]={146}, ["pirate"]={151}, ["assassin"]={152}, ["beggar"]={153}, ["shaman"]={154}, ["norsewoman"]={251}, ["nightmare"]={268}, ["jester"]={273}, ["brotherhood"]={278}, ["demonhunter"]={289}, ["yalaharian"]={325}, ["warmaster"]={336} } local msg = {"Digite o nome correto!", "Voce não possui Addon Doll!", "Bad param!", "Você recebeu seu addons!"} local param = string.lower(param) if (not isPremium(cid)) then doPlayerSendCancel(cid, "Você nao tem premium account.") return TRUE end if(getPlayerItemCount(cid, 6579) > 0) then if(param ~= "" and maleOutfits[param] and femaleOutfits[param]) then doPlayerRemoveItem(cid, 6579, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[4]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) if(getPlayerSex(cid) == 0)then doPlayerAddOutfit(cid, femaleOutfits[param][1], 3) else doPlayerAddOutfit(cid, maleOutfits[param][1], 3) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[1]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[2]) end end E a tag, pode ser assim: <talkaction words="!addon" event="script" value="addondoll.lua"/> Vlw =D
-
Você tem que mudar nessa linha: doPlayerAddItem(cid,2182,1) Explicando: Em vermelho é o id do item e em verde a quantidade. Se você quiser colocar mais itens, adicione mais linhas e confira se os itens que você quer, tá igual aos ids que eu coloquei, se não, é só você trocar.
-
Ok, por baú: Crie um arquivo.lua em actions>scripts e cole isso dentro: function onUse(cid, item, frompos, item2, topos) voc = getPlayerVocation(cid) queststatus = getPlayerStorageValue(cid,2453) if voc == 1 then if queststatus == -1 then doPlayerAddItem(cid,2182,1) doPlayerAddItem(cid,2652,1) doPlayerAddItem(cid,2238,1) doPlayerAddItem(cid,5917,1) setPlayerStorageValue(cid,2453,1) else doPlayerSendTextMessage(cid,22,"Você já pegou o seu prêmio.") end return 1 end end Em actions.xml você coloca essa tag: <action uniqueid="XXXX" script="nomedoseuarquivo.lua"/> Em XXXX você coloca o uid que você colocou no baú. Se você quiser que o player ganhe o item ao logar, crie um arquivo.lua em creaturescripts>scripts e cole isto dentro: function onLogin(cid) if getPlayerStorageValue(cid, 2357) == -1 then local bag = doPlayerAddItem(cid, 2003, 1) setPlayerStorageValue(cid,2357) doAddContainerItem(bag, 2182, 1) doAddContainerItem(bag, 2652, 1) doAddContainerItem(bag, 2238, 1) doAddContainerItem(bag, 5917, 1) end return TRUE end Em creature.xml adicione a tag: <event type="login" name="First" event="script" value="nomedoseuarquivo.lua"/> Vlw aí, abraço!
-
Crie um arquivo em talkactions>scripts chamando vida.lua e cole isto dentro: local minlevel = 10 -- minimo level para usar o comando function onSay(cid, words, param) if getPlayerLevel(cid) >= minlevel then doSendMagicEffect(getCreaturePosition(cid), 14) doPlayerSendTextMessage(cid, 24,"Você tem ".. getPlayerHealth(cid) .." no momento.") doPlayerSendTextMessage(cid,22,"Você tem ".. getCreatureMaxHealth(cid) .. " ao total.") else doPlayerSendCancel(cid,"Você não tem o level necessário para usar este comando.") end return true end Em talkactions.xml coloque a tag: <talkaction words="!vida" event="script" value="vida.lua"/> Vá para a pasta lib e adicione isso em 050-function.lua lá no final: function getPlayerHealth(cid) -- by vodka doPlayerSave(cid) local PlayerInfo = db.getResult("SELECT `health` FROM `players` WHERE `id` = " .. getPlayerGUID(cid)) return PlayerInfo:getDataInt("health") end (Crédito da função - Vodkart) Vlw, abraço!
-
Eu sei kk, mas os firstitems poderiam ser pegos em um baú, ao depender da vocação. Manda ai o id das suas vocações. Veja no vocations.xml
-
Você gostaria que os first items pudessem ser obtidos em um baú ou só serve se for ao logar?
-
Acho que esse vai ajudar, você só precisa colocar o uniqueid em cada baú no lugar do 6000, nessa linha. if item.uid == 6000 then Outra coisa, é adicionar o nome do item na mensagem. Crie um arquivo em actions>script e cole isso dentro do seu nomedoseuarquivo.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local storage = 3543 if item.uid == 6000 then stor = getPlayerStorageValue(cid,storage) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a NOME DO ITEM.") doPlayerAddItem(cid,7958,1) setPlayerStorageValue(cid, storage) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 6001 then stor = getPlayerStorageValue(cid,storage) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a NOME DO ITEM.") doPlayerAddItem(cid,7423,1) setPlayerStorageValue(cid, storage) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 6002 then stor = getPlayerStorageValue(cid,storage) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a NOME DO ITEM.") doPlayerAddItem(cid,7434,1) setPlayerStorageValue(cid, storage) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 6003 then stor = getPlayerStorageValue(cid,storage) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a NOME DO ITEM.") doPlayerAddItem(cid,8931,1) setPlayerStorageValue(cid, storage) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end elseif item.uid == 6004 then stor = getPlayerStorageValue(cid,storage) if stor == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a NOME DO ITEM.") doPlayerAddItem(cid,7366,1) setPlayerStorageValue(cid, storage) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.") end end return true end Em actions.xml você coloca: <action uniqueid="6000" script="nomedoseuarquivo.lua" /> <action uniqueid="6001" script="nomedoseuarquivo.lua" /> <action uniqueid="6002" script="nomedoseuarquivo.lua" /> <action uniqueid="6003" script="nomedoseuarquivo.lua" /> <action uniqueid="6004" script="nomedoseuarquivo.lua" /> Lembrando de que, se o uniqueid do baú for diferente desses, mudar no script e mudar na tag. Vlw, abraço!
-
pedido Alavanca + Item = Teletransporta Player
pergunta respondeu ao mrfmarcelo de Leoxtibia em Scripts
Já que você me mandou PM... vê aí esse que eu fiz (ainda tô começando, mas acho q funciona) Crie um arquivo em actions>scripts: function onUse(cid, item, frompos, item2, topos) itempos = {x = 108, y = 58, z = 7, stackpos = 255} --- posição do item, não mexa no stackpos teleport = {x = 100, y = 40, z = 7} -- posição para onde será teleportado x = getThingfromPos(itempos) if x.itemid == 9971 then if item.actionid == 2423 and item.itemid == 1945 or item.itemid == 1946 then doTransformItem(item.itemid,1946) doRemoveItem(x.uid,1) doTeleportThing(cid, teleport) doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE, 'Voce foi teleportado.') end end end Você coloca essa tag no action.xml e bota o actionid da alavanca 2423: <action actionid="2423" event="script" value="nomedoseuarquivo.lua"/> -
Está aqui o script correto... function onUse(cid, item, fromPosition, item2, toPosition) teleport = {x=100, y=40, z=7} -- posição do teleport idkey = 2091 --- id da key if getPlayerItemCount(cid,idkey) >= 1 then if item.actionid == item2.actionid then doTeleportThing(cid, teleport) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce foi teleportado!") end end end Testa aí com as duas chaves na backpack. Se ainda continuar.., você colocou para a outra chave ser usada em outra estátua com actionid diferente? Se sim, lembre de retirar a linha de remover o item. E sobre o loot da key com o número, uma saída seria você criar um NPC que "convertesse" a key normal (dropada dos monstros), pela key correta.
-
Esse da estatua já está feito. Ele tá lá emcima, a linha que ver o número da key e a estátua é essa: if item.actionid == item2.actionid then Como disse, é preciso que você bote o actionid da estatua na tag igual ao key number. Vlw, Abraço.
-
Então você poderia criar essas chaves por um baú, taí o script: Crie em actions>scripts um arquivo.lua e coloque isso nele: function onUse(cid, item, frompos, item2, topos) queststatus = getPlayerStorageValue(cid,2357) if queststatus == -1 then local key = doPlayerAddItem(cid,2091,1) doItemSetAttribute(key, "aid", 666) doPlayerSendCancel(cid,'You have found a Golden key! Number 666.') setPlayerStorageValue(cid,2357,1) else doPlayerSendCancel(cid,'This chest is Empty') end return true end Aqui em doItemSetAttribute(key, "aid", 666) -- Em vermelho é o Key Number da sua chave Em actions.xml coloque a tag: <action actionid="XXXX" event="script" value="nomedoseuarquivo.lua"/> Em XXXX você coloca a actionid do baú, aí é so fazer a mesma coisa para o outro número da key.Lembrando de mudar o 2357, que é o storage. Abraço!
-
Ta aí a deixa então =P To começando a scripting ainda.. mas acho que o script deve funcionar. É só dar use com a chave na estátua =P Crie um arquivo em actions>scripts e coloque isto dentro: function onUse(cid, item, fromPosition, item2, toPosition) teleport = {x=100, y=40, z=7} -- posição do teleport idkey = 2091 --- id da key if getPlayerItemCount(cid,idkey) >= 1 then if item.itemid == 2091 then if item.actionid == item2.actionid then doPlayerRemoveItem(cid,idkey,1) doTeleportThing(cid, teleport) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce foi teleportado!") end end end end Em actions.xml, adicione: <action actionid="XXXX" event="script" value="nomedoseuarquivo.lua"/> Em XXXX, coloque o actionid da estátua que deve ser igual ao do número da key. Vlw, abraços!
-
Ainda é assim...A action id é igual ao número da key.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.