Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá gostaria de um script tipo Bank...

 

 

funciona assim, ele tem 20 points no site (exemplo)

 

ai tem um npc que troca com ele os 20 points por 20 itens agrupaveis (de minha escolha)

 

ai o player fala assim:

 

Hi

Withdraw

10 (Quantia de points) (Ai sai 10 points no site e fica 10)

yes

 

ai ele fica com 10 items agrupados na bp (Tokens) e pode comercializar com players por items e etc..

 

ai ele vendeu ou nao conseguiu vender os points, ele pode levar devolta para o npc 

 

e fala

 

Hi

Deposit all

 

ou deposit (quantia)

 

yes

 

 

 

ai ele volta a ter 20 points no site,...

 

 

 

 

VALENDO REP+ POR 3 DIAS!!!

 

 

FAST LIGEIRO ESSE SCRIPT GENTE VERSÃO 8.60 MAPA GLOBAL!

Projetos:

Hunted Server: - http://huntedserver.com/

Trabalhos:

Spoiler

Att: Leonardo Simonetto

Link para o post
Compartilhar em outros sites

me passe como coloca, aonde coloca tudo certinho... se ´pá o npc...

Projetos:

Hunted Server: - http://huntedserver.com/

Trabalhos:

Spoiler

Att: Leonardo Simonetto

Link para o post
Compartilhar em outros sites

Olá gostaria de um script tipo Bank...
 
 
funciona assim, ele tem 20 points no site (exemplo)
 
ai tem um npc que troca com ele os 20 points por 20 itens agrupaveis (de minha escolha)
 
ai o player fala assim:
 
Hi
Withdraw
10 (Quantia de points) (Ai sai 10 points no site e fica 10)
yes
 
ai ele fica com 10 items agrupados na bp (Tokens) e pode comercializar com players por items e etc..
 
ai ele vendeu ou nao conseguiu vender os points, ele pode levar devolta para o npc 
 
e fala
 
Hi
Deposit all
 
ou deposit (quantia)
 
yes
 
 
 
ai ele volta a ter 20 points no site,...
 
 
 
 
VALENDO REP+ POR 3 DIAS!!!
 
 
FAST LIGEIRO ESSE SCRIPT GENTE VERSÃO 8.60 MAPA GLOBAL!

 

Crie um arquivo chamado bankpoints.lua na pasta data/npc/scripts e cole isso dentro

 

function getPlayerPoints(id)
          local query = db.getResult('SELECT premium_points FROM accounts WHERE id = '.. id ..';')
          if query:getID() ~= -1 then
                    return query:getDataInt('premium_points')
          end
          return LUA_ERROR
end
 
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 itemCount = 0
local itemToken = 102
 
function creatureSayCallback(cid, type, msg)
 
          if(not npcHandler:isFocused(cid)) then
                    return false
          end
          local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid
 
          if msgcontains(msg, 'balance') then
                    npcHandler:say('You have '.. getPlayerPoints(getPlayerGUID(cid) ..' points.', cid)
                    talkState[talkUser] = 0
 
          elseif msgcontains(msg, 'deposit') then
                    npcHandler:say('How many points do you want to deposit?', cid)
                    talkState[talkUser] = 1
 
          elseif talkState[talkUser] == 1 then
                    if not tonumber(msg) or tonumber(msg) < 1 then
                              npcHandler:say('Please tell me how many points you want to deposit?', cid)
                    end
 
                    itemCount = math.abs(tonumber(msg))
                    npcHandler:say('You want to deposit '.. itemCount ..' points?', cid)
                    talkState[talkUser] = 2
 
          elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
                    if getPlayerItemCount(cid, itemToken) >= itemCount then
                              local query = db.executeQuery('UPDATE accounts SET premium_points = premium_points + '.. itemCount ..' WHERE id '.. getPlayerGUID(cid) ..';')
                              if query ~= LUA_ERROR then
                                        npcHandler:say('You deposited '.. itemCount ..' points.', cid)
                                        doPlayerRemoveItem(cid, itemTokens, itemCount)
                                        talkState[talkUser] = 0
                              else
                                        npcHandler:say('Points can not be deposited, please contact a gamemaster.', cid)
                                        error('[Error::Query] '.. query ..', error while trying to add a value into balance.')

                                        talkState[talkUser] = 0
                              end
                    else
                              npcHandler:say('Sorry, you don\'t have the required items', cid)
                              talkState[talkUser] = 0
                    end
 
 
          elseif msgcontains(msg, 'withdraw') then
                    npcHandler:say('How many points do you want to withdraw?', cid)
                    talkState[talkUser] = 3
 
          elseif talkState[talkUser] == 3 then
                    if not tonumber(msg) or tonumber(msg) < 1 then
                              npcHandler:say('Please tell me, how many points you want to withdraw?', cid)
                    end
 
          itemCount = math.abs(tonumber(msg))
          npcHandler:say('You want to cash out '.. itemCount ..' points?', cid)
          talkState[talkUser] = 4
          elseif msgcontains(msg, 'yes') and talkState[talkUser] == 4 then
                    if getPlayerPoints(getPlayerGUID(cid)) >= itemCount then
                              local query = db.executeQuery('UPDATE accounts SET premium_points = (premium_points - '.. itemCount ..') WHERE id = '.. getPlayerGUID(cid) ..';')
                                        if query then
                                                  npcHandler:say('You drew '.. itemCount ..' points.', cid)
                                                  doPlayerAddItem(cid, itemToken, itemCount)
                                                  talkState[talkUser] = 0
                                        else
                                                  npcHandler:say('Money can not be retired, please contact a gamemaster.', cid)
                                                  error('[Error::Query] '.. query ..', error while trying to remove a value from balance.')
                                                  talkState[talkUser] = 0
                                        end
                    else
                              npcHandler:say('Sorry, you don\'t have that amount for withdraw.', cid)
                              talkState[talkUser] = 0
                    end
          end
          return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Configurando

 

local itemToken = 102

 

itemToken                              //ID do token que o player irá ganha, aconselho a criar um novo item para que os trokens de points não seja dropado de montros

 

Crie um arquivo chamado Bank Points.xml na pasta data/npc e cole isso dentro

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Jhon" script="data/npc/scripts/bankpoints.lua" walkinterval="0" floorchange="0">
         <health now="150" max="150" />
         <look type="129" head="114" body="119" legs="114" feet="114" corpse="2212" />
         <parameters>
                   <parameter key="message_greet" value="Hello |PLAYERNAME|. If you want to see your account balance, say {balance}." />
                   <parameter key="message_walkaway" value="Hey Hey, where you go ?"/>
                   <parameter key="message_farewell" value="Goodbye |PLAYERNAME|!"/>
         </parameter>
</npc>

 

Não testei, caso der erro avise.

Dúvidas? Me avise.

 

@EDIT

Créditos

Eu -- Edição do Script feito pelo SkyDangerous --

Skydangerous -- Script --

 

Att.

Giovani Rodrigo

Editado por GiovaniRodrigo (veja o histórico de edições)
Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

Usa um xml simples, como esse:

 
<?xml version="1.0"?>
      <npc name="Hyun" script="BankPoints.lua" floorchange="0" speed="0">
      <health now="150" max="150"/>
      <look type="367" head="79" body="76" legs="49" feet="94" addons="2"/>
</npc>

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Tinha esquecido algumas coisas no código então editei ele.

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por zleozinho
      Galera do TK já fis muitas perguntas aqui no site e acho que vcs ja estão ficando com raiva, mais é porque sou novo aqui no mundo do ot server estou ainda aprendendo.
       
      galera estou perguntando a voçes como coloco um atributo de fast regeneration nos equipamentos e queria escolher o tanto que ele regenera por segundo.
    • Por baiakuda
      Boa tarde,
       
       
      Gostaria de saber como faço para corrigir os erros abaixo:
      Obs: a posição onde apontam os erros de "spawn" é logo onde eu coloco o "respaw" para poder nascer os bixos.
       
      Erro que não faço ideia do que seja \/

       
      Erro dos SPAWNS \/

       
      LOCAL onde apontam os erros de SPAWN \/

       
       
    • Por 12Bryan12
      E ae pessoas do TibiaKing !!
      Queria saber como que eu tiro uma "print" do meu mapa inteiro pelo rme, eu já tentei da export > minimap dai cria 15 arquivo só que não consigo visualizar.
      Alguem pode me ajudar? 
      Valendo rep+ e.e
    • Por Obelivion
      Fala Galerinha do TK blza?
       
      então eu to com uma dificuldade muito grande galera em conseguir um FAST ATK porem SEM USO DAS HOTKEYS DO BOT. Sim meu Ot Server possui um FAST MONSTRUOSO funcionando perfeitamente
      porem ele so funciona ao ativar BOT exemplo do elf: auto 1 attack target. La tem 4 vocações ainda e cada uma vc ataca mais rapido fora que coloquei para o fist aumentar fast pela source. Eu sei mecher na Distro e tudo mais então queria pedir POR FAVOR DE VERDADE pra alguem me dar essa força dizer onde coloco na Source para que o FAST ATK seja automatio ou seja os caras que jogam sem bot eu adicionei AUTOLOOT agora oq eu mais queria era eles chegando com FAST ATK ja joguei ot q tinha antes de saber oq era bot POR FAVOR GALERA ja tentei todos os topicos por ai nenhum deu certo
    • Por lucaspds
      Galera, é o seguinte, venho pedir ajuda, estou criando um servidor de um mapa baixado aqui e alterando ele totalmente pra ficar único, gosto muito da velocidade do fast atack q deixei, porem, andei fazendo alguns testes e notei diferença quando vc fica parado batendo e se movendo... Quando o char se move pra cima e pra baixo, sai mais ataques... Queria saber se tem como arrumar isso? E como faço pra arrumar isso?? Os testes foram feito com um Knight Matando um Juggernaut, Parado ele demora em torno de 45 segundos a 55 segundos. Já se eu ficar me mexendo pra cima e pra baixo ele acaba em 25 segundos a 30 segundos... No pvp isso vai fazer muita diferença, e não gostaria dessa desigualdade. Se alguem souber como ajudar, Grato desde já. Qualquer informações que precisarem do meu ot, é só pedir que posto aqui para uma melhor resolução do post.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo