Jump to content
  • 0

Boguemon

Question

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 

Edited by balla1009
Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0
  • Diretor

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.
Edited by nedroesdoksdja
Link to comment
Share on other sites

  • 0
  • Diretor
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)

 

Edited by nedroesdoksdja
Link to comment
Share on other sites

  • 0

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

Edited by balla1009
Link to comment
Share on other sites

  • 0
  • Diretor
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.

Link to comment
Share on other sites

  • 0

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

Edited by balla1009
Link to comment
Share on other sites

  • 0
  • Diretor

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) .. "`;")

 

Edited by nedroesdoksdja
Link to comment
Share on other sites

  • 0

[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

Link to comment
Share on other sites

  • 0
  • Diretor
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) .. ";")

 

Link to comment
Share on other sites

  • 0
  • Diretor

O @Night Wolf me disse que a alteração para verificar o world_id era muito simples. No 050-function.lua troca

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

Por isto:

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

Se não quiser verificar mais por Town troca ele por este:

if isPlayer(cid) then

 

Link to comment
Share on other sites

×
×
  • Create New...