Ir para conteúdo

[NPC] Npc De Forca


lucasatak

Posts Recomendados

Forca

forca.jpg

 

Citação:

Testado em: Theforgotten server 0.3.1

Requerimento: #####ScriptLib

Autor: mock

 

Mais uma inultilidade para você passar o tempo em seu server. todos ja jogaram forca entao nem presiso ficar esplicando como se joga. Entao que tal irmos direto ao que realmente interessa? :smile_positivo:

 

 

Nosso 1º passo e criar um arquivo chamado forca.xml na pasta NPC e inserir isto dentro dele:

 

<npc name="forca" script="data/npc/scripts/forca.lua" walkinterval="2000" floorchange="0" access="3" level="1" maglevel="1">

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

<look type="57" head="114" body="94" legs="94" feet="0" addons="3" corpse="2212"/>

</npc>

 

Na mesma pasta so que em scripts crie um arquivo chamado forca.lua e ponha este script la dentro:

 

local focuses = 0

local n = 0

local wrdnow = ""

local err = ""

local letras_usadas = ""

local letras = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','y','w','z','ç','-'}

local chance_storage = 16001

function onCreatureAppear(cid) end

function onCreatureDisappear(cid)

if focuses == cid then

focuses = 0

end

end

local wrds = {

--- objetos

{wrd="chave",tipo="objeto"},

{wrd="fone",tipo="objeto"},

{wrd="compultador",tipo="objeto"},

{wrd="chuveiro",tipo="objeto"},

{wrd="televisao",tipo="objeto"},

{wrd="tomada",tipo="objeto"},

{wrd="sorvete",tipo="objeto"},

{wrd="conta-de-lua",tipo="objeto"},

--- animais

{wrd="urso",tipo="animal"},

{wrd="cavalo",tipo="animal"},

{wrd="cachorro",tipo="animal"},

{wrd="ornitorrinco",tipo="animal"},

{wrd="elefante",tipo="animal"},

--- palavras fodas

{wrd="paralelograma",tipo="palavra foda"},

{wrd="paralelepipedo",tipo="palavra foda"},

{wrd="otorrinolaringologista",tipo="palavra foda"},

{wrd="inconstitucionalicimamente",tipo="palavra foda"},

{wrd="hipopotamomonstroesquisopedaliofobia",tipo="palavra foda"},

}

function onCreatureSay(cid, type, msg)

if stringcontains == nil then

selfSay('Para este {NPC} funcionar corretamente você presisa da #####ScriptLib instalada em seu server',cid)

return TRUE

end

if doChangeWord == nil then

selfSay('Para este {NPC} funcionar corretamente você presisa da #####ScriptLib instalada em seu server',cid)

return TRUE

end

 

if stringcontains(msg,'hi') and focuses == 0 then

n = math.random(1,#wrds)

selfSay('Vamos jogar. A palavra tem '.. string.len(wrds[n].wrd)..' letras e o tema é '.. wrds[n].tipo..'. Você tem 5 chances!',cid)

selfSay('Fale uma letra de A-Z use "-" para espaço.',cid)

err = ""

letras_usadas = "Letras erradas: "

wrdnow = wrds[n].wrd

for i=1, string.len(wrds[n].wrd) do

err = err.."_"

end

err = err.." ."

focuses = cid

setPlayerStorageValue(cid, chance_storage,5)

return TRUE

elseif stringcontains(msg,'hi') and focuses ~= 0 then

selfSay('Um momento.',cid)

end

if stringcontains(msg,'bye') and focuses == cid then

selfSay('Até mais',cid)

wrdnow = ""

err = ""

focuses = 0

return TRUE

end

if focuses == cid then

msg = string.lower(msg)

local acerto = FALSE

local l = string.sub(msg,1,1)

if isInArray(letras, l) == FALSE then

selfSay('Só sao permitidas letras de A até Z',cid)

end

for i=1, string.len(wrds[n].wrd) do

if l == string.sub(wrds[n].wrd,i,i) then

err = doChangeWord(err,i,l)

acerto = TRUE

end

end

if acerto == FALSE then

if getPlayerStorageValue(cid, chance_storage) == 0 then

selfSay('Proximo')

selfSay('Você perdeu a palavra era '..wrds[n].wrd,cid)

focuses = 0

return TRUE

end

setPlayerStorageValue(cid, chance_storage,getPlayerStorageValue(cid, chance_storage)-1)

selfSay("Desculpe, esta letra não está na palavra. vocÊ ainda tem "..getPlayerStorageValue(cid, chance_storage).." chances.",cid)

letras_usadas = letras_usadas..l..","

else

selfSay("Isso! letra "..l.." está na palavra.",cid)

end

selfSay(err..letras_usadas,cid)

if stringcontains(err, wrds[n].wrd) then

selfSay('Parabéns! você acertou a palavra '..wrds[n].wrd,cid)

selfSay('Proximo')

focuses = 0

end

end

 

end

function onThink()end

 

Eu puis algumas palavras ja como exemplo caso queira mudar basta editar a tabela ficou bem facil de mudar.

Depois de ocnfigurar a seu gosto vá ate seu server e fale /n forca

E veje o que acontece:

 

16:05 forca: Vamos jogar. A palavra tem 4 letras e o tema é objeto. Você tem 5 chances!

16:05 forca: Fale uma letra de A-Z use "-" para espaço.

16:05 Mock [2000]: a

16:05 forca: Desculpe, esta letra não está na palavra. vocÊ ainda tem 4 chances.

16:05 forca: ____ .Letras erradas: a,

16:05 Mock [2000]: e

16:05 forca: Isso! letra e está na palavra.

16:05 forca: ___e .Letras erradas: a,

16:06 Mock [2000]: i

16:06 forca: Desculpe, esta letra não está na palavra. vocÊ ainda tem 3 chances.

16:06 forca: ___e .Letras erradas: a,i,

16:06 Mock [2000]: o

16:06 forca: Isso! letra o está na palavra.

16:06 forca: _o_e .Letras erradas: a,i,

16:06 Mock [2000]: s

16:06 forca: Desculpe, esta letra não está na palavra. vocÊ ainda tem 2 chances.

16:06 forca: _o_e .Letras erradas: a,i,s,

16:06 Mock [2000]: f

16:06 forca: Isso! letra f está na palavra.

16:06 forca: fo_e .Letras erradas: a,i,s,

16:06 Mock [2000]: n

16:06 forca: Isso! letra n está na palavra.

16:06 forca: fone .Letras erradas: a,i,s,

16:06 forca: Parabéns! você acertou a palavra fone

 

Bom divirtam-se :positive:

 

Creditos:Mock

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...