Jump to content
Close
narazaky

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

Recommended Posts

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

 

.                                                                                                                                                                                                              \/


Edited by narazaky (see edit history)

Te ajudei? Então Rep + ;)

Share this post


Link to post
Share on other 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)

Share this post


Link to post
Share on other 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 + ;)

Share this post


Link to post
Share on other 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)

Share this post


Link to post
Share on other sites

isso n da certo. da erro . n funciona


Share this post


Link to post
Share on other sites

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


Share this post


Link to post
Share on other sites

[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>


Share this post


Link to post
Share on other 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)


Share this post


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.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...