salvadorr 0 Postado Novembro 27, 2008 Share Postado Novembro 27, 2008 (editado) No meu ot fiz um sistema de vip muito bacana e gostaria de esta passando para vocês. Meu ot é o YourOts 8.1, deve de funcionar em outros 8.0 pra cima. Para fazer é preciso muita atenção, pois o tópico vai ser um pouco grande. Bom vamos começar, vou explicar para que serve. Fiz essa vip com intenção de deixar outros players com mais poderes do que os outros e acessar outras áreas que players sem vip não pode. Então ele não só vai poder acessar novas areas como também terá novos poderes. Nela vai ter, novas magias, novas vocações, vip coins (que no caso seria scarab coin só mudar o nome) e outras áreas. Então vamos por partes. 1° Vamos fazer um npc que vende a vip. Esse npc vai te pedir vip coins que iremos fazer na 2° parte. Vá em data//npc e copia um arquivo qualquer dentro desta pasta, cole e renomeia como "The Vip". Abra o arquivo e dentro coloque isto: <npc name="The Vip" script="data/npc/scripts/vip.lua" access="6" lookdir="2"><mana now="800" max="800"/> <health now="200" max="200"/> <look type="266" head="114" body="119" legs="132" feet="114"/> </npc> Pronto, agora vá em scripts, copie um arquivo qualquer dentro desta pasta, cole e renomeia para "vip". Abra o arquivo e dentro coloque isto: local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and focus == 0) and getDistanceToCreature(cid) < 4 then selfSay('Ola ' .. creatureGetName(cid) .. '! Eu vendo vips. Para comprar vips me de 100 vip coins!!!') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Desculpe-me, ' .. creatureGetName(cid) .. '! Falo com voce em um minuto.') elseif msgcontains(msg, 'vip') then selfSay('Voce tem as 100 vip coins necessarias para adquirir a sua vip?') talk_state = 1 talk_start = os.clock() elseif getPlayerLevel(cid) < 1200 then selfSay('Desculpe, voce precisa de level 1200 para comprar vip.') talk_state = 0 elseif not isPremium(cid) then selfSay('Desculpe, voce nao eh premium para comprar vip.') talk_state = 0 elseif talk_state == 1 and msgcontains(msg, 'yes') then [color="#FF0000"]if getPlayerItemCount(cid,2159) == 100 then doPlayerRemoveItem(cid,2159,100)[/color] setPlayerStorageValue(cid, 13540, 1) selfSay('Parabens !!! Parabens voce Adiquiriu a sua vip.') talk_state = 0 talk_start = os.clock() else selfSay('Desculpe Você nao tem o necessario para adquirir vip.') talk_state = 0 talk_start = os.clock() end elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 5 then selfSay('Ate mais, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 elseif msgcontains(msg, 'nao') and getDistanceToCreature(cid) < 5 then selfSay('Desculpe, ' .. creatureGetName(cid) .. '! Volte aqui quando tiver os itens nescessarios.') talk_start = os.clock() talk_state = 0 end end function onCreatureChangeOutfit(creature) end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Proximo...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Ate mais.') focus = 0 end end end Está feito o seu npc de vip agora é só colocar no mapa. 2° Criando VIP Coins Quando você da use em 100 moedas elas não se transformam em 1 moeda mais avançada?? Não?? Claro que sim Exemplo: 100 Gold Coind deu use se transformou em 1 platinum coin. É isso que nós vamos fazer pegar 100 crystal coin dar use para se transformar em 1 vip coin, pode ser outro item em vez de crystal coin mas ai vai do seu gosto. Primeiro vai em data//actions//scripts copie qualquer arquivo dentro da pasta, cole e renomeia para "scarab". Abra-o e dentro coloque isto: function onUse(cid, item, frompos, item2, topos) if doRemoveItem(item.uid,1) then doPlayerSendTextMessage(cid,22,"You have changed 1 vip coin to 100 crystal coins") doPlayerAddItem(cid,2160,100) end end Ainda dentro desta pasta abra o arquivo "crystal" que modificaremos para isto: function onUse(cid, item, frompos, item2, topos) if item.itemid == 2160 and item.type == 100 then doRemoveItem(item.uid,item.type) doPlayerAddItem(cid,2159,1) doPlayerSendTextMessage(cid,22,"You have changed 100 crystal to 1 vip coin") elseif item.itemid == 2160 and item.type < 100 then doRemoveItem(item.uid,1) doPlayerAddItem(cid,2152,100) doPlayerSendTextMessage(cid,22,"You have changed 1 vip to 100 crystal coins") end end Agora se você quiser colocar outro item em vez de scarab coin é só mudar os números que estão em vermelho não se esqueça de mudar também no npc. Agora vai em data//actions e abra o arquivo actions.xml e dentro coloque isto: <action itemid="2159" script="scarab.lua" /> Agora vá em data//items, abra o items.xml de crtl+F e escreva "scarab coin" mude o nome para vip coin. NÃO SE ESQUEÇA DE TIRAR ESSAS MOEDAS DO BIXOS "ANCIENT SCARAB E SCARAB" Pronto sua moeda está pronto para comprar vip. 3° Adicionando novas vocções para a vip Nessa parte você vai add 4 novas vocações para sorcerer, druid, paladin e knight que é importante para ter novas magias e ser mais poderoso do que os outros. Bom, primeiro vá em data e abra o arquivo vocations.xml nele voce vai adicionar isto: Aqui só vou colocar as ultimas 4 vocações, apenas coloque em baixo da ultima vocação que é a do elite knight. Os nomes é você que escolhe eu coloquei magic antes de todos mas é porque num tive ideia =/. <vocation id="9" name="Magic Master Sorcerer" description="a magic master sorcerer" gaincap="15" gainhp="30" gainmana="90" gainhpticks="4" gainhpamount="600" gainmanaticks="2" gainmanaamount="1200" gainsoulticks="15" gainsoulamount="1" maxsoul="200" manamultiplier="1.2" attackspeed="300" prevoc="1" basespeed="220"> <diepercent experience="4" magic="4" skill="4" equipment="7" container="100"/> <formula damage="1.2" defense="1.1" armor="1.1"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="10" name="Magic Elder Druid" description="an magic elder druid" gaincap="15" gainhp="30" gainmana="90" gainhpticks="4" gainhpamount="600" gainmanaticks="2" gainmanaamount="1200" gainsoulticks="15" gainsoulamount="1" maxsoul="200" manamultiplier="1.2" attackspeed="300" prevoc="2" basespeed="220"> <diepercent experience="4" magic="4" skill="4" equipment="7" container="100"/> <formula damage="1.2" defense="1.1" armor="1.1"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.8"/> <skill id="2" multiplier="1.8"/> <skill id="3" multiplier="1.8"/> <skill id="4" multiplier="1.8"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="11" name="Magic Royal Paladin" description="a magic royal paladin" gaincap="60" gainhp="45" gainmana="60" gainhpticks="3" gainhpamount="800" gainmanaticks="2" gainmanaamount="1000" gainsoulticks="15" gainsoulamount="1" maxsoul="200" manamultiplier="2.0" attackspeed="300" prevoc="3" basespeed="220"> <diepercent experience="4" magic="4" skill="4" equipment="7" container="100"/> <formula damage="1.2" defense="1.1" armor="1.1"/> <skill id="0" multiplier="1.2"/> <skill id="1" multiplier="1.2"/> <skill id="2" multiplier="1.2"/> <skill id="3" multiplier="1.2"/> <skill id="4" multiplier="1.1"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="12" name="Magic Elite Knight" description="an magic elite knight" gaincap="90" gainhp="30" gainmana="10" gainhpticks="2" gainhpamount="1200" gainmanaticks="4" gainmanaamount="600" gainsoulticks="15" gainsoulamount="1" manamultiplier="4.9" attackspeed="300" prevoc="4" basespeed="220"> <diepercent experience="4" magic="4" skill="4" equipment="7" container="100"/> <formula damage="1.2" defense="1.1" armor="1.1"/> <skill id="0" multiplier="1.1"/> <skill id="1" multiplier="1.1"/> <skill id="2" multiplier="1.1"/> <skill id="3" multiplier="1.1"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> </vocations> AVISO!! SE TIVER OUTRAS VOCAÇÕES COM A VOCATION ID MAIOR QUE 8 - exemplo: vocation id="9"... SUBSTITUA POR ESTAS AI DE CIMA. 4° colocando as vocações para acessar as magias A intenção de criar essas novas vocações é de elas poderem soltar magias que as outras não podem, então obrigatóriamente você terá que criar novas magia para elas nem que seja 1. Primeiro vou adicionar aqui as magias comuns que todos usam para eles tabém poderem usar. Vá em data//spells e susbstitua o arquivo existente por este: http://rapidshare.com/files/167995665/spells.xml.html AVISO!! SE VOCÊ TIVER OUTRAS MAGIAS NOVAS FAÇA UM BACKUP DELAS PARA DEPOIS PODER ADD DE VOLTA. Agora as magias novas que vocês criarem vocês adicona as vocações. Por exemplo: Quero adicionar "Exori Grup" -.^ para o Magic Sorcerer. Vá em spells.xml e abra-o, entao você adiciona isto: <instant name="Super Energy" words="exori grup" direction="1" lvl="12" maglv="3" mana="20" soul="0" exhaustion="1" prem="1" enabled="1" script="super energy.lua><vocation id="9"/></instant> Onde está em azul e o id que você vai adicionar de acordo com a vocação que você escolher entre 9, 10, 11 e 12. 5° Fazendo o npc que da o Magic Promotion Agora é preciso criar um npc que da esse promotion. Vá em data//npc copie um arquivo qualquer desta pasta e renomeie para "Promotion Magic" agora abra-o, pague tudo e adicione isto: <?xml version="1.0"?> <npc name="Promotion Magic" script="data/npc/scripts/pmagic.lua" access="3" lookdir="2"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="133" head="114" body="94" legs="86" feet="114"/> </npc> Feche e salve. Agora vá em data//npc//scripts, copie qualquer arquivo desta pasta, abra-o, renomeie para "color="#000000"]pmagic[/color]", apague tudo que tem dentro e adicione isto: local focus = 0 local talk_start = 0 local target = 0 local days = 0 function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 2 then selfSay('Hello ' .. creatureGetName(cid) .. '! Eu vendo premiums e promotion magic. AVISO: Nao pessa mais de um PROMOTION MAGIC ou seu char ficara extremamente lento.') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 2 then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'promotion magic') or msgcontains(msg, 'promotions magic') then [color="#FFFF00"]if getPlayerLevel(cid) < 1200 then[/color] selfSay('Desculpe, voce precisa de level 1200 para comprar promotion magic.') talk_state = 0 elseif not isPremium(cid) then selfSay('Desculpe, voce nao tem premium para comprar promotion magic.') talk_state = 0 else selfSay('Voce quer comprar promotion magic por 2kk?') talk_state = 1 end elseif msgcontains(msg, 'premium') or msgcontains(msg, 'premmy') then selfSay('Do you want to buy 7 days of premium for 7k?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,2000000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('You are now promoted!') else selfSay('Desculpe, Voce nao tem dinheiro suficiente.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if pay(cid,7000) then selfSay('/premium '.. creatureGetName(cid) ..', 7') selfSay('You have 7 days of premium more!') else selfSay('Desculpe, Voce nao tem dinheiro suficiente.') end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end AVISO!! NÃO CONSEGUI FAZER O NPC DAR APENAS UMA VEZ A VOCAÇÃO ENTÃO O NPC JA AVISA QUE NÃO PODE PEDIR MAIS DE UMA VEZ. SE ALGUÉM SOUBER COMO NÃO DEIXAR ELE DAR MAIS DE UMA VOCAÇÃO POR FAVOR AJUDEM . Em amarelo é o level que você deseja mudar eu deixei 1200. 6° Ultima. Colocando as areas vip. Essa é a parte mais importante do tópico e eu peguei de outro tópico, seria mais facil eu colocar aqui o link do tópico para não ficar muito grande: http://www.xtibia.com/forum/Colecao-Sistem...mmy-t80404.html Agora o mais importante é você colocar essas areas quando você for add o npc que te da o promotion. Por exemplo: Coloque o npc antes dos pisos vip que ele for passar e crie uma casinha para ele dar exani hur "up" assim ele primeiro vai ter que comprar a vip antes de comprar a magic promotion e para ter segurança e tem que ser promotion dando exani hur "up". Se vocês não entenderam sobre isso que acabei de explicar postarei uma foto para ficar um pouco melhor. Espero que gostem qualquer duvida ou bug postem ae . FLWWW Editado Novembro 28, 2008 por salvadorr Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/ Compartilhar em outros sites More sharing options...
noobinhu 38 Postado Novembro 27, 2008 Share Postado Novembro 27, 2008 Nossa, faz tanto tempo que postei esse sistema XML, e ainda usam ele Use agora o novo sistema que é melhor, está na minha sign, mas só funciona em TFS 8.2+ Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-645614 Compartilhar em outros sites More sharing options...
salvadorr 0 Postado Novembro 28, 2008 Autor Share Postado Novembro 28, 2008 Como assim, que sistema de xml se posto, não lembro de ter pegado nada seu. Sem ofensas... A única coisa que eu copiei foi a do guizo3 que está na 6° parte. Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-645670 Compartilhar em outros sites More sharing options...
noobinhu 38 Postado Novembro 28, 2008 Share Postado Novembro 28, 2008 http://www.xtibia.com/forum/Colecao-Sistem...mmy-t80404.html O sistema VIP que o guizo3 posto é meu, dá uma olhada: O sistema foi feito por Noobinhu, é o sistema VIP, este sistema tem uma vantagem, ao remover uma VIP o player vai diretamente para o templo, e é tudo em 3 scripts... muito fácil de editar :] Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-645718 Compartilhar em outros sites More sharing options...
salvadorr 0 Postado Novembro 28, 2008 Autor Share Postado Novembro 28, 2008 É mesmo ñ tinha viso Foi um bom trabalho seu entao :smile_positivo: Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-645757 Compartilhar em outros sites More sharing options...
DaNDaNrOxX 15 Postado Novembro 28, 2008 Share Postado Novembro 28, 2008 Salvadorr, seu tutorial está muito legal. Parabéns e obrigado por postar ele aqui ! Agora só tenho uma dúvida, se não foi você quem fez tudo, não está faltando créditos ae não ? Cuidado para não ser reportado por ripping, postar uma coisa de autoria de outros sem os créditos é ser ripper! Obrigado pela compreensão, Abraço ! Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-645760 Compartilhar em outros sites More sharing options...
salvadorr 0 Postado Novembro 28, 2008 Autor Share Postado Novembro 28, 2008 Salvadorr, seu tutorial está muito legal. Parabéns e obrigado por postar ele aqui !Agora só tenho uma dúvida, se não foi você quem fez tudo, não está faltando créditos ae não ? Cuidado para não ser reportado por ripping, postar uma coisa de autoria de outros sem os créditos é ser ripper! Obrigado pela compreensão, Abraço ! Bom, a única coisa que copiei está na 6° parte que é o tutorial feito pelo guizzo3 e criado por noobinhu como ele disse. O resto foi tudo eu que tive a ideia. Se falta alguma coisa, como por exemplo colocar o nome deles na 6° parte por favor me avise para eu não me prejudicar. VLW DaNDaNrOxX... Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-645784 Compartilhar em outros sites More sharing options...
sulf 0 Postado Janeiro 18, 2009 Share Postado Janeiro 18, 2009 MT bom gente como faz para o npc vender vip por dias?? pq infinito eh sux xD vlw Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-678395 Compartilhar em outros sites More sharing options...
Guinhow 0 Postado Junho 28, 2009 Share Postado Junho 28, 2009 Kra, o mais importante você não botou véiu! -.- >.< pqp! COMO BOTAR VIP NO PLAYER! -.- Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-754013 Compartilhar em outros sites More sharing options...
juanbrando 3 Postado Julho 1, 2009 Share Postado Julho 1, 2009 AKi funicono perfeitinho os player amarao valeuu Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-755848 Compartilhar em outros sites More sharing options...
chupinho 0 Postado Julho 27, 2009 Share Postado Julho 27, 2009 e como eu coloko pra vender itens e pegar coins vip?? OT DE METAL 8.1 otdemetal.no-ip.biz :XTibia_smile: Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-768629 Compartilhar em outros sites More sharing options...
1758609 0 Postado Agosto 2, 2009 Share Postado Agosto 2, 2009 MTOOO MASSAAA!!!!! fiko mto massa essse seu tutorial ae manow!!!parabéns!! Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-771829 Compartilhar em outros sites More sharing options...
wellison 0 Postado Abril 4, 2010 Share Postado Abril 4, 2010 Cara muito massa esse seu sistema de Vip parabéns mas te peso um favor quando postar um link verifique-o primeiro porque o link do arquivo spells não esta funcionando mas tirando isso fico ótimo Obrigado.. Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-859268 Compartilhar em outros sites More sharing options...
troouu 0 Postado Abril 11, 2010 Share Postado Abril 11, 2010 tipo entender eu entendo bastante de script só q nao entendi como eu colocaria a vip system nao teria q ter algum moviment para colocar a actionid ? tipo meu ot tbm é 8.1, pra mim é o mais facil de se fazer pois é organizado. agora tipo eu to tentando fazer 1 vip system a 4h e nao to conseguindo meu ot ta xei de script ja, agora tipo eu crio o npc e taltaltal so q... onde fica a area vip ? qual o actionid q eu boto na tile ? e cade o script de movement ? '-' Grato. Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-861508 Compartilhar em outros sites More sharing options...
raelpsf 1 Postado Julho 29, 2010 Share Postado Julho 29, 2010 No meu fica dando este erro: attemp to compare boolean with number stack traceback... Link para o comentário https://xtibia.com/forum/topic/101086-criando-sistema-de-vip-diferente/#findComment-913754 Compartilhar em outros sites More sharing options...
Posts Recomendados