Ir para conteúdo
  • 0

[Resolvido] Ajuda TFS 1.2


epaminombas

Pergunta

Quero fazer um comando que define a skill do player para 10 e outro que define o skill para 90

 

no tfs 0.4 eu usava assim: doPlayerSetSkillLevel(cid, SKILL_FIST, 10)  // doPlayerSetSkillLevel(cid, SKILL_FIST, 90)

 

no tfs 1.2 nao achei nada que faça isso ajuda please ^^

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
27 minutos atrás, DarkWore disse:

Tente fazer isso, fiz o código bem rápido não tenho certeza se vai funcionar, testa ae e me diga o resultado.

 

Vá na sua Source em luascript.cpp e siga a explicação abaixo:

 

Procure por:


registerMethod("Player", "isPlayer", LuaScriptInterface::luaPlayerIsPlayer);

logo abaixo coloque:


registerMethod("Player", "SetSkillLevel", LuaScriptInterface::luaPlayerSetSkillLevel);

procure por:


//doPlayerAddItem(uid, itemid, <optional: default: 1> count/subtype)
//doPlayerAddItem(cid, itemid, <optional: default: 1> count, <optional: default: 1> canDropOnMap, <optional: default: 1>subtype)
//Returns uid of the created item
lua_register(luaState, "doPlayerAddItem", LuaScriptInterface::luaDoPlayerAddItem);

abaixo coloque:


//doPlayerSetSkillLevel(cid, skill, value)
	lua_register(luaState, "doPlayerSetSkillLevel", LuaScriptInterface::luaDoPlayerSetSkillLevel);

por fim a função, coloque no final do arquivo:


int LuaScriptInterface::luaPlayerSetSkillLevel((lua_State* L)
{
	// player:setSkillLevel(uid, skill, value)
	uint32_t value = getNumber<uint32_t>(L, 2);
	int32_t skill = getNumber<int32_t>(L, 3);
	
	Player* player = getUserdata<Player>(L, 1);
	if (player) {
		player->setSkillLevel((skills_t) skill, value);
		pushBoolean(L, true);
	} else {
		lua_pushnil(L);
	}
	return 1;
}

Bom, Compile e Teste, eu não sei se irá funcionar mais pelo menos eu tentei, Abraço.

estou compilando aqui, ai no script eu coloco assim mesmo? doPlayerSetSkillLevel(cid, SKILL_FIST, 10) ou muda algo ?

1>c:\sources\src\luascript.cpp(933): error C2039: 'luaDoPlayerSetSkillLevel': não é um membro de 'LuaScriptInterface'
1>c:\sources\src\luascript.h(197): note: consulte a declaração de 'LuaScriptInterface'
1>c:\sources\src\luascript.cpp(933): error C2065: 'luaDoPlayerSetSkillLevel': identificador não declarado
1>c:\sources\src\luascript.cpp(933): error C3872: '0xbb': este caractere não é permitido em um identificador
1>c:\sources\src\luascript.cpp(933): error C3872: '0xbf': este caractere não é permitido em um identificador
1>c:\sources\src\luascript.cpp(933): error C3861: '': identificador não encontrado
1>c:\sources\src\luascript.cpp(2198): error C2039: 'luaPlayerSetSkillLevel': não é um membro de 'LuaScriptInterface'
1>c:\sources\src\luascript.h(197): note: consulte a declaração de 'LuaScriptInterface'
1>c:\sources\src\luascript.cpp(2198): error C2065: 'luaPlayerSetSkillLevel': identificador não declarado
1>c:\sources\src\luascript.cpp(2198): error C3872: '0xbb': este caractere não é permitido em um identificador
1>c:\sources\src\luascript.cpp(2198): error C3872: '0xbf': este caractere não é permitido em um identificador
1>c:\sources\src\luascript.cpp(2198): error C2065: '': identificador não declarado
1>c:\sources\src\luascript.cpp(2200): error C2146: erro de sintaxe: ';' ausente antes do identificador 'registerMethod'

Link para o comentário
Compartilhar em outros sites

  • 0
Em 29/04/2018 em 11:57 PM, epaminombas disse:

estou compilando aqui, ai no script eu coloco assim mesmo? doPlayerSetSkillLevel(cid, SKILL_FIST, 10) ou muda algo ?

1>c:\sources\src\luascript.cpp(933): error C2039: 'luaDoPlayerSetSkillLevel': não é um membro de 'LuaScriptInterface'
1>c:\sources\src\luascript.h(197): note: consulte a declaração de 'LuaScriptInterface'
1>c:\sources\src\luascript.cpp(933): error C2065: 'luaDoPlayerSetSkillLevel': identificador não declarado
1>c:\sources\src\luascript.cpp(933): error C3872: '0xbb': este caractere não é permitido em um identificador
1>c:\sources\src\luascript.cpp(933): error C3872: '0xbf': este caractere não é permitido em um identificador
1>c:\sources\src\luascript.cpp(933): error C3861: '': identificador não encontrado
1>c:\sources\src\luascript.cpp(2198): error C2039: 'luaPlayerSetSkillLevel': não é um membro de 'LuaScriptInterface'
1>c:\sources\src\luascript.h(197): note: consulte a declaração de 'LuaScriptInterface'
1>c:\sources\src\luascript.cpp(2198): error C2065: 'luaPlayerSetSkillLevel': identificador não declarado
1>c:\sources\src\luascript.cpp(2198): error C3872: '0xbb': este caractere não é permitido em um identificador
1>c:\sources\src\luascript.cpp(2198): error C3872: '0xbf': este caractere não é permitido em um identificador
1>c:\sources\src\luascript.cpp(2198): error C2065: '': identificador não declarado
1>c:\sources\src\luascript.cpp(2200): error C2146: erro de sintaxe: ';' ausente antes do identificador 'registerMethod'

Como eu tinha dito eu fiz bem rápido e não sabia se ia funcionar, retirei o código acima, sinto não poder ajudar eu quase nem entro no computador ultimamente,  espero que encontre oque procura, abraço.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...