Ir para conteúdo
  • 0

Duvida Facil


Shadownzinho

Pergunta

Galera Tou Com Um Probleminha E Nao Consigo Resolver, Estou Com Um Script Que Criei Mais Ta Dando Um Erro E Nao Sei Pq, Se Alguem Conseguir Me Ajuda REP+

 

Script

function onLogin(cid)
cap1 = {15000000}
cap2 = {50000}
 
if getPlayerFreeCap(cid) >= cap1 then
doPlayerSetMaxCapacity(cid, cap2)
doPlayerSendTextMessage(cid,22,"Para Proteger Seu Char De Debug's O Seu Cap Foi Resetado.")
return true
else
if getPlayerFreeCap(cid) < cap1 then
doPlayerSendTextMessage(cid,22,"O Seu Char Esta Funcionando Perfeitamente.")
return true
end

Erro

[28/01/2014 17:08:45] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/resetcap.lua:13: 'end' expected (to close 'if' at line 5) near '<eof>'
[28/01/2014 17:08:45] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/resetcap.lua)
[28/01/2014 17:08:45] data/creaturescripts/scripts/resetcap.lua:13: 'end' expected (to close 'if' at line 5) near '<eof>'

Desde Já Agradecido

Shadownzinho

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

 

function onLogin(cid)
local cap1 = 15000000
local cap2 = 50000
    if getPlayerFreeCap(cid) >= cap1 then
        doPlayerSetMaxCapacity(cid, cap2)
        doPlayerSendTextMessage(cid,22,"Para Proteger Seu Char De Debug's O Seu Cap Foi Resetado.")
    else
        doPlayerSendTextMessage(cid,22,"O Seu Char Esta Funcionando Perfeitamente.")
    end
    return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

Coloquei Essa Tag Aqui No Creaturescript.XML

 

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

 

E Tambem Coloquei Essa Tag Aqui Dentro Do Login.Lua

 

registerCreatureEvent(cid, "CheckCap")

PF Alguem Pode Me Ajudar Preciso Do Script

Link para o comentário
Compartilhar em outros sites

  • 0

function onLogin(cid)
cap1 = {15000000}
cap2 = {50000}
playercap = getPlayerFreeCap(cid)
 
if playercap >= cap1 then
doPlayerSetMaxCapacity(cid, cap2)
doPlayerSendTextMessage(cid,22,"Para Proteger Seu Char De Debug's O Seu Cap Foi Resetado.")
return true
else
if getPlayerFreeCap(cid) <= cap1 then
doPlayerSendTextMessage(cid,22,"O Seu Char Esta Funcionando Perfeitamente.")
end
return true
end
end

ve se assim funciona.

Link para o comentário
Compartilhar em outros sites

  • 0

Legnus Ta Dando Esse Erro Aqui Com O Seu Script

 

 

[29/01/2014 13:50:36] [Error - CreatureScript Interface] 
[29/01/2014 13:50:36] data/creaturescripts/scripts/resetcap.lua:onLogin
[29/01/2014 13:50:36] Description: 
[29/01/2014 13:50:36] data/creaturescripts/scripts/resetcap.lua:6: attempt to compare table with number
[29/01/2014 13:50:36] stack traceback:
[29/01/2014 13:50:36]  data/creaturescripts/scripts/resetcap.lua:6: in function <data/creaturescripts/scripts/resetcap.lua:1>
Link para o comentário
Compartilhar em outros sites

  • 0

function onLogin(cid)

cap1 = {15000000}

cap2 = {50000}

 

if getPlayerFreeCap(cid) >= cap1 then

doPlayerSetMaxCapacity(cid, cap2)

doPlayerSendTextMessage(cid,22,"Para Proteger Seu Char De Debug's O Seu Cap Foi Resetado.")

return true

else

if getPlayerFreeCap(cid) < cap1 then

doPlayerSendTextMessage(cid,22,"O Seu Char Esta Funcionando Perfeitamente.")

return true

end

end

[code/]

Link para o comentário
Compartilhar em outros sites

  • 0

Vocês tão colocando como tabela e estão chamando a tabela.

 

O do Zipter funciona. Mas o player tem que deslogar depois.

 

Faz assim:

 

 

function onLogin(cid)
local cap1 = 15000000
local cap2 = 50000
	if getPlayerAccess(cid) >= 3 then return true end -- GMs -as vezes- ficam com cap 100000 e como não muda mesmo...
    if getPlayerFreeCap(cid) >= cap1 then
        if doPlayerSetMaxCapacity(cid, cap2) then -- Para motivos de teste apenas
			doPlayerSendTextMessage(cid,22,"Para Proteger Seu Char De Debug's O Seu Cap Sera Resetado em 3 segundos.")
			addEvent(doRemoveCreature, 3000, cid) -- Em 3 segundos o jogador não pode ser atacado por creaturas
		else
			doPlayerSendTextMessage(cid,22,"Não deu. :<") --Também para testes
		end
    else
        doPlayerSendTextMessage(cid,22,"O Seu Char Esta Funcionando Perfeitamente.")
    end
	
    return true
end

 

 

 

-- Edit para modificar o valor para o que o dono do tópico quer.

Leiam o script antes de usá-lo. Os valores haviam sido modificados para fins de teste.

Editado por Incur
Link para o comentário
Compartilhar em outros sites

  • 0

Incur, O Seu Script Funciono Porem, Teve Uns Erros Deu Esses Erros No Distro

 

[30/01/2014 13:16:46] sqlite3_step(): SQLITE ERROR: unable to open database file
[30/01/2014 13:16:50] sqlite3_step(): SQLITE ERROR: unable to open database file
[30/01/2014 13:16:50] sqlite3_step(): SQLITE ERROR: unable to open database file

 

E Tambem Deu Um Erro Quando O Player Entra Ele Fais O Check Do Cap Deixa O Cap De Acordo Com O Script Porem O Char Desloga Sozinho

Se Alguem Conseguir Me Ajuda Fico Mt Grato

 

Shadownzinho

Link para o comentário
Compartilhar em outros sites

  • 0

Qual a intenção desse script? o.O

Não compreendo o porque de retornar o cap a 5000 quando ele for superior ou igual a 7130

 

De todo modo, basta remover o addEvent que ele colocou que creio que vá funcionar normalmente, não há necessidade dele, pois a cada vez que o player logar será verificado o cap

Link para o comentário
Compartilhar em outros sites

  • 0

Qual a intenção desse script? o.O

Não compreendo o porque de retornar o cap a 5000 quando ele for superior ou igual a 7130

 

De todo modo, basta remover o addEvent que ele colocou que creio que vá funcionar normalmente, não há necessidade dele, pois a cada vez que o player logar será verificado o cap

 

^ Eu coloquei um valor para testar somente... ele deve modificar este valor pro valor que ele quiser - naturalmente -

@Dalvorsn, não irá funcionar. Como eu já disse, o jogador deve deslogar para o cap ficar com o valor colocado. Sem modificações maiores, a minha solução foi deslogar o player. Para maior facilidade da instalação do script.

Além de não atrapalhar a jogabilidade, já que a mensagem é enviada ao player e há um limite de (se não me engano) 5 segundos para poder atacar/ser atacado.

 

@@Shadow

 

Eu não chamei a db. Então não sei o porquê do erro.

E o 'deslogamento' não é um bug. É a solução para o script funcionar corretamente.

Editado por Incur
Link para o comentário
Compartilhar em outros sites

  • 0

Vlw A Todos Por Tentar Ajudar Infelizmente Ninguem Conseguil O Que Eu Queria Mais Faze Oq =(

 

Obrigado Pode Tds Que Tentou Ajudar

 

REP+ Para (Zipter,Legnus,AdilsonTsunami,Incur) Mais Infelizmente Não Consegui O Script Mais Ta Blz Nem Sempre É Possivel Se Conseguir Algu Vlw A Tds Do Forum,

Podem Fechar O Topico

 

Shadownzinho

Editado por Shadownzinho
Link para o comentário
Compartilhar em outros sites

  • 0

 

Qual a intenção desse script? o.O

Não compreendo o porque de retornar o cap a 5000 quando ele for superior ou igual a 7130

 

De todo modo, basta remover o addEvent que ele colocou que creio que vá funcionar normalmente, não há necessidade dele, pois a cada vez que o player logar será verificado o cap

 

^ Eu coloquei um valor para testar somente... ele deve modificar este valor pro valor que ele quiser - naturalmente -

@Dalvorsn, não irá funcionar. Como eu já disse, o jogador deve deslogar para o cap ficar com o valor colocado. Sem modificações maiores, a minha solução foi deslogar o player. Para maior facilidade da instalação do script.

Além de não atrapalhar a jogabilidade, já que a mensagem é enviada ao player e há um limite de (se não me engano) 5 segundos para poder atacar/ser atacado.

 

@@Shadow

 

Eu não chamei a db. Então não sei o porquê do erro.

E o 'deslogamento' não é um bug. É a solução para o script funcionar corretamente.

 

Cara, a capacidade só vai ser salva na database quando deslogar, mas ela altera logo que seta, se tu olhar nas sources quando tu usa a função, ele manda um sendStats pro cliente, isso quer dizer que atualiza no momento do uso da função. E se não me engano a capacidade e calculada de acordo com o level e a vocação no momento do login, então quando você remove ele fazendo-o relogar, e como se zerasse ela. Ou seja, tira o addEvent que vai funcionar

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...