[ Npc ] Npc De Vip Fufando!

6543210
em NPCs, monsters e raids
  • 1
  • 2

6543210

Z3R0
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/10/08Posts: 26Char no Tibia: Ron Arka

Bem hoje estou aki postando um npc ke vende vip!

Ele está funcionando corretamente e espero que gostem , realmente não foi flood , eu que fiz.

 

Primeiramente vá em data/npc e crie uma pasta chamada vip.xml.

 

nela cole isto :

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Vip" script="data/npc/scripts/vip.lua" walkinterval="3000" floorchange="0" access="5" >

<health now="150" max="150"/>

<look type="332" head="78" body="86" legs="114" feet="116" addons="0" corpse="2212"/>

<parameters>

<parameter key="message_greet" value="Oi |PLAYERNAME|. Eu vendo { Vip }."/>

<parameter key="message_farewell" value="Volte Sempre."/>

</parameters>

</npc>

 

 

Depois vá em scripts e crie uma pasta chamada vip.lua , nela cole isto :

 

 

-- Vip Sistem By Zero

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

function onThink() npcHandler:onThink() end

local node1 = keywordHandler:addKeyword({'vip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Se Você Quise Compra Vip So Fala { days } .'})

function creatureSayCallback(cid, type, msg)

p = 10000 -- Valor Da Premium account Em GP

if(not npcHandler:isFocused(cid)) then

return false

end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

---------- MSGs ----------

if msgcontains(msg, 'premium') or msgcontains(msg, 'Premium') or msgcontains(msg, 'premium') or msgcontains(msg, 'Premium Accounts') or msgcontains(msg, 'days') then

selfSay('Pois Bem , Cada Dia De Vip Custa '..p..' GPs, Quantos Dias Você Deseja Comprar?', cid)

talkState[talkUser] = 1

---== compra por GPs ==---

elseif talkState[talkUser] == 1 then

if getNumber(msg) < 350 then

n = getNumber(msg)

if n ~= 0 then

if getPlayerMoney(cid) > p*n then

selfSay('Dias de Vip: {'..n..'} por {'..n*(p)..'} GPs?', cid)

talkState[talkUser] = 3

else

selfSay('Você Nao Tem Gold Suficientes Para Comprar {'..n..'} Dias De Vip.', cid)

talkState[talkUser] = 0

end

else

selfSay('Escolha Um Numero Acima De Zero.', cid)

talkState[talkUser] = 0

end

else

selfSay('Você Nao Pode Comprar Mais Que 350 Dias De Vip.', cid)

talkState[talkUser] = 0

end

elseif talkState[talkUser] == 3 then ---== GPs ==---

if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') or msgcontains(msg, 'SIM') or msgcontains(msg, 'YES') then

if getPlayerPremiumDays(cid)+n <= 350 then

if (doPlayerRemoveMoney(cid, p*n) ~= TRUE) then

npcHandler:say('Voce Nao Tem Gold Suficientes!', cid)

talkState[talkUser] = 0

else

doPlayerAddPremiumDays(cid, n)

selfSay('Compra Efetuada Com Sucesso , Dias De Vip:{ '..n..' }.', cid)

talkState[talkUser] = 0

end

else

npcHandler:say('Voce Nao Pode Ter Mais Que 350 Dias De Vip!', cid)

talkState[talkUser] = 0

end

end

elseif msgcontains(msg, 'no') or msgcontains(msg, 'nao') or msgcontains(msg, 'não') or msgcontains(msg, 'NO') or msgcontains(msg, 'NAO') or msgcontains(msg, 'NÃO')then

selfSay('Tudo Bem.', cid)

talkState[talkUser] = 0

end

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

-- function maded by Gesior--

function getNumber(txt) --return number if its number and is > 0, else return 0

x = string.gsub(txt,"%a","")

x = tonumber(x)

if x ~= nill and x > 0 then

return x

else

return 0

end

end

 

 

Assim estará feito o npc , mas enquanto ao lugar que será vip?

 

Vá em data/movements e abra o arquivo movements.xml , depois cole esta tag :

 

<movevent type="StepIn" uniqueid="13700" event="script" value="vipe.lua"/>

 

Oque está em vermelho , é o UniqueId que vc colocará nos "chao" que somente vips poderam passar.

Logo em seguida vá em scripts e crie uma pasta chamada vipe.lua.

 

Nela cole isto :

 

-- Vip System by Zero

function onStepIn(cid, item, position, fromPosition)

 

local config = {

msgDenied = "Vc nao e vip , compre no npc vip.",

msgWelcome = "Seja Bem Vindo a Area vip."

}

 

if getPlayerPremiumDays(cid) <= 0 then

doTeleportThing(cid, fromPosition, true)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

return true

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome)

return true

end

 

 

Obrigado , espero que gostem.

@ZERO
@Z3R0
@ZER0
@Z3RO
@DRZ3R0
@DRZ3RO
@DRZER0
@DRZERO
@Z3R0MAN
@ZEROMAN
@Z3R0M4N

macacomatador

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/05/08Posts: 4Char no Tibia: Gladiador Tikin

mano, o q é UniqueId?

Mafagafox

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/09/09Posts: 5Char no Tibia: GOD MafagafoX

1º não é pasta chamada vip.xlm e sim um arquivo .xlm

 

explique melhor o post e corriga os erros, porque quase que fiz errado; se vs quer que façam certo precisa explicar tudo mesmo.

 

obrigado pelo post aew !

Sou Fãn de:

ubd8101of9vd0bp5.jpg

 

userbarjv6wv.gif

 

#######################----------------Mafagafox--------------------#######################

mosca.gif

 

Aposto que pensou que era uma mosca na sua tela... XD tbm pensei.

caosfast

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/08Posts: 17Char no Tibia: Caos fast'bolter

1º não é pasta chamada vip.xlm e sim um arquivo .xlm

 

explique melhor o post e corriga os erros, porque quase que fiz errado; se vs quer que façam certo precisa explicar tudo mesmo.

 

obrigado pelo post aew !

 

Cara se você vai criticar, faça uma crítica construtível e correta, não é arquivo .XLM, é arquivo .XML.

 

Valeu pelo post tava precisando desse npc, funciono aqui.

 

Eu sei que ninguém pergunto, mais eu demorei pra descobrir (so newba), pra colocar o uniqueID tenque ir no map editor click em propriedades do tile(SQM) e botar la, o numero citado ...

brunomera

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 07/02/08Posts: 25Char no Tibia: Volis Xedria

Alguem sabe me dizer como poderia passar esse npc para acess 5 ?

 

 

Digamos que eu queria que só OS GOD's usassem o npc

4907567.png

 

 

Sou Fãn de:

 

ubd8101of9vd0bp5.jpg

ubda2166ew9sf8.gif

Henrique Moura

Ex-administrador
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 17/02/08Posts: 2541

@UP

Coloque em uma área inacessível para os jogadores.

 

@Topico

Realmente a explicação ficou a desejar, porém você receberá sim um ponto de reputação.

Agradecemos pela excelente iniciativa.

Abraços.

KaKilo ~
 


Lom14fD.png

blade06

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/02/10Posts: 12Char no Tibia: [Nenhum Preferencial]

Desculpe se eu estiver enganado mais esse script nao foi voce que fez..

 

eu tinha um ot a um tempo e tem o mesmo script , mesmo tile ao passar premium mesmas coisas

 

por favor coloque o creditos de quem fez..

Preucurando ser o Melhor!!

O Sabio cria, o burro copia !!

Nunca faça metas , Pois elas te limitan!

Sempre faça que criticas virem elogios.

YuriGrandstorm

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/05/08Posts: 27

FICOU BOM

Vilden

Loading. . .
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 09/05/08Posts: 1597

HaHeHaeAHu, você acaba de cometer flood.

 

O que é flood??

 

Flood é quando você comenta em um tópico mais é um comentário que não

influenciara nada no tópico, exemplo:

Muito bom

Continue assim

Ficou bom

 

E sua assinatura está muito grande, o máximo permitido é de 20 linhas, troque-a

dentro de 24h ou ela será removida.

 

 

Leia as regras do xtibia.com

Atenciosamente, Vilden.

LorDz

Emo cheio de Glitter/ Moderador de OTserv
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 13/05/07Posts: 778Char no Tibia: Shea Fald

Amigo se voltar a cometer flood terei que te punir, leia as regras e evite o ocorrido.

 

Abraços

Att,

Carlos "LorDz" Alberto



mplz1ajaxizt5mzcdc6n.png

Email: LorDz@XTibia.com

spin182

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/01/06Posts: 12

amigo eu pensei da mesma forma ao fazer um npc que venda vip, mas o que nao consegui fazer, é um modo para que os jogadores possam conferir quantos dias de vip ainda lhes restam.

 

Você ja teria algum esquema deste motado?

obrigado.

A razão da vida,



Está no maximo de conhecimento que se consegue absorver,

Em um menor espaço de tempo,

Durante um maior tempo constante.

___________



Mr. Pinho

 

Que tal jogar no melhor server global que existe?



 

Ø Alfa Open Tibia Server Ø

igor351

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/08Posts: 2Char no Tibia: Drufox

TEM COMO DE VEZ GPD FAZER CRYTAL COINS PLX?

TIPO 3KK CADA DIA

george100

O Pior Scripter ~
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 14/02/10Posts: 50

aqui está o em crystal coin no caso 3kk por 15 dias,pode mudar...

 

azul: preço da vip

vermelho: dias de vip

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end

function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end

function onThink() npcHandler:onThink() end

local node1 = keywordHandler:addKeyword({'vip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Se Você Quise Compra Vip So Fala { days } .'})

function creatureSayCallback(cid, type, msg)

p = 3000000 -- Valor Da Premium account

if(not npcHandler:isFocused(cid)) then

return false

end

local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid

---------- MSGs ----------

if msgcontains(msg, 'premium') or msgcontains(msg, 'Premium') or msgcontains(msg, 'premium') or msgcontains(msg, 'Premium Accounts') or msgcontains(msg, 'days') then

selfSay('Pois Bem , Cada 15 Dias De Vip Custa '..p..' digite { 15 } para comprar e me de 1 crystal coin por vender', cid)

talkState[talkUser] = 1

---== compra por GPs ==---

elseif talkState[talkUser] == 1 then

if getNumber(msg) < 350 then

n = getNumber(msg)

if n ~= 0 then

if getPlayerMoney(cid) > p then

selfSay('Dias de Vip: {'..n..'} por '..p..' GPs?', cid)

talkState[talkUser] = 3

else

selfSay('Você Nao Tem Gold Suficientes Para Comprar {'..n..'} Dias De Vip.', cid)

talkState[talkUser] = 0

end

else

selfSay('Escolha Um Numero Acima De Zero.', cid)

talkState[talkUser] = 0

end

else

selfSay('Você Nao Pode Comprar Mais Que 350 Dias De Vip.', cid)

talkState[talkUser] = 0

end

elseif talkState[talkUser] == 3 then ---== GPs ==---

if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') or msgcontains(msg, 'SIM') or msgcontains(msg, 'YES') then

if getPlayerPremiumDays(cid)+n <= 350 then

if (doPlayerRemoveMoney(cid,p) ~= TRUE) then

npcHandler:say('Voce Nao Tem Gold Suficientes!', cid)

talkState[talkUser] = 0

else

doPlayerAddPremiumDays(cid, n)

selfSay('Compra Efetuada Com Sucesso , Dias De Vip:{ '..n..' }.', cid)

talkState[talkUser] = 0

end

else

npcHandler:say('Voce Nao Pode Ter Mais Que 350 Dias De Vip!', cid)

talkState[talkUser] = 0

end

end

elseif msgcontains(msg, 'no') or msgcontains(msg, 'nao') or msgcontains(msg, 'não') or msgcontains(msg, 'NO') or msgcontains(msg, 'NAO') or msgcontains(msg, 'NÃO')then

selfSay('Tudo Bem.', cid)

talkState[talkUser] = 0

end

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

-- function maded by Gesior--

function getNumber(txt) --return number if its number and is > 0, else return 0

x = string.gsub(txt,"%a","")

x = tonumber(x)

if x ~= nill and x > 0 then

return x

else

return 0

end

end

O critico~

Te Ajudei? Então Por Favor Agradeça!

lololb.gif

Dobol

MATHEUSP.COM.BR
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 18/10/09Posts: 246Gênero: MasculinoChar no Tibia: Aran Than

Péssimo, onde modifica o preço, quantos dias e qual item será removido?

 

Faz um tutorial para modificação. E coloca a área vip como actionid 29000, pois é a tradicional, usada no Styller.

Antigo TheSleeper (Mapper) voltando para a área de jogos como Dobol ;)

Meus Trabalhos
• Annihilator Full Global
Talkaction - !aol
 

Nicholas03

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/07/09Posts: 12Char no Tibia: Nick Omais

eu gostei :mdr:

  • 1
  • 2