Ir para conteúdo
  • 0

Passa por tile e manda msg


Zikaduh

Pergunta

Nesse últimos dia eu velho fazendo muito pedido mas eu to fazendo isso pq deu um problema no meu pc e eu acabei perdendo muitas script e eu n tenho mas o skype da pessoa que fez esses script então eu to aqui pedindo pra min ajuda.

-------------------------------------------------------------------------------

Obs: No meu servidor todos os player tem guild

E o seguinte quando tal player de tal guild passa em um tile ele vai manda uma msg em vermelho pra todo mundo.

 

n so um bom de script mais:

 

-->quando o player pisa em uma UniqueId(2201) ele ganhe tal storage (8881)(so n ganha ela se vc for da GuildId 5) mas quando ele pisa em outa UniqueID(2202) ele perca essa strorage e parecença a.

 

Msg:(nome do jogado) da nação (nome da guild) acaba de invadir a cidade.Capturem ele.

 

e quando ela pisa em outra UniqueID(2203) ganhe tal Storage (8882)(so n ganha ela se vc for da GuildId 5) mas quando ele de volta na UniqueID(2202) ele perca essa strorage e parecença a.

 

(nome do jogado) da nação (nome da guild) acaba de fujir pra fora da cidade.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

script:


function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    if item.uniqueid == 2201 and getPlayerGuildId(cid) ~= 5 then
        doPlayerSetStorageValue(cid, 8881, 1)
    elseif item.uniqueid == 2203 and getPlayerGuildId(cid) ~= 5 then
        doPlayerSetStorageValue(cid, 8882, 1)
    end
    
    if item.uniqueid == 2202 then
        if getPlayerStorageValue(cid, 8881) == 1 then
            doPlayerSetStorageValue(cid, 8881, 0)
            doBroadcastMessage("" .. getPlayerName(cid) .. " da nacao " .. getPlayerGuildName(cid) .. " acaba de invadir a cidade. Capturem ele.", 1)
        elseif getPlayerStorageValue(cid, 8882) == 1 then
            doPlayerSetStorageValue(cid, 8882, 0)
            doBroadcastMessage(" " .. getPlayerName(cid) .. " da nacao " .. getPlayerGuildName(cid) .. " acaba de fugir da cidade.", 1)
        end
    end
    return true
end

Tag:

<movevent event="StepIn" uniqueid="2201;2202;2203" script="SCRIPT.lua" />
Link para o comentário
Compartilhar em outros sites

  • 0

vo testa jaja eu falo


não deu erro no distro mais tambem n ta funcionando


né movement?


----------------------------------------------------------------

se de pra fazer de outro jeito que de pra controla pela posição ou que n use strorage.

eu so presciso que quando ele passa pelo local mande a msg mais quando ele volta ele mande a outra msg e so não mande a msg se for idguild 5

Link para o comentário
Compartilhar em outros sites

  • 0

Blz ou então vc poder fazer assim quando ele passa pelo tile ele ganhe uma strorage ai quando ele ganha essa storage mande a msg ai quando ele volta ele perde essa strorage e manda a outra msg. so que quando ele morre ele perca a strorage também e manda outra msg falando :(nome do Player) morreu quando tentava invadir a cidade.

Link para o comentário
Compartilhar em outros sites

  • 0

Entendi vou fazer agr pra vc

 

-- Edit

 

data/movements/scripts cria invadircity.lua e coloca


local storage = 123456 

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) 
    if not isPlayer(cid) then return false end
        if getPlayerStorageValue(cid, storage) < 1 and getPlayerGuildId(cid) ~= 5 then 
            doPlayerSetStorageValue(cid, storage, 1) 
            doBroadcastMessage(" " .. getCreatureName(cid) .. " da nacao " .. getPlayerGuildName(cid) .. " acaba de invadir a cidade. Capturem ele!") 
        elseif getPlayerStorageValue(cid, storage) == 1 and getPlayerGuildId(cid) ~= 5 then 
            doPlayerSetStorageValue(cid, storage, 0) 
            doBroadcastMessage(" " .. getCreatureName(cid) .. " da nacao " .. getPlayerGuildName(cid) .. " saiu da cidade.") 
        end 
        return true 
    end

Em data/movements/movements.xml vc coloca

<movevent type="StepIn" actionid="4312" event="script" value="invadircity.lua"/>

No piso vc coloca a actionid 4312

 

 

Em data/creaturescripts/scripts cria morreucity.lua e coloca


local storage = 123456

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
    if getPlayerStorageValue(cid, storage) == 1 then
        doPlayerSetStorageValue(cid, storage, 0)
        doBroadcastMessage(" " .. getCreatureName(cid) .. " morreu tentando invadir a cidade.")
    end
    return true
end

Em data/creaturescripts/creaturescripts.xml coloca

<event type="preparedeath" name="MorrerCity" event="script" value="morreucity.lua"/>

Em login.lua vc coloca

registerCreatureEvent(cid, "MorreuCity")
Editado por amoeba13
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...