Ir para conteúdo
Entre para seguir isso  
Mock

[8.4] NPC de forca

Recommended Posts

Mock    32
Mock

Forca

forca.jpg

Testado em: Theforgotten server 0.3.1

Requerimento: OtNetScriptLib

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? :yes:

 

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 otnetScriptLib instalada em seu server',cid)
           return TRUE
        end
        if doChangeWord == nil then
           selfSay('Para este {NPC} funcionar corretamente você presisa da otnetScriptLib 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 :D

Editado por Mock
comando [code=lua] bugando o script -,-'

Compartilhar este post


Link para o post
Blackout    0
Blackout

Bem interessante o script, porém na minha opinião não deveria ser apenas 5 chances e sim 6:

 

O

\l/

l

/\

 

 

 

Tirando este pequeno detalhe ficou bom.

Compartilhar este post


Link para o post
Mock    32
Mock

tipo o boneco tem 6 partes porem vc ja começa com a cabeça na forca.

eu ia tentar fazer o script desenhar o bonequinho por string so q ia ser um spam da p$@!#

Compartilhar este post


Link para o post
Guw    0
Guw

Se você erra, o seu char morre? ._.

Compartilhar este post


Link para o post
Mock    32
Mock

não se erra errou se ganhar ganhou :P

Compartilhar este post


Link para o post
Undead Dragon~    3
Undead Dragon~

podia ter a opção de chutar a palavra, ai se acertar ja ganha de cara... Coloca isso no script, n é dificil....

Compartilhar este post


Link para o post
atchim    0
atchim

Legal mais se o player conseguir completar a palavra ele ganham algum premio???

Compartilhar este post


Link para o post
FeRall    0
FeRall

ae muito legal

aproveitando oq o atchim disse

vc poderia por tpw uma aposta, vc da 100 gps se vc acerta a palavra vc ganha 200,

seria legal, eu ja vi um npc de joken po(num si como escreve) q vc ganhava dinheiro assim, pra vc, q eh um expert, nao deve ser dificil xD. + eh so uma sujestao.

 

E essa palavra> {wrd="hipopotamomonstroesquisopedaliofobia",tipo="palavra foda"},

 

nuss nunca ouvi essa palavra na minha vida...oq significa? XD

parabens pelo script

FLW

Compartilhar este post


Link para o post
Mock    32
Mock

@espirro

da p faze isso

@Feral

hipopotamomonstroesquisopedaliofobia = medo de palavras grandes :o

Compartilhar este post


Link para o post
xaxinho    0
xaxinho

Mock vc tem msn e orkut ??

pois preciso tirar umas duvidas e vc é a unica pesoa q pode me ajudar...

add aew o meu [email protected]

me ajude por favor

Compartilhar este post


Link para o post
ADM MaX DE    0
ADM MaX DE

Ahauahuu'

Mt bom o script mock, parabéns! ^^'

Bem engenhoso...

 

só alguns erros aqui:

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

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

 

o certo seria:

computador

inconstitucionalissimamente

 

;]

Cya! [ADM] MaX ~ Dragon's Empire

Compartilhar este post


Link para o post
azerydecode    0
azerydecode

Mock seus scripts tem sempre criatividade 100%,as vezes penso se vc é humano mesmo.Parabens por esse NPC de Forca em servers sera um bom Min-Game

Compartilhar este post


Link para o post
notle.com    2
notle.com

Bem Interessante o Script

Pena Que Não Mata Player Que Erra Tudo OKSAOKAKOSKOAKOSKASAKSOAKOSOKAKS

Compartilhar este post


Link para o post
FriesMur    0
FriesMur

OIJASOEHAE, doidoo

só tem que botar uma punição :P

errou as 5? foi pra forca = -10000 de hp \õ!

Compartilhar este post


Link para o post
Freshmint    0
Freshmint

legal se desse pra fazer aposta com o outro player =D

Compartilhar este post


Link para o post
Poke Master    0
Poke Master

haueahe muitoo bom o sistema

 

parabéns

Compartilhar este post


Link para o post
Fenix Furious    0
Fenix Furious

muito bom mesmo

Compartilhar este post


Link para o post
dilsondasilva    0
dilsondasilva

Onde Consigo baixar o OtNetScriptLib

E como fasso para Instalar

 

Espero a Resposta Mock :D

 

Abraços

 

Ok ja Resolvi Meu Problema eu entrei no site encontrei :D

Ai é so colocar na Pasta já é Funcionol Ty :D

Editado por dilsondasilva

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×