jhon992 370 Postado Dezembro 25, 2011 Share Postado Dezembro 25, 2011 (editado) Hoje vamos criar um Sisteminha para que só jogadores vips possam usar determinados items! Vamos denominar esse sistema de [Vip Items System]. Então vamos começar com a brincadeira! ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Vai em data/movements/script e duplica um arquivo dessa pasta e nomeie para "itemvip" sem aspas, abra-o e cole: local storageVIp = 55555 -- mude a storage vip, conforme a storage do sistema vip do seu otserv! function onEquip(cid, item, slot) if getPlayerStorageValue(cid, storageVIp) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players vip podem usar essa arma!") return FALSE end return TRUE end Agora vai em data/movements/movements.xml abre e adicione a tag: <movevent type="Equip" itemid="id do seu item" slot="hand" event="script" value="itemvip.lua"/> E se quiser adicionar mais armas vip, sóh duplica a linha acima e muda o id do item e o slot! Tipos de Slots: head armor legs hand shield ring necklace feet pickupable ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Agora vamos fazer um script para que quando a vip acabe, o item saia do slot! Abra data/creaturescripts/scripts e duplica um arquivo, renomeia para "itemlogin" sem as aspas e nele cole: function onLogin(cid) itensVip = { "2408", "8850", "7413" } -- itens vips if (getPlayerStorageValue(cid, 55555) <= 0) then for i=0, #itensVip do for b = 1,9 do if (getPlayerSlotItem(cid, b) == itensVip[i]) then doPlayerRemoveItem(cid, itensVip[i]) local bag = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bag, itensVip[i], 1) end end end end return TRUE end E por último, abra data/creaturescripts/creaturescripts.xml e cole a tag: <event type="login" name="ItemLogin" event="script" value="itemlogin.lua"/> Pronto, é isso aew. Terminamos nosso [Vip Items System]! Editado Dezembro 25, 2011 por Jhon992 Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Dezembro 25, 2011 Share Postado Dezembro 25, 2011 porque no onlogin você não usa for tbm para os slot? exemplo for b = 1,9 do Link para o comentário Compartilhar em outros sites More sharing options...
jhon992 370 Postado Dezembro 25, 2011 Autor Share Postado Dezembro 25, 2011 Vlw a dica @Vodkart, é que eu nem conheço todos os for de lua ainda mais acho que e assim que é pra usar esse for. Se tiver errado me corrige. Link para o comentário Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Dezembro 26, 2011 Share Postado Dezembro 26, 2011 o for na tabela de itens é desnecessário, poderia usar table.find Link para o comentário Compartilhar em outros sites More sharing options...
jhon992 370 Postado Dezembro 26, 2011 Autor Share Postado Dezembro 26, 2011 Vlw a dica @Demonbholder, quando tiver tempo estudo essa função e mudo no tópico. Link para o comentário Compartilhar em outros sites More sharing options...
coyotestark 24 Postado Janeiro 7, 2012 Share Postado Janeiro 7, 2012 Este sistema nao pode funcionar em Premmium? é que nao uso vip em meu ot so premmy. Link para o comentário Compartilhar em outros sites More sharing options...
jhon992 370 Postado Janeiro 8, 2012 Autor Share Postado Janeiro 8, 2012 Fica assim pra premium: Vai em data/movements/script e duplica um arquivo dessa pasta e nomeie para "itemvip" sem aspas, abra-o e cole: function onEquip(cid, item, slot) if isPremium(cid) == false then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players vip podem usar essa arma!") return FALSE end return TRUE end Agora vai em data/movements/movements.xml abre e adicione a tag: <movevent type="Equip" itemid="id do seu item" slot="hand" event="script" value="itemvip.lua"/> Agora vamos fazer um script para que quando a vip acabe, o item saia do slot! Abra data/creaturescripts/scripts e duplica um arquivo, renomeia para "itemlogin" sem as aspas e nele cole: function onLogin(cid) itensVip = { "2408", "8850", "7413" } -- itens vips if isPremium(cid) == false then for i=0, #itensVip do for b = 1,9 do if (getPlayerSlotItem(cid, b) == itensVip[i]) then doPlayerRemoveItem(cid, itensVip[i]) local bag = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bag, itensVip[i], 1) end end end end return TRUE end E por último, abra data/creaturescripts/creaturescripts.xml e cole a tag: <event type="login" name="ItemLogin" event="script" value="itemlogin.lua"/> Link para o comentário Compartilhar em outros sites More sharing options...
gabdi 0 Postado Janeiro 15, 2012 Share Postado Janeiro 15, 2012 Aff.. problemas so acontcem comigu.... no meu nao funcionou... e da esse aviso: Warning- MovEvents: addevent duplicate move event found : 12765 --(ID do meu item) isso porque tem um registro no movements desse item especificando q lvl ele pode ser usado e que vocaçao... no caso colokei so os Vips (Epic q transformei) mas eu logo com um char q tem o item vip (shield) e ele continua la ainda... Alguem ae pode da uma força ??? OBS: Vip storage. 55555 item vip: 12765 e 12728 (um shield e uma armor)...*especifikei cada um correspondente ao seu estilo (shield e armor) no movements.xml Link para o comentário Compartilhar em outros sites More sharing options...
Maicondoze 1 Postado Fevereiro 8, 2012 Share Postado Fevereiro 8, 2012 (editado) Na hora que a vip acaba os items não saem do slot. Editado Fevereiro 13, 2012 por Maicondoze Link para o comentário Compartilhar em outros sites More sharing options...
jhon992 370 Postado Fevereiro 20, 2012 Autor Share Postado Fevereiro 20, 2012 @Maicondoze você deve ter feito algo errado na parte do itemlogin.lua, tenta refazer. Link para o comentário Compartilhar em outros sites More sharing options...
AlexandreKG 134 Postado Fevereiro 26, 2012 Share Postado Fevereiro 26, 2012 legal ate,mais parabens,nao posso fazer um igual kkkk entao parabens Link para o comentário Compartilhar em outros sites More sharing options...
Maicondoze 1 Postado Setembro 9, 2012 Share Postado Setembro 9, 2012 (editado) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players vip podem usar este item!") Como eu mudo pra a msg aparecer dentro da tela, e não no server log? Já tentei doPlayerSendTextMessage(cid, DEFAULT, "Apenas players vip podem usar este item!") e doPlayerSendTextMessage(cid, MESSAGE, "Apenas players vip podem usar este item!") ambos deram debug! Editado Setembro 9, 2012 por Maicondoze Link para o comentário Compartilhar em outros sites More sharing options...
jhon992 370 Postado Setembro 10, 2012 Autor Share Postado Setembro 10, 2012 Mensagens validas para tfs 8.6: MESSAGE_FIRST MESSAGE_STATUS_CONSOLE_RED MESSAGE_EVENT_ORANGE MESSAGE_STATUS_CONSOLE_ORANGE MESSAGE_STATUS_WARNING MESSAGE_EVENT_ADVANCE MESSAGE_EVENT_DEFAULT MESSAGE_STATUS_DEFAULT MESSAGE_INFO_DESCR MESSAGE_STATUS_SMALL MESSAGE_STATUS_CONSOLE_BLUE MESSAGE_LAST Link para o comentário Compartilhar em outros sites More sharing options...
peter2012 8 Postado Setembro 11, 2012 Share Postado Setembro 11, 2012 VLW AEW, Vou guardar esse link talvez eu precise mais tarde bom script !! Link para o comentário Compartilhar em outros sites More sharing options...
Maicondoze 1 Postado Setembro 13, 2012 Share Postado Setembro 13, 2012 Não adiantou, ficou mesma coisa Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados