SH
dúvida

Duvida Facil

Por Shadownzinho, 28 de jan. de 2014 em Scripts

script
18
3k
28 de janeiro de 2014 às 17:10

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

zipter98Z
28 de janeiro de 2014 às 17:15

 

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
28 de janeiro de 2014 às 17:23

Ai Parceiro Parou De Dar Erro Que Tava Dando Porem Quando Eu Logo Ele Aparece A Msg Do Script Mais Nao Reseta O Cap Fis Alguma Coisa De Errado ?

 

Se Tiver Como Arruma Vlw Msm.

brun123B
28 de janeiro de 2014 às 22:51

colocou a tag no creaturescripts.xml?

29 de janeiro de 2014 às 01:52

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

LegnusL
29 de janeiro de 2014 às 10:52

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.

29 de janeiro de 2014 às 13:56

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>
zipter98Z
29 de janeiro de 2014 às 15:13

Gostaria de informar que, em eventos onLogin e onLogout, basta apenas registrar a tag no arquivo .xml.

Editado Janeiro 29 por zipter98

29 de janeiro de 2014 às 17:06

OK Vou Retirar A Tag Do Login.Lua E Testa Qualquer Coisa Mando Msg


AI CARA NEM DEU CERTO =(

AdilsonHackerA
29 de janeiro de 2014 às 22:40

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/]

IncurI
30 de janeiro de 2014 às 12:54

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 Janeiro 31 por Incur

30 de janeiro de 2014 às 13:22

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

dalvorsnD
30 de janeiro de 2014 às 18:53

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

IncurI
31 de janeiro de 2014 às 00:14

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 Janeiro 31 por Incur

31 de janeiro de 2014 às 12:58

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 Janeiro 31 por Shadownzinho