Ir para conteúdo

Featured Replies

Postado

Função getPlayerByHouseWildCard


Informações: Função muito útil para quem é novato, ela retorna o WildCard do dono da casa que o player esta em cima, um bom exemplo de onde poderia ser usada é na criação de scripts nos quais somente o dono da casa pode ativar o script dentro da sua casa. Testado em 8.60 SQL e Mysql.
 
Importante: Se o player não estiver dentro de uma casa, estiver dentro de uma casa sem dono ou o dono da casa estiver offline ao invés de retornar o wildcard ira retornar 0. 
 
Adicione este código no final do arquivo data/lib/050-function.lua




         function getPlayerByHouseWildcard(cid)
                  local crid = 1
                  local hid = getHouseFromPos(getCreaturePosition(cid))
                  if (not hid) then
                     hid = 1
                  end

                  crid = getHouseOwner(hid)

                  if (crid == 0) then
                     return 0
                  end

                  local qr = db.getResult("SELECT `name` FROM `players` WHERE `id`= "..crid..";")
                  rss = qr:getDataString("name", crid)
                  
                  qr = db.getResult("SELECT `online` FROM `players` WHERE `id`= "..crid..";")
                  rss1 = qr:getDataInt("online", crid)                  

                  if rss1 ~= 1 then
                  return 0
                  end

                  local pid = getPlayerByNameWildcard(rss)
                  return pid
   
         end


 
Créditos: 100% Gabisa00 - Pela idéia e pelo script.
 
Editado: Enquanto eu usava esta função em um script me deparei com um problema, se o dono da casa não esta online ele não possui wildcard então daria problema na função, já a arrumei.

Gostou do Sistema Faça Seu Pedido Aqui!

Editado por gabisa00 (veja o histórico de edições)

Postado
  • Autor

Desculpa a demora na resposta, seguinte, Wildcard = CID, a maioria das funções necessitam da entrada "(cid)", cada char online e cada creature no mapa possui seu CID, depois dessa breve explicação, essa função retorna o CID do dono da casa na qual o player esta em cima, por exemplo, eu estou dentro da casa e uso essa função, ela ira retornar o CID do dono da casa que estou, caso o dono não esteja online, ou eu não esteja dentro de uma casa ou até mesmo no caso de ADMs que estejam dentro de casas sem dono, a função ao invés retornar o CID do dono da casa ela simplesmente ira retornar o número 0.

Editado por gabisa00 (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo