Ir para conteúdo

Leoxtibia

Visconde
  • Total de itens

    489
  • Registro em

  • Última visita

  • Dias Ganhos

    15

Tudo que Leoxtibia postou

  1. Você não tem o script de criar itens, certo? Se for isso, crie um arquivo.lua em data/talkactions/scripts e cole isto dentro: function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end local t = string.explode(param, ",") local ret = RETURNVALUE_NOERROR local pos = getCreaturePosition(cid) local id = tonumber(t[1]) if(not id) then id = getItemIdByName(t[1], false) if(not id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.") return true end end local amount = 100 if(t[2]) then amount = t[2] end local item = doCreateItemEx(id, amount) if(t[3] and getBooleanFromString(t[3])) then if(t[4] and getBooleanFromString(t[4])) then pos = getCreatureLookPosition(cid) end ret = doTileAddItemEx(pos, item) else ret = doPlayerAddItemEx(cid, item, true) end if(ret ~= RETURNVALUE_NOERROR) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Couldn't add item: " .. t[1]) return true end doDecayItem(item) if(not isPlayerGhost(cid)) then doSendMagicEffect(pos, CONST_ME_MAGIC_RED) end return true end Em talkactions.xml cole a tag: <talkaction log="yes" words="/i" access="4" event="script" value="NOMEDOSEUARQUIVO.lua"/>
  2. Em data/actions/scripts crie um arquivo.lua e cole isto dentro: local t = { add = 60, -- tempo em minutos cost = 10000 -- custo por use na alavanca } function onUse(cid, item, fromPosition, itemEx, toPosition) gts = getPlayerStamina(cid) pos = getPlayerPosition(cid) stamina = 2520 - gts if gts == 2520 then doPlayerSendTextMessage(cid, 22, "Sua stamina está full.") return false end if doPlayerRemoveMoney(cid, t.cost) then if gts <= 2460 then doPlayerAddStamina(cid, t.add) doPlayerSendTextMessage(cid, 18, "Você recuperou ".. t.add .." minutos de stamina!") doSendMagicEffect(pos, 30) else doPlayerAddStamina(cid, stamina) doPlayerSendTextMessage(cid, 18, "Você recuperou ".. stamina .." minutos de stamina!") doSendMagicEffect(pos, 30) end else doPlayerSendTextMessage(cid, 18, "Você não tem ".. t.cost .." gold coins.") end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end Em actions.xml cole a tag: <action actionid="ACTION_ID_DA_ALAVANCA" script="NOMEDOSEUARQUIVO.lua"/> Espero ter ajudado, abraços.
  3. Vá até a pasta lib e procure o arquivo 050-function.lua e adicione isso lá no final: function doPlayerSetSkill(cid, skill, amount) local pid = getPlayerGUID(cid) doRemoveCreature(cid,true) db.executeQuery("UPDATE `player_skills` SET `value` = ".. amount .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. skill ..";") return TRUE end function doPlayerSetMagic(cid, amount) local pid = getPlayerGUID(cid) doRemoveCreature(cid,true) db.executeQuery("UPDATE `players` SET `maglevel` = " .. amount .. " WHERE `id` = "..pid) return TRUE end Em data/actions/scripts crie um arquivo.lua e cole isto dentro: function onUse(cid, item, position, fromPosition, itemEx, toPosition) voc = getPlayerVocation(cid) if getPlayerStorageValue(cid, 4363) <= 0 then if getPlayerLevel(cid) >= 0 then doRemoveItem(item.uid) setPlayerStorageValue(cid, 4363, 1) doPlayerSetSkill(cid, 5, getPlayerSkill(cid, 5)+50) if voc == 1 or voc == 2 then doPlayerSetMagic(cid, getPlayerMagLevel(cid)+50) elseif voc == 3 then doPlayerSetSkill(cid, 4, getPlayerSkill(cid, 4)+50) elseif voc == 4 then doPlayerSetSkill(cid, 1, getPlayerSkill(cid, 1)+50) doPlayerSetSkill(cid, 2, getPlayerSkill(cid, 2)+50) doPlayerSetSkill(cid, 3, getPlayerSkill(cid, 3)+50) end else doPlayerSendCancel(cid, "Você não tem level.") return true end else doPlayerSendCancel(cid, "Você já usou o item.") end return true end Em actions.xml cole a tag: <action itemid="ID_DO_ITEM" event="script" value="NOMEDOSEUARQUIVO.lua"/> Vlw, espero ter ajudado.
  4. Dê mais informações sobre o seu pedido, amigo. O player poderá usar o item mais de 1 vez? Precisa de level para usar? Master Sorcerer, Elite Knight, Royal Paladin e Elder Druid também poderão usar os itens? Tente explicar de uma vez só, para não precisar modificar nada depois.
  5. Mas ele pode ir solo Aquela parte é quantos players em party podem ir, ou seja, um grupo de quantas pessoas. Ali não tem a ver com ir solo..... -- Sim, não usei globalstorage ou storage, fiz um loop para checkar se já tinha algum player no local. Quando testar e se funcionar, avise no tópico que sua dúvida foi sanada para que possam mover o tópico, caso tenha alguma dúvida, poste aqui mesmo que te respondo.
  6. Sim, depois eu faço.. à propósito, já tinha respondido um outro seu: http://www.xtibia.com/forum/topic/190481-preciso-de-1-script-peco-ajuda/
  7. É só colocar o actionid 503 no trem.
  8. Então.. o seu é o perfect vip system e esse script de outfit já existe no fórum ^^. Em data/creaturescripts/scripts crie um arquivo.lua e cole isto dentro: --[[ Script By Vodkart]]-- function onLogin(cid) local x = { [0] = {lookType = 136, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = 0}, -- Outfit Female caso acabe a vip (n precisa mexer) [1] = {lookType = 128, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = 0} -- Outfit Male caso acabe a vip (n precisa mexer) } quest_storage = 19000 -- numero da sua storage escolhida if getPlayerStorageValue(cid, 13540) - os.time() >= 1 and getPlayerStorageValue(cid, quest_storage) == -1 then setPlayerStorageValue(cid, quest_storage, 1) elseif getPlayerStorageValue(cid, 13540) - os.time() <= 0 and getPlayerStorageValue(cid, quest_storage) >= 1 then setPlayerStorageValue(cid, quest_storage, -1) doCreatureChangeOutfit(cid, x[getPlayerSex(cid)]) end return TRUE end Perceba que aqui nessa linha, está o storage que colocou no outfit, lá no outfit.xml: quest_storage = 19000 -- numero da sua storage escolhida Em creaturescripts.xml cole a tag: <event type="login" name="OutfitVip" script="NOMEDOSEUARQUIVO.lua"/> Qualquer dúvida, vá ao tópico do script: http://www.xtibia.co...jogadores-vips/ Vlw, espero ter ajudado.
  9. Procure em talkactions/scripts algo relacionado a vip.. como: !buyvip, /addvip, ou algo do tipo, e manda esse script.
  10. Em data/actions/scripts crie um arquivo.lua e cole isto dentro: function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getPlayerPosition(cid) if getTilePzInfo(pos) == false then doSummonCreature("Magebomb", pos) doSendMagicEffect(pos, 29) doRemoveItem(item.uid) else doPlayerSendCancel(cid, "Você não pode usar o item em protection zone.") doSendMagicEffect(pos, CONST_ME_POFF) end return true end Em actions.xml cole a tag: <action itemid="5957" event="script" value="NOMEDOSEUARQUIVO.lua"/>
  11. Tem sim, qual o seu sistema vip?
  12. Em data/actions/script crie um arquivo.lua e cole isto dentro: function onUse(cid, item, itemEx, toPosition, fromPosition) if getPlayerStorageValue(cid, 19000) <= 0 then setPlayerStorageValue(cid, 19000, 1) doPlayerSendTextMessage(cid, 22, "Parabéns! Você ganhou um novo outfit.") doSendMagicEffect(getPlayerPosition(cid), 30) doRemoveItem(item.uid) if getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, 264, 1) else doPlayerAddOutfit(cid, 254, 1) end else doPlayerSendCancel(cid, "Você já tem esse outfit.") return true end return true end Troque o 264 (female) e o 254 (male) pelo looktype dos outfits desejados. Em actions.xml cole a tag: <action itemid="ID-DO-ITEM" event="script" value="NOMEDOSEUARQUIVO.lua"/> No seu outfits.xml coloque o storage de lá de cima, seguindo o exemplo: <outfit id="ID_DO_PROXIMO_OUTFIT" premium="yes" quest="19000"> <list gender="0" lookType="LOOKTYPE" name="NOMEDOOUTFIT"/> -- female <list gender="1" lookType="LOOKTYPE" name="NOMEDOOUTFIT"/> --- male </outfit> Perceba que ali em quest, está o storage 19000 que é igual ao de lá de cima no script. Vlw, espero ter ajudado.
  13. kkk A linha com getPlayerStorageValue(cid, 7219) <= 0 then significava: se o player tiver o storage 7219 menor ou igual a zero, ele podia passar.. caso contrário mandava a msg: Você já passou pela porta. Quanto a tutoriais, existem vários no xtibia.. mas você pode dar uma olhada nesse: http://www.xtibia.com/forum/topic/159261-scriptear/page__p__1050037#entry1050037
  14. Fica assim: local minlevel = 10 -- minimo level para passar local teleport = {x=164,y=53,z=7} --- lugar para onde será teleportado function onUse(cid, item, position, fromPosition, item2, toPosition) if getPlayerLevel(cid) >= minlevel then doTeleportThing(cid, teleport) doSendMagicEffect(teleport, 10) else doPlayerSendTextMessage(cid, 22, "Você precisa ser LvL 300 para passar!") end return true end A linha que verifica se o player já passou ou não é essa: if getPlayerStorageValue(cid, 7219) <= 0 then, ou seja, se o player tiver o storage 7219 ele não pode passar pela porta. Esse storage era dado pela linha: setPlayerStorageValue(cid, 7219,1) assim que o player passasse na porta. Vlw, espero ter ajudado.
  15. Isso acontece, às vezes, por algum script que você colocou no creaturescripts. Veja qual script você colocou recentemente e retire-o para que volte ao normal.
  16. Fiz aqui correndo, mas acho que vai funcionar.. testa aí. Em data/actions/scripts crie um arquivo.lua e cole isto dentro: local t = { level = 100, --- level necessário para ser teleportado party = 2, --- minimo de players na party quest = {x=1,y=1,z=1} --- local da quest } local fromPos,toPos = {x = 1, y = 1, z = 1},{x = 1, y = 1, z = 1} -- começo e final da área function onUse(cid, item, position, fromPosition, itemEx, toPosition) local test = {} if (getPlayerParty(cid)) then if(getPlayerParty(cid) == cid) then local players = getPartyMembers(getPartyLeader(cid)) if #players >= t.party then for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do local pos = {x=x, y=y, z=fromPos.z} local m = getTopCreature(pos).uid if m ~= 0 and isPlayer(m) then return doPlayerSendCancel(cid, "Alguém está fazendo a quest") end end end for i, k in ipairs(players) do if (getPlayerLevel(k) < t.level) then doPlayerSendCancel(cid, "Todos os players devem ter level "..t.level.." ou mais para entrar na quest.") return true end table.insert(test, k) end for i, tid in ipairs(test) do doSendMagicEffect(getCreaturePosition(tid), CONST_ME_POFF) doTeleportThing(tid, t.quest, true) doSendMagicEffect(t.quest, CONST_ME_ENERGYAREA) end else return doPlayerSendCancel(cid, "É necessário pelo menos "..t.party.." players na party.") end else return doPlayerSendCancel(cid, "O líder da party deve usar a estátua primeiro.") end else for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do local pos = {x=x, y=y, z=fromPos.z} local m = getTopCreature(pos).uid if m ~= 0 and isPlayer(m) then return doPlayerSendCancel(cid, "Alguém está fazendo a quest") end end end doTeleportThing(cid, t.quest) doSendMagicEffect(t.quest, 10) end return true end Em actions.xml cole a tag: <action actionid="ACTION_ID_DA_ESTATUA" script="NOMEDOSEUARQUIVO.lua"/> Testa aí, se aparecer algum erro.. posta que eu vejo quando voltar. Vlw, espero ter ajudado.
  17. pode ser, mas as funções são iguais..
  18. Foi exatamente o que eu fiz brother.. é só seguir os passos e testar.
  19. function onSay(cid, words, param, channel) local tmp = getCreaturePosition(cid) local pos = {x = 529, y = 1924, z = 6} local minlevel = 100 if getPlayerLevel(cid) >= minlevel then if getPlayerSkullType(cid) >= 3 then doPlayerSendCancel(cid, "Você não pode ir com skull") else doTeleportThing(cid, pos, true) doSendMagicEffect(tmp, CONST_ME_POFF) doSendMagicEffect(pos, CONST_ME_FIREATTACK) end else doPlayerSendCancel(cid, "Você deve ter level ".. minlevel ..".") end return true end @edit Não vi que o carinha de cima tinha postado, vou deixar mesmo assim.
  20. Não sei o que esse comando "tecnicas" faz, se tiver como explicar.. posso até tentar ajudar... Bem, acho que é isso, se não for me fale: Em data/talkactions/scripts crie um arquivo.lua e cole isto dentro: local text = [[ ##Tecnicas## !tec !toc !tac ##Spells## !tec ]] function onSay(cid) doShowTextDialog(cid, 8976, text) return true end Em talkactions.xml cole a tag: <talkaction log="yes" words="!tecnicas" event="script" value="NOMEDOSEUARQUIVO.lua"/>
  21. Leoxtibia

    Soundsystem

    Ele tinha me perguntado por pm, falei que podia ser isso que ele queria: http://www.xtibia.com/forum/topic/172549-tibia-som-v-10-lua/
  22. Leoxtibia

    2 Bugs.

    No seu config.lua mude essas posições para x,y,z respectivamente do seu templo: newPlayerSpawnPosX = 100 newPlayerSpawnPosY = 40 newPlayerSpawnPosZ = 7 ou, quanto ao acc manager... vá até sua database e edite as posições posx,posy,posz. Quanto a dúvida da vocação, seguindo o exemple do isSorcerer(cid),isKnight(cid),isPaladin(cid).... é só colocar isRookie(cid).
  23. Em data/talkactions/scripts crie um arquivo.lua e cole isto dentro: function onSay(cid, words, channel) local quantity = math.floor((getPlayerStorageValue(cid, XXXX) - os.time())/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") return TRUE end Você troca o XXXX pela storage da sua vip. Em talkactions.xml cole a tag: <talkaction log="yes" words="/checkvip" event="script" value="NOMEDOSEUARQUIVO.lua"/>
  • Quem Está Navegando   0 membros estão online

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