Ir para conteúdo
  • Cadastre-se

Normal Como coloco level para comprar casa?


Posts Recomendados

Pensei aqui em um sistema um pouco diferente, até porque não conheço a versão 1.0, nunca trabalhei com ela,

enfim vamos ao caso.

1 parte: Apenas players com premmium account poderiam comprar casa

2 parte: Players ao chegarem ao level 100, ganhariam de recompensa a tal premmium account e logo, poderiam comprar casa e criar guild.

3 parte. Retirar premmium account no comando.

4 parte. Existe desvantagem nesse sistema, caso for global, o player terá uma enorme desvantagem em não ser premmium account.

5 parte: Resolveriamos seu caso de uma maneira similar porém não tão eficaz quanto gostariamos, mas devido que, no atual momento não contamos com o suporte necessário, talvez se faça útil tal sistema.

OU

add o level no talkaction que também seria uma boa opção, vou pesquisar aqui também.

Caso queira, me avisa que eu publico aqui, enquanto isso vou procurar como modificar isso, que deve ser muiitooooo facil hehehe.

abraço

Editado por Thunder Black (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Respostas 7
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

já tentou baixar outro source que no caso tenha o config.lua ? abraço

Ou tente add isso no config. Houses buyableAndSellableHouses = true houseNeedPremium = false bedsRequirePremium = false levelToBuyHouse = xxx housesPerAccount = 1 casas por conta houseRentAsPrice = false housePriceAsRent = false housePriceEachSquare = xxx ---preço do sqm houseRentPeriod = "weekly" houseCleanOld = 0 guildHalls = false enfim, a tradução está tranquila. abraço, se der certo, publique seu resultado aqui.

Pensei aqui em um sistema um pouco diferente, até porque não conheço a versão 1.0, nunca trabalhei com ela, enfim vamos ao caso. 1 parte: Apenas players com premmium account poderiam comprar casa 2 parte: Players ao chegarem ao level 100, ganhariam de recompensa a tal premmium account e logo, poderiam comprar casa e criar guild. 3 parte. Retirar premmium account no comando. 4 parte. Existe desvantagem nesse sistema, caso for global, o player terá uma enorme desvantagem em não ser pre

Olha, gostei da sua alternativa caso não consiga colocar level na talkaction, foi realmente bem pensado hahah

vlw a força ae brother de vdd... qualquer coisa posta ai se conseguir :D

nbeTETb.png?1

 

Link para o post
Compartilhar em outros sites

vou fazer pra tu, calmae..


Bom, vamos lá

Primeira Parte: Quando o player upar X level ele ganhará Y dias de premium (configurável), porém só terá efeito com o primeiro char que alcançar o X level, para evitar o ganho extra de premium. fazendo assim que o player tenha apenas uma casa, não adianta criar centenas de chares que não vai funcionar.

Exemplo: upei level 100 com fulano e ganhei 10 dias de premium, então criei o ciclano e ao pegar level 100 eu não irei ganhar a premium.

Crie um arquivo com o nome de "gainpalvl.lua" (sem aspas) em: data/creaturescripts/scripts

 

[spoiler*]

--[Criado por Renato Ribeiro para www.TibiaKing.com]--

--[Baseado em um script do Matheus]--

local config {
level == 100,
days == 10,
}

function onAdvance(cid, oldlevel, newlevel)

        if getPlayerLevel(cid) >= config.level and getGlobalStorageValue(getPlayerAccountId(cid)+321) <= 0 then
            setGlobalStorageValue(getPlayerAccountId(cid)+321, 1)
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou "..config.days.." dias de premium por alcançar level "..config.level.." em pelo menos um char de sua account. Você não irá ganhar de novo caso upe level "..config.level.." em outro char.")
            doPlayerAddPremiumDays(cid, config.days)
        end
return TRUE


end

 

Em, data/creaturescripts abra o arquivo creaturescripts.xml.

 

[spoiler*]  

<event type="login" name="gainpalvl" event="script" value="gainpalvl.lua"/>

 [/spoiler*]

 

[spoiler*]

Em, data/creaturescripts/scripts abra o arquivo login.lua.

 [/spoiler*]

 

 

Beleza ( esta é a parte que o player ganha o direito de comprar a house por possuir premmium

 

agora vamos colocar que apenas player que tenham premmium account possam comprar a casa

[spoiler*] 

function onSay(cid, words, param)

local housePrice = configManager.getNumber(configKeys.HOUSE_PRICE)
if housePrice == -1 then
return true
end
 
local player = Player(cid)
if player:getPremiumDays() <= 0 then
player:sendCancelMessage("You need a premium account.")
return false
end
 
local position = player:getPosition()
position:getNextPosition(player:getDirection())
 
local house = House(getTileHouseInfo(position))
if house == nil then
player:sendCancelMessage("You have to be looking at the door of the house you would like to buy.")
return false
end
 
if house:getOwnerGuid() > 0 then
player:sendCancelMessage("This house already has an owner.")
return false
end
 
if player:getHouse() then
player:sendCancelMessage("You are already the owner of a house.")
return false
end
 
local price = house:getTileCount() * housePrice
if not player:removeMoney(price) then
player:sendCancelMessage("You do not have enough money.")
return false
end
 
house:setOwnerGuid(player:getGuid())
player:sendTextMessage(MESSAGE_INFO_DESCR, "You have successfully bought this house, be sure to have the money for the rent in the bank.")
return false
end
 [/spoiler*]
 
logo, adicionaremos a tag no TALKACTIONS

[spoiler*] 

<talkaction words="!buyhouse" script="buyhouse.lua"/>
 [/spoiler*]
 
 
comando de comprar premmium ( configuravel ) esta talvez seja uma solução pro seu caso, até que encontre um script mais resumido, que alguem com mais conhecimento vai poder te ajudar
 
caso queira dar premmium apenas a player que conseguiram chegar a x level ( citado acima)
podemos aumentar o preço da premmium
 
 

[spoiler*] 

local config = {

days = 90,
maxDays = 365,
price = 100000000000000 
}
 
function onSay(cid, words, param)
if configManager.getBoolean(configKeys.FREE_PREMIUM) then
return true
end
local player = Player(cid)
if player:getPremiumDays() <= config.maxDays then
if player:removeMoney(config.price) then
player:addPremiumDays(config.days)
player:sendTextMessage(MESSAGE_INFO_DESCR, "You have bought " .. config.days .." days of premium account.")
else
player:sendCancelMessage("You don't have enough money, " .. config.maxDays .. " days premium account costs " .. config.price .. " gold coins.")
player:getPosition():sendMagicEffect(CONST_ME_POFF)
end
else
player:sendCancelMessage("You can not buy more than " .. config.maxDays .. " days of premium account.")
player:getPosition():sendMagicEffect(CONST_ME_POFF)
end
return false
end
 [/spoiler*]
 
ou exclua-o da pasta e não mencione no arquivo xml
 
também existe o comando leave house.
 

 

 

caso queira add o comando eject (20 dias off o player perde a casa

[spoiler*] 

local days = 20 -- Se ele estiver 20 dias sem logar, ele perde a house
 
function onStartup()
local resultId = db.storeQuery("SELECT `owner`,`id` FROM `houses`;")
 
if resultId then
repeat
local aux = db.storeQuery("SELECT `lastlogin` FROM `players` WHERE `id` = ".. result.getDataString(resultId, "owner") .. ";")
 
if aux then
if result.getDataInt(aux, "lastlogin") < os.time() - (days * 86400) then
House(result.getDataInt(resultId, "id")):setOwnerGuid(-1)
end
end
 
until not result.next(resultId)
end
saveServer()
 
return true
end
 [/spoiler*]
add esta tag em global events

[spoiler*] 

<globalevent name="cleanHouse" type="startup" script="cleanHouse.lua"/>
 [/spoiler*]
 

 

 

 

 

 

Creditos:

Matheus,Renato 

e deve ter outra galera ai também. credito a geral.

 

 

 

Abraço amigo, e desculpe não ter solucionado o problema de verdade, amanhã entra o pessoal que entende bem e te ajuda rapidinho, porq este script é moleza.

 

 

desisto de tentar fazer spoiler pqp...  :facepalm:  :facepalm:  :facepalm:

Editado por Thunder Black (veja o histórico de edições)
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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
  • Estatísticas dos Fóruns

    96850
    Tópicos
    519616
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo