Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Galera eu consegui fazer funcionar no meu caso fazendo o seguinte.

TFS 0.3.7

Na Soucer do ot - luascript.cpp

int32_t LuaInterface::luaGetPlayerSecureMode(lua_State* L)
{
    //getPlayerSecureMode(cid)
    ScriptEnviroment* env = getEnv();
    Player* player = env->getPlayerByUID((uint32_t)popNumber(L));
    if(!player)
    {
        errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
        lua_pushboolean(L, false);
    }
    else
        lua_pushnumber(L, player->getSecureMode());
 
    return 1;
}
int32_t LuaInterface::luaGetPlayerFightMode(lua_State* L)
{
    //getPlayerFightMode(cid)
    ScriptEnviroment* env = getEnv();
    Player* player = env->getPlayerByUID((uint32_t)popNumber(L));
    if(!player)
    {
        errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
        lua_pushboolean(L, false);
    }
    else
        lua_pushnumber(L, player->getAttackFactor());
 
    return 1;
}
	//getPlayerSecureMode
	lua_register(m_luaState, "getPlayerSecureMode", LuaInterface::luaGetPlayerSecureMode);

	//getPlayerFightMode
	lua_register(m_luaState, "getPlayerFightMode", LuaInterface::luaGetPlayerFightMode);

luacript.h

		//getPlayerFightMode(cid)
        static int32_t luaGetPlayerFightMode(lua_State* L);
 
        //getPlayerSecureMode(cid)
        static int32_t luaGetPlayerSecureMode(lua_State* L);

 

Ai compilei depois..

Fui no ot e fiz o seguinte...

creaturescript.xml
 

    <event type="combat" name="SafeCombat" event="script" value="safemode.lua"/>

creaturescripts\scripts\safemode.lua

 

function onCombat(cid, target)
    if(target and isPlayer(target) and getPlayerSecureMode(cid) == 0) then
        doPlayerSendCancel(cid, "Turn secure mode off if you really want to attack unmarked players.")
        return false
        elseif(target and isPlayer(target) and getPlayerSecureMode(cid) == 1) then
    return true
end
end

creaturescripts\scripts\login.lua

registerCreatureEvent(cid, "SafeCombat")

 

 

Então Quanto to com a mão aberta não ataca ninguém nem em área nem magia nem target..

se fecha a mão ai ataca todo tipo de magia..

Editado por robi123 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Respostas 46
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Bom, oque eu procuro seria uma adaptação do DOVE (Safe Mode do tibia global) quando ta com ela ativada você pode usar magias de area e etc sem pegar pk, eu gostaria de saber se é possível um script as

Eu consegui arrumar um script funcional com essa base de !pvp on e !pvp off, agora gostaria de saber se com o code dele dava pra criar esse que eu to querendo... Eu pesquisei nas sources e achei em Co

Vou explicar melhor... Eh sim pelo onCombat, mas no caso seria assim, vamos dar um exemplo: Estou la upando com a maozinha aberta (Sem pvp) usando magias de area e tals sem pegar pk, dai chega um cara

Posted Images

16 minutos atrás, robi123 disse:

Galera eu consegui fazer funcionar no meu caso fazendo o seguinte.

TFS 0.3.7

Na Soucer do ot - luascript.cpp


int32_t LuaInterface::luaGetPlayerSecureMode(lua_State* L)
{
    //getPlayerSecureMode(cid)
    ScriptEnviroment* env = getEnv();
    Player* player = env->getPlayerByUID((uint32_t)popNumber(L));
    if(!player)
    {
        errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
        lua_pushboolean(L, false);
    }
    else
        lua_pushnumber(L, player->getSecureMode());
 
    return 1;
}

int32_t LuaInterface::luaGetPlayerFightMode(lua_State* L)
{
    //getPlayerFightMode(cid)
    ScriptEnviroment* env = getEnv();
    Player* player = env->getPlayerByUID((uint32_t)popNumber(L));
    if(!player)
    {
        errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
        lua_pushboolean(L, false);
    }
    else
        lua_pushnumber(L, player->getAttackFactor());
 
    return 1;
}

	//getPlayerSecureMode
	lua_register(m_luaState, "getPlayerSecureMode", LuaInterface::luaGetPlayerSecureMode);

	//getPlayerFightMode
	lua_register(m_luaState, "getPlayerFightMode", LuaInterface::luaGetPlayerFightMode);

luacript.h


		//getPlayerFightMode(cid)
        static int32_t luaGetPlayerFightMode(lua_State* L);
 
        //getPlayerSecureMode(cid)
        static int32_t luaGetPlayerSecureMode(lua_State* L);

 

Ai compilei depois..

Fui no ot e fiz o seguinte...

creaturescript.xml
 


    <event type="combat" name="SafeCombat" event="script" value="safemode.lua"/>

creaturescripts\scripts\safemode.lua

 


function onCombat(cid, target)
    if(target and isPlayer(target) and getPlayerSecureMode(cid) == 0) then
        doPlayerSendCancel(cid, "Turn secure mode off if you really want to attack unmarked players.")
        return false
        elseif(target and isPlayer(target) and getPlayerSecureMode(cid) == 1) then
    return true
end
end

creaturescripts\scripts\login.lua


registerCreatureEvent(cid, "SafeCombat")

 

 

Então Quanto to com a mão aberta não ataca ninguém nem em área nem magia nem target..

se fecha a mão ai ataca todo tipo de magia..

Robi, meu problema é que eu não consigo fazer o tutorial igual no topico la do xtibia, ele da erro ao compilar, oque será que pode ser?

Link para o post
Compartilhar em outros sites
30 minutos atrás, robi123 disse:

Galera eu consegui fazer funcionar no meu caso fazendo o seguinte.

TFS 0.3.7

Na Soucer do ot - luascript.cpp


int32_t LuaInterface::luaGetPlayerSecureMode(lua_State* L)
{
    //getPlayerSecureMode(cid)
    ScriptEnviroment* env = getEnv();
    Player* player = env->getPlayerByUID((uint32_t)popNumber(L));
    if(!player)
    {
        errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
        lua_pushboolean(L, false);
    }
    else
        lua_pushnumber(L, player->getSecureMode());
 
    return 1;
}

int32_t LuaInterface::luaGetPlayerFightMode(lua_State* L)
{
    //getPlayerFightMode(cid)
    ScriptEnviroment* env = getEnv();
    Player* player = env->getPlayerByUID((uint32_t)popNumber(L));
    if(!player)
    {
        errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
        lua_pushboolean(L, false);
    }
    else
        lua_pushnumber(L, player->getAttackFactor());
 
    return 1;
}

	//getPlayerSecureMode
	lua_register(m_luaState, "getPlayerSecureMode", LuaInterface::luaGetPlayerSecureMode);

	//getPlayerFightMode
	lua_register(m_luaState, "getPlayerFightMode", LuaInterface::luaGetPlayerFightMode);

luacript.h


		//getPlayerFightMode(cid)
        static int32_t luaGetPlayerFightMode(lua_State* L);
 
        //getPlayerSecureMode(cid)
        static int32_t luaGetPlayerSecureMode(lua_State* L);

 

Ai compilei depois..

Fui no ot e fiz o seguinte...

creaturescript.xml
 


    <event type="combat" name="SafeCombat" event="script" value="safemode.lua"/>

creaturescripts\scripts\safemode.lua


function onCombat(cid, target)
    if(target and isPlayer(target) and getPlayerSecureMode(cid) == 0) then
        doPlayerSendCancel(cid, "Turn secure mode off if you really want to attack unmarked players.")
        return false
		end
    return true
end

 

creaturescripts\scripts\login.lua


registerCreatureEvent(cid, "SafeCombat")

 

 

Então Quanto to com a mão aberta não ataca ninguém nem em área nem magia nem target..

se fecha a mão ai ataca todo tipo de magia..

 

@fiordy

quer postar seu luascript.ccp e luascript.h para eu ver?
ou tentar postar qual o erro ?

Link para o post
Compartilhar em outros sites
12 minutos atrás, robi123 disse:

 

@fiordy

quer postar seu luascript.ccp e luascript.h para eu ver?
ou tentar postar qual o erro ?

Ai Robiii, a forma que tu fez funcionou pra mim, muito obrigado mano!! Eu tava compilando aqui por isso demorei a responder mas a forma que tu postou eu consegui compilar e está funcionando corretamente! Muito obrigado mesmo, reputado! :)

Editado por fiordy (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
6 horas atrás, fiordy disse:

Ai Robiii, a forma que tu fez funcionou pra mim, muito obrigado mano!! Eu tava compilando aqui por isso demorei a responder mas a forma que tu postou eu consegui compilar e está funcionando corretamente! Muito obrigado mesmo, reputado! :)

de nada ;D

 

 

Link para o post
Compartilhar em outros sites
  • 3 weeks later...

@robi123 vlw mano, criei ate um topico pq eu tava com um problema e vc arrumou ^^ uahsudha

 

Mas outra coisa...

@xWhiteWolf To usando esse sistema q o robi colocou, mas tipo, eu to com a mãozinha aberta, o target é PK, n tem como deixar possivel pra atacar ele msm estando com a mão aberta? ou também, ao fechar a mão e atacar o pk, pegar pz(espada vermelha cruzada sabe?) vlw

 

 

Obs.: Tive que adicionar um ultimo return true no script, ficando assim:

function onCombat(cid, target)
    if(target and isPlayer(target) and getPlayerSecureMode(cid) == 0) then
        doPlayerSendCancel(cid, "Turn secure mode off if you really want to attack unmarked players.")
        return false
        elseif(target and isPlayer(target) and getPlayerSecureMode(cid) == 1) then
    return true
	end
	return true
end

 

Editado por Sekk (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 3 months later...
Em 16/04/2017 ás 04:02, Sekk disse:

@robi123 vlw mano, criei ate um topico pq eu tava com um problema e vc arrumou ^^ uahsudha

 

Mas outra coisa...

@xWhiteWolf To usando esse sistema q o robi colocou, mas tipo, eu to com a mãozinha aberta, o target é PK, n tem como deixar possivel pra atacar ele msm estando com a mão aberta? ou também, ao fechar a mão e atacar o pk, pegar pz(espada vermelha cruzada sabe?) vlw

 

 

Obs.: Tive que adicionar um ultimo return true no script, ficando assim:


function onCombat(cid, target)
    if(target and isPlayer(target) and getPlayerSecureMode(cid) == 0) then
        doPlayerSendCancel(cid, "Turn secure mode off if you really want to attack unmarked players.")
        return false
        elseif(target and isPlayer(target) and getPlayerSecureMode(cid) == 1) then
    return true
	end
	return true
end

 

 

 

@Sekk vlw sekk ai que é bom neh todo mundo ajudando eheheh

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo