Ir para conteúdo
  • Cadastre-se

[tutorial] Toda vez que logar o canal abre. (help, trade, etc..)


Posts Recomendados

O canal abre automaticamente e envia uma mensagem laranja

 

Primeiramente vai em creaturescript/ script e abra o arquivo login.lua

e procure por

	local accountManager = getPlayerAccountManager(cid)
	if(accountManager == MANAGER_NONE) then
		local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
		if(lastLogin > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
			str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
		else
			str = str .. " Please choose your outfit."
			doPlayerSendOutfitWindow(cid)
		end

antes de 

		if(lastLogin > 0) then

adicione isso:

				doPlayerOpenChannel(cid, CHANNEL_HELP)

pronto.

 Mas se você quer que abra outro canal só fazer o mesmo processo, mas no lugar de "CHANNEL_HELP" você coloca o ID do canal que vc querer

 

 

Mas se além disso quer que envia uma mensagem, é só depois disso colocar essa tag:

addEvent(valid(doPlayerSendChannelMessage), 150, cid, "", "MENSAQUEM QUE VAI APARECER.", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_HELP) --SE FOR EM OUTRO CANAL É SO POR O ID DELE NO LUGAR DO CHANNEL_HELP.

Pronto.

Para ver os IDs dos outros canais, vai em data/xml/channels.xml

e vai estar lá mais ou menos assim

<?xml version="1.0" encoding="UTF-8"?>
<channels>
 <!-- README:
  0 - dynamic, reserved for guilds
  1 - always acts as Party channel, only "name" tag available
  6 - acts as Help channel- clientsided message
  65535 - DO NOT CHANGE THE ID- only "name", "enabled", "active" and "logged" tags available
  -->
 <channel id="1" name="Party"/>
 <channel id="2" name="Counselor" access="1"/>
 <channel id="3" name="World Chat" level="2"/>
 <channel id="4" name="English Chat"/>
 <channel id="5" name="Advertising" level="8" muted="120" conditionId="3" conditionMessage="You may only place one offer in two minutes.">
  <vocation id="1-8"/>
 </channel>
 <channel id="6" name="Advertising-Rookgaard" level="2" muted="120" conditionId="4" conditionMessage="You may only place one offer in two minutes.">
  <vocation id="0"/>
 </channel>
 <channel id="7" name="Help" logged="yes"/>
 <channel id="8" name="English Chat" level="2"/>
 <channel id="9" name="Gamemaster Chat" access="3"/>
 <!-- <channel id="9" name="My Custom Channel"/> -->
 <channel id="65535" name="Private Chat Channel"/>
</channels>

 

procura o id do canal que você quer e pimpa

 

 

 

Créditos:

99% Narazaky

1% inspirado no ot do ADM MV

 

.                                                                                                                                                                                                              \/

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

Te ajudei? Então Rep + ;)

Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServScriptingCreatureScripts, GlobalEvents e MoveMents"

Para: "OTServScriptingTutoriais de Scripting"

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServScriptingCreatureScripts, GlobalEvents e MoveMents"

Para: "OTServScriptingTutoriais de Scripting"

Desculpa

Te ajudei? Então Rep + ;)

Link para o post
Compartilhar em outros sites

adicione isso:

                doPlayerOpenChannel(cid, CHANNEL_HELP)

pronto.

 Mas se você quer que abra outro canal só fazer o mesmo processo, mas no lugar de "CHANNEL_HELP" você coloca o ID do canal que vc querer

 

 

Mas se além disso quer que envia uma mensagem, é só depois disso colocar essa tag:

addEvent(valid(doPlayerSendChannelMessage), 150, cid, "", "MENSAQUEM QUE VAI APARECER.", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_HELP) --SE FOR EM OUTRO CANAL É SO POR O ID DELE NO LUGAR DO CHANNEL_HELP.

Pronto.

Para ver os IDs dos outros canais, vai em data/xml/channels.xml

e vai estar lá mais ou menos assim

 

 

<?xml version="1.0" encoding="UTF-8"?>

<channels>

 <!-- README:

  0 - dynamic, reserved for guilds

  1 - always acts as Party channel, only "name" tag available

  6 - acts as Help channel- clientsided message

  65535 - DO NOT CHANGE THE ID- only "name", "enabled", "active" and "logged" tags available

  -->

 <channel id="1" name="Party"/>

 <channel id="2" name="Counselor" access="1"/>

 <channel id="3" name="World Chat" level="2"/>

 <channel id="4" name="English Chat"/>

 <channel id="5" name="Advertising" level="8" muted="120" conditionId="3" conditionMessage="You may only place one offer in two minutes.">

  <vocation id="1-8"/>

 </channel>

 <channel id="6" name="Advertising-Rookgaard" level="2" muted="120" conditionId="4" conditionMessage="You may only place one offer in two minutes.">

  <vocation id="0"/>

 </channel>

 <channel id="7" name="Help" logged="yes"/>

 <channel id="8" name="English Chat" level="2"/>

 <channel id="9" name="Gamemaster Chat" access="3"/>

 <!-- <channel id="9" name="My Custom Channel"/> -->

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

</channels>

 

 

procura o id do canal que você quer e pimpa

 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 1 year later...
  • 2 years later...

nao funciona mesmo !

Unico problema é que não ta reconhecendo o (doPlayerOpenChannel).. a palavra não fica  em negrito da cor azul como as demais.. alguem sabe me dizer oq é ?

 

 

 

local config = {
    loginMessage = getConfigValue('loginMessage')
}

function onLogin(cid)
    local loss = getConfigValue('deathLostPercent')
    if(loss ~= nil) then
        doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 15)
    end
    
    local accountManager = getPlayerAccountManager(cid)
    if(accountManager == MANAGER_NONE) then
        local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
        doPlayerOpenChannel(cid, CHANNEL_HELP)
        if(lastLogin > 0) then 
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)                 
            str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
        else
            str = str .. " Please choose your outfit."
            doPlayerSendOutfitWindow(cid)
        end

        doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
    elseif(accountManager == MANAGER_NAMELOCK) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
    elseif(accountManager == MANAGER_ACCOUNT) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
    end

    if(not isPlayerGhost(cid)) then
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
    end

    registerCreatureEvent(cid, "Mail")
    registerCreatureEvent(cid, "GuildMotd")
    registerCreatureEvent(cid, "Idle")
    registerCreatureEvent(cid, "SkullCheck")
    registerCreatureEvent(cid, "ReportBug")
    registerCreatureEvent(cid, "SkullAmulet2")
    registerCreatureEvent(cid, "SkullAmulet3")
    registerCreatureEvent(cid, "SkullAmulet4")
    registerCreatureEvent(cid, "WeaponPar")
    registerCreatureEvent(cid, "LevelMax1")
    registerCreatureEvent(cid, "ArenaKill")
    -- if he did not make full arena 1 he must start from zero
    if getPlayerStorageValue(cid, 42309) < 1 then
        for i = 42300, 42309 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 2 he must start from zero
    if getPlayerStorageValue(cid, 42319) < 1 then
        for i = 42310, 42319 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 3 he must start from zero
    if getPlayerStorageValue(cid, 42329) < 1 then
        for i = 42320, 42329 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    if getPlayerStorageValue(cid, 42355) == -1 then
        setPlayerStorageValue(cid, 42355, 0) -- did not arena level
    end
    setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
    setPlayerStorageValue(cid, 42352, 0) -- is not in arena 
 
if getPlayerStorageValue(cid, 887979) ~= -1 then
doPlayerSetVocation(cid, getPlayerStorageValue(cid, 887979))
end
if getPlayerStorageValue(cid, 12036) == -1 then
setPlayerStorageValue(cid, 12036, 1)
end
    return true
end

Link para o post
Compartilhar em outros sites
  • 8 months later...

[08/04/2019 23:10:46] [Error - CreatureScript Interface] 
[08/04/2019 23:10:46] data/creaturescripts/scripts/login.lua:onLogin
[08/04/2019 23:10:46] Description: 
[08/04/2019 23:10:46] data/creaturescripts/scripts/login.lua:19: attempt to call global 'doPlayerOpenChannel' (a nil value)
[08/04/2019 23:10:46] stack traceback:
[08/04/2019 23:10:46]     data/creaturescripts/scripts/login.lua:19: in function <data/creaturescripts/scripts/login.lua:6>

Link para o post
Compartilhar em outros sites

function onLogin(cid)
    local loss = getConfigValue('deathLostPercent')
    if(loss ~= nil) then
        doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 20)
        doPlayerSetLossPercent(cid, PLAYERLOSS_ITEMS, loss * 100)
        doPlayerOpenChannel(cid, 8)
        doPlayerOpenChannel(cid, 6)

Link para o post
Compartilhar em outros sites
  • 4 weeks later...
  • 1 year later...
  • 1 month later...

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo