Ir para conteúdo

Posts Recomendados

arhPioO.png

Nome: Clipboardcopy(Text)
Versão: 1.0
Código: Doggynub
Forum Origem: OTLand.net
Versão: Não testado ainda.
Descrição: Esta função copia para a área de transferência (clipboard) as coordenadas do player, como se estive feito um Ctrl+C..
Bom vamos ao tutorial:

 

luascript.h:

Procure por:

static int32_t luaStdSHA512(lua_State* L);

E adicione isso abaixo:
static int32_t luaClipboardCopy(lua_State* L);

luascript.cpp:
Procure por:
//setCreatureMaxMana(cid, mana)

Cole isso abaixo:

//clipboardCopy(text)
lua_register(m_luaState, "clipboardCopy", LuaInterface::luaClipboardCopy);

Então encontre:
int32_t LuaInterface::luaSetCreatureMaxMana(lua_State* L)

E adicione isso abaixo:
int32_t LuaInterface::luaClipboardCopy(lua_State* L)
{
//clipboardCopy(text)
std::string text = popString(L);
if(text != "")
{
const char* output = text.c_str();
const size_t len = strlen(output) + 1;
HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, len);
memcpy(GlobalLock(hMem), output, len);
GlobalUnlock(hMem);
OpenClipboard(0);
EmptyClipboard();
if(SetClipboardData(CF_TEXT, hMem) != NULL)
lua_pushboolean(L,true);
else
lua_pushboolean(L,false);


CloseClipboard();
}

return 1;
}


Exemplo de utilização:

function onLook(cid, thing, position, lookDistance)
if getPlayerGroupId(cid) >= 4 then
local str = string.gsub("{x = |x|, y = |y|, z = |z|, stackpos = |stackpos|}","|(.-)|",function(a) return position[a] end)
if not clipboardCopy(str) then
print("error in copying to clipboard, no data copied.")
end
end
return true
end
Editado por MatheusEnjoy
Link para o comentário
https://xtibia.com/forum/topic/190074-fun%C3%A7%C3%A3o-lua-clipboardcopytext-funciona-com-coordenadas/
Compartilhar em outros sites

  • 2 weeks later...

@MatheusEnjoy

 

vei um concelho quando fizer tópicos COLOQUE OQUE A FUNÇÃO FAZ, assim todos saberão sem precisar entrar em outro forum concorrente.

@MatheusEnjoy

 

vei um concelho quando fizer tópicos COLOQUE OQUE A FUNÇÃO FAZ, assim todos saberão sem precisar entrar em outro forum concorrente.

 

E um pouco complexo explicar o que a função faz. Igual esta e um "Ctrl+c / Ctrl +v"

×
×
  • Criar Novo...