BO
gesior acc

Save 0

Por Boguemon, 29 de jun. de 2016 em Websites

save 0
gesior
tfs0.4
16
2.5k
BoguemonB
29 de junho de 2016 às 17:35

Tenho dois server online, sabem como faço pra os chares que serem criados no world_id = 0 receberem o save 0 lá na database? eles são criados seguindo outros 3 samples que tem save 0, porém quando crio eles ficam com save 1

 

@EDIT ou um outro jeito 

Editado Junho 29 por balla1009

EskyloE
29 de junho de 2016 às 17:37

Tem como mandar o link de onde você baixou o seu site?

BoguemonB
29 de junho de 2016 às 18:01

já tenho o site faz tempo, aqui o link com meu site gesior acc

Yan LiimaY
29 de junho de 2016 às 21:35

Como eu te disse no Privado, não consigui fazer a função de verificar o world_id = 0. Então vamos fazer por town_id. No seu mapa editor (Remere's Map Editor) aperte CTRL + T e crie seu segundo Town. Depois na database no Sample/personagem que você quer que não salve coloque o town_id como 2.

 

Em data/lib/050-function.lua adicione:

function setPlayerSave(cid, save)  -- save true ou falseif not isPlayer(cid) then return false endsave=save or falseif save == false then save = 0 else save = 1 endreturn db.query("UPDATE `players` SET `save` = ".. save .." WHERE `id` = " .. getPlayerGUID(cid) .. ";") -- By Yan Liima > Nightend

Depois em creaturescript/scripts/ crie um arquivo .lua e cole isto dentro:

function onLogin(cid)if getTownName(cid, 2) thensetPlayerSave(cid, false) -- false para 0 e true para 1endreturn trueend

em creaturescript.xml add:

<event type="login" name="SetSave" event="script" value="NOME_DO_ARQUIVO.lua"/>
  •  Prontinho, da pra quebrar o galho rsrs 
  • Na hora que o jogador com o town_id = 2 logar no servidor o "SAVE" dele irá ser setado para 0.

Editado Junho 29 por nedroesdoksdja

BoguemonB
29 de junho de 2016 às 21:37
if getTownName(cid, 2) then

só aqi que tenho que mudar caso use outro town id neh? mas uma duvida, ali não seria getTownId?

Yan LiimaY
29 de junho de 2016 às 21:39
2 minutos atrás, balla1009 disse:
if getTownName(cid, 2) then

só aqi que tenho que mudar caso use outro town id neh? mas uma duvida, ali não seria getTownId?

 

Sim, na verdade os dois daria no mesmo. Id ou Nome.

getTownId(townName) getTownName(townId)

 

Editado Junho 29 por nedroesdoksdja

BoguemonB
29 de junho de 2016 às 22:07

ta dando isso quando clico em players na database...  Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\phpMyAdmin\libraries\header_http.inc.php on line 8

Editado Junho 29 por balla1009

Yan LiimaY
29 de junho de 2016 às 22:12
1 minuto atrás, balla1009 disse:

ta dando isso  Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\phpMyAdmin\libraries\header_http.inc.php on line 8

 

Não entendi. Tu testou a script certinho no servidor? Isso dai é erro no site creio eu ...

A execução demorou de mais para carregar. O máximo é 60 segundos se a página demorar para carregar e passar disso dá esse erro.

BoguemonB
29 de junho de 2016 às 22:15

mas todas as outras opções carregam normal só essa qe de isso, e elas carregam rapidinho aqui, vou reiniciar o pc ve se muda alguma coisa

Yan LiimaY
29 de junho de 2016 às 22:27

Tenta editar no arquivo header_http.inc.php em  C:\xampp\phpMyAdmin\libraries\header_http.inc.php

Almenta o limite máximo...

BoguemonB
29 de junho de 2016 às 22:33

houston, we have a problem, o script ta setando todo mundo pra save 0, vai ter que ser por world_id mesmo, o de um jeito que ele só faça naquele boneco

 

tentei add isso tbm                    WHERE `world_id = 0` e dava erro :( 

 

 

outro detalhe, ele ta mudando o "online" pra 1 na database, mesmo com o otserv fechado

Editado Junho 29 por balla1009

Yan LiimaY
29 de junho de 2016 às 23:05

No  050-function.lua

Troca:

return db.query("UPDATE `players` SET `save` = ".. save ..";")

Por:

return db.query("UPDATE `players` SET `save` = ".. save .." WHERE `name` = `" .. getPlayerName(cid) .. "`;")

Ou por:

return db.query("UPDATE `players` SET `save` = ".. save .." WHERE `id` = `" .. getPlayerGUID(cid) .. "`;")

 

Editado Junho 29 por nedroesdoksdja

BoguemonB
29 de junho de 2016 às 23:19

[23:18:04.411] Bituy has logged in.
[23:18:04.411] mysql_real_query(): UPDATE `players` SET `save` = 0 WHERE `id` =
`13`; - MYSQL ERROR: Unknown column '13' in 'where clause' (1054)
 

e com o outro da a mesma coisa, sómuda o 13 pra name

Yan LiimaY
29 de junho de 2016 às 23:29
9 minutos atrás, balla1009 disse:

[23:18:04.411] Bituy has logged in.

[23:18:04.411] mysql_real_query(): UPDATE `players` SET `save` = 0 WHERE `id` =

`13`; - MYSQL ERROR: Unknown column '13' in 'where clause' (1054)

 

e com o outro da a mesma coisa, sómuda o 13 pra name

 

Desculpe, acho que agora vai:

return db.query("UPDATE `players` SET `save` = ".. save .." WHERE `id` = " .. getPlayerGUID(cid) .. ";")

 

BoguemonB
29 de junho de 2016 às 23:39

agora sim (: