Jump to content

(Resolvido)TALKACTIONS 0.4


Go to solution Solved by KotZletY,

Recommended Posts

Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website).

Ex. OTX

Base: 

 

 

Qual erro está surgindo/O que você procura?

 

        <talkaction words="illegalWords" default="1" script="blocklinks.lua"/>

    <channel id="65535" name="Private Chat Channel"/>

 

QUERIA MUDA O default="1" PARA SO O CANAL PRIVATE MESSAGE    MAS O ID 65535 NÃO VAI

Você tem o código disponível? Se tiver publique-o aqui:

function onSay(cid, words, param, channel)    

if getPlayerLevel(cid) < 200 then
isPrivateChannel(10)

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

Edited by Syn Reward
script (see edit history)
Link to post
Share on other sites

você não vai conseguir alterar ele não vai funcionar nesse modo.

 

porque não altera pela source?

 

 

 

 

 

Link to post
Share on other sites

@Dragon Ball Hiper  já tenho pela source, quero evitar os pm para level menor que 200

function onSay(cid, words, param, channel)    

if getPlayerLevel(cid) < 200 then
isPrivateChannel(10)

 

 

se alguem conseguir termina o script agradeço 

Link to post
Share on other sites

Em 10/08/2018 em 02:05, Syn Reward disse:

@Dragon Ball Hiper  já tenho pela source, quero evitar os pm para level menor que 200

function onSay(cid, words, param, channel)    

if getPlayerLevel(cid) < 200 then
isPrivateChannel(10)

 

 

se alguem conseguir termina o script agradeço 

já tentou mudar pelo o Channels.xml ?

 

testa ai     <channel id="65535" name="Private Chat Channel" level="200"/>

Edited by ADM Mayk on BaiakME (see edit history)
Link to post
Share on other sites

  • Solution

@Syn Reward em game.cpp procure por:

bool Game::playerSpeakTo(Player* player, SpeakClasses type, const std::string& receiver,

acima da checagem:

if(type == SPEAK_PRIVATE_RED && !player->hasFlag(PlayerFlag_CanTalkRedPrivate))

adicione:

if(player->getLevel() < 200) { // 200 level min to send pm.
	player->sendTextMessage(MSG_STATUS_SMALL, "You don't have enough level to send pm");
	return false;
}

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link to post
Share on other sites

2 horas atrás, KotZletY disse:

@Syn Reward em game.cpp procure por:


bool Game::playerSpeakTo(Player* player, SpeakClasses type, const std::string& receiver,

acima da checagem:


if(type == SPEAK_PRIVATE_RED && !player->hasFlag(PlayerFlag_CanTalkRedPrivate))

adicione:


if(player->getLevel() < 200) { // 200 level min to send pm.
	player->sendTextMessage(MSG_STATUS_SMALL, "You don't have enough level to send pm");
	return false;
}

 

Segui os passos mas não deu certo... Continua enviando pm normalmente, em qualquer level.

Segue como ficaram as partes do código que vc citou:
 

bool Game::playerSpeakTo(Player* player, SpeakClasses type, const std::string& receiver,
                         const std::string& text)
{
	Player* toPlayer = getPlayerByName(receiver);
	if (!toPlayer) {
		player->sendTextMessage(MESSAGE_STATUS_SMALL, "A player with this name is not online.");
		return false;
	}

    if(player->getLevel() < 100) { // 100 level min to send pm.
	player->sendTextMessage(MSG_STATUS_SMALL, "You need to be level 100 to send pm.");
	return false;
}
	if (type == TALKTYPE_PRIVATE_RED_TO && (player->hasFlag(PlayerFlag_CanTalkRedPrivate) || player->getAccountType() >= ACCOUNT_TYPE_GAMEMASTER)) {
		type = TALKTYPE_PRIVATE_RED_FROM;
	} else {
		type = TALKTYPE_PRIVATE_FROM;
	}

	toPlayer->sendPrivateMessage(player, type, text);
	toPlayer->onCreatureSay(player, type, text);

 

Edited by amora murder (see edit history)

Otserver Global - Open Tibia

angera.servegame.com

Link to post
Share on other sites

2 horas atrás, KotZletY disse:

@amora murder recompilou a source e está utilizando a nova compilação ? Aqui funciona perfeitamente!

Desculpa, mano... kkkk

Não compilei ¬¬

 

___________________________

 

Edit: @KotZletY compilei e não deu. É TFS 3.0 que vc usa?

Mas enfim, valeu a tentativa hahah

Edited by amora murder (see edit history)

Otserver Global - Open Tibia

angera.servegame.com

Link to post
Share on other sites

@amora murder tanto em 0.4 quanto em 0.3.6, fiz em 0.3.6.

 

TFS 3.0 ? Nunca nem vi. FHuoahsd

TFS 1.3 você quis dizer né ?:

if (player->getLevel() < 100) { // 100 level min to send pm.
	player->sendTextMessage(MESSAGE_STATUS_SMALL, "You need to be level 100 to send pm.");
	return false;
}

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link to post
Share on other sites

1 minuto atrás, KotZletY disse:

@amora murder tanto em 0.4 quanto em 0.3.6, fiz em 0.3.6.

 

TFS 3.0 ? Nunca nem vi. FHuoahsd

TFS 1.3 você quis dizer né ?:


if (player->getLevel() < 100) { // 100 level min to send pm.
	player->sendTextMessage(MESSAGE_STATUS_SMALL, "You need to be level 100 to send pm.");
	return false;
}

 

Não não... Quis dizer OTX 3.0*****

UEHuehuEH

Otserver Global - Open Tibia

angera.servegame.com

Link to post
Share on other sites

Citar

 

    bool canSee = player->canSeeCreature(toPlayer);
    if(toPlayer->hasCondition(CONDITION_GAMEMASTER, GAMEMASTER_IGNORE)
        && !player->hasFlag(PlayerFlag_CannotBeMuted))
    {
        char buffer[70];
        if(!canSee)
            sprintf(buffer, "A player with this name is not online.");
        else
            sprintf(buffer, "Sorry, %s is currently ignoring private messages.", toPlayer->getName().c_str());

        player->sendTextMessage(MSG_STATUS_SMALL, buffer);
        return false;
    }
 
 if(player->getLevel() < 100) { // 100 level min to send pm.
    player->sendTextMessage(MSG_STATUS_SMALL, "You need to be level 100 to send pm.");
    return false;
}

 

 ficara assim?

Edited by Syn Reward
edite (see edit history)
Link to post
Share on other sites

To doido pra testar isso... To pegando rabo pra compilar de novo ¬¬

Não tá criando o executável :72048efbac366efa33a571955592ba1a:

Não sei se tem a ver isso que tá aparecendo no putty
CMake Warning (dev) at CMakeLists.txt:1 (set):
Cannot set "tfs_SRC": current scope has no parent.
This warning is for project developers. Use -Wno-dev to suppress it.

Otserver Global - Open Tibia

angera.servegame.com

Link to post
Share on other sites

@amora murder asudhausdhasd.

 

@Syn Reward show. Sempre que alguém resolver um pedido de suporte seu marca como melhor resposta e não esqueça do rep!

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Confirmação de Termo