Dropando pokemon ao morrer

Hisokafailll
em Resolvidos

Hisokafailll

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/01/17Posts: 15

Tenho um servidor de poketibia,e as vezes (é relativamente raro),quando um player morre ele dropa o pokemon que estava usando,gostaria de saber se alguém já de deparou com esse problema antes,e como posso conserta-lo... (Já que é impossível ficar devolvendo todos pokemons que tiverem relatos de perdas)

 

 

 

Obrigado,valendo rep :thumbsupsmiley2:

 

 

Ops:Sla se aqui é assim que fala,mas vocês entenderam 

Deadpool

!!!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/11Posts: 2175Gênero: MasculinoChar no Tibia: Sociopata

posta seu login.lua. fica em data/creaturescirpt

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 

 

 

 

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

Hisokafailll

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/01/17Posts: 15
5 minutos atrás, Deadpool disse:

posta seu login.lua. fica em data/creaturescirpt

Login.lua:

Citar

local config = {

    loginMessage = getConfigValue('loginMessage'),

    useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))

}

function onLogin(cid)

local accountManager = getPlayerAccountManager(cid)

if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 80 then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 50)

doCreatureSetDropLoot(cid, false)

end

if getPlayerLevel(cid) >= 81 and getPlayerLevel(cid) <= 149 then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 40)

doCreatureSetDropLoot(cid, false)

end

if getPlayerLevel(cid) >= 150 and getPlayerLevel(cid) <= 799 then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 25)

doCreatureSetDropLoot(cid, false)

end

if getPlayerLevel(cid) >= 800 then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 15)

doCreatureSetDropLoot(cid, false)

end

    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

        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 getCreatureName(cid) == "Account Manager" then

        local outfit = {}

        if accountManagerRandomPokemonOutfit then

            outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])}

        else

            outfit = accountManagerOutfit

        end

    

        doSetCreatureOutfit(cid, outfit, -1)

    return true

    end

    if(not isPlayerGhost(cid)) then

        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

    end

    local outfit = {}

    if getPlayerVocation(cid) == 0 then

        doPlayerSetMaxCapacity(cid, 0)

        doPlayerSetVocation(cid, 1)

        setCreatureMaxMana(cid, 6)

        doPlayerAddSoul(cid, -getPlayerSoul(cid))

        setPlayerStorageValue(cid, 19898, 0)

            if getCreatureOutfit(cid).lookType == 128 then

                outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

            elseif getCreatureOutfit(cid).lookType == 136 then

                outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}

            end

        doCreatureChangeOutfit(cid, outfit)

    end

    registerCreatureEvent(cid, "dropStone")

    registerCreatureEvent(cid, "ShowPokedex") --alterado v1.6

    registerCreatureEvent(cid, "ClosePokedex") --alterado v1.6

    registerCreatureEvent(cid, "WatchTv")

    registerCreatureEvent(cid, "StopWatchingTv")

    registerCreatureEvent(cid, "WalkTv")

    registerCreatureEvent(cid, "RecordTv")

    registerCreatureEvent(cid, "PlayerLogout")

    registerCreatureEvent(cid, "WildAttack")

    registerCreatureEvent(cid, "Idle")

    registerCreatureEvent(cid, "PokemonIdle")

    registerCreatureEvent(cid, "EffectOnAdvance")

    registerCreatureEvent(cid, "GeneralConfiguration")

    registerCreatureEvent(cid, "ReportBug")

    registerCreatureEvent(cid, "LookSystem")

    registerCreatureEvent(cid, "T1")

    registerCreatureEvent(cid, "T2")

    registerCreatureEvent(cid, "task_count")

    registerCreatureEvent(cid, "pokemons")

    registerCreatureEvent(cid, "tkexp")

    

    addEvent(doSendAnimatedText, 500, getThingPosWithDebug(cid), "Bem Vindo!!", COLOR_BURN)

    if getPlayerStorageValue(cid, 99284) == 1 then

        setPlayerStorageValue(cid, 99284, -1)

    end

    if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then

       setPlayerStorageValue(cid, 6598754, -1)

       setPlayerStorageValue(cid, 6598755, -1)

       doRemoveCondition(cid, CONDITION_OUTFIT)             --alterado v1.9 \/

       doTeleportThing(cid, posBackPVP, false)

       doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

    end

    

    doChangeSpeed(cid, -(getCreatureSpeed(cid)))

    

    --///////////////////////////////////////////////////////////////////////////--

    local storages = {17000, 63215, 17001, 13008, 5700}

    for s = 1, #storages do

        if not tonumber(getPlayerStorageValue(cid, storages)) then

           if s == 3 then

              setPlayerStorageValue(cid, storages, 1)

           elseif s == 4 then

              setPlayerStorageValue(cid, storages, -1)

           else   

              if isBeingUsed(getPlayerSlotItem(cid, 8).itemid) then

                 setPlayerStorageValue(cid, storages, 1)                 

              else

                 setPlayerStorageValue(cid, storages, -1)

              end

           end

           doPlayerSendTextMessage(cid, 27, "Sorry, but a problem occurred on the server, but now it's alright")

        end

    end

    --/////////////////////////////////////////////////////////////////////////--

    if getPlayerStorageValue(cid, 17000) >= 1 then -- fly

        

        local item = getPlayerSlotItem(cid, 8):

        local poke = getItemAttribute(item.uid, "poke")

        doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))

        doRemoveCondition(cid, CONDITION_OUTFIT)

        doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1)

    local apos = getFlyingMarkedPos(cid)

    apos.stackpos = 0

        

            if getTileThingByPos(apos).itemid <= 2 then

                doCombatAreaHealth(cid, FIREDAMAGE, getFlyingMarkedPos(cid), 0, 0, 0, CONST_ME_NONE)

                doCreateItem(460, 1, getFlyingMarkedPos(cid))

            end

    doTeleportThing(cid, apos, false)

    if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then   

       sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")])                     --alterado v1.8

    end  

 

    local posicao = getTownTemplePosition(getPlayerTown(cid))

    markFlyingPos(cid, posicao)

    

    elseif getPlayerStorageValue(cid, 63215) >= 1 then -- surf

        local item = getPlayerSlotItem(cid, 8):

        local poke = getItemAttribute(item.uid, "poke")

        doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1) --alterado v1.6

        doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))

        if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then   

           sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")])                     --alterado v1.8

        end

    elseif getPlayerStorageValue(cid, 17001) >= 1 then -- ride

        

        local item = getPlayerSlotItem(cid, 8):

        local poke = getItemAttribute(item.uid, "poke")

        

        

        if rides[poke] then

           doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))

           doRemoveCondition(cid, CONDITION_OUTFIT)

           doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1)

           if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then   

              sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")])                     --alterado v1.8

           end

        else

           setPlayerStorageValue(cid, 17001, -1)

           doRegainSpeed(cid)   

        end

    

        local posicao2 = getTownTemplePosition(getPlayerTown(cid))

        markFlyingPos(cid, posicao2)

        

    elseif getPlayerStorageValue(cid, 13008) >= 1 then -- dive

       if not isInArray({5405, 5406, 5407, 5408, 5409, 5410}, getTileInfo(getThingPos(cid)).itemid) then

            setPlayerStorageValue(cid, 13008, 0)

            doRegainSpeed(cid)              

            doRemoveCondition(cid, CONDITION_OUTFIT)

        return true

        end   

          

       if getPlayerSex(cid) == 1 then

          doSetCreatureOutfit(cid, {lookType = 1034, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1)

       else

          doSetCreatureOutfit(cid, {lookType = 1035, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1)

       end

       doChangeSpeed(cid, 800)

     elseif getPlayerStorageValue(cid, 5700) > 0 then   --bike

        doChangeSpeed(cid, -getCreatureSpeed(cid))

        doChangeSpeed(cid, getPlayerStorageValue(cid, 5700))  --alterado v1.8

        if getPlayerSex(cid) == 1 then

           doSetCreatureOutfit(cid, {lookType = 1394}, -1)

        else

           doSetCreatureOutfit(cid, {lookType = 1393}, -1)

        end

     

     elseif getPlayerStorageValue(cid, 75846) >= 1 then     --alterado v1.9 \/

        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)  

        setPlayerStorageValue(cid, 75846, -1)

        sendMsgToPlayer(cid, 20, "You have been moved to your town!")

     else

        doRegainSpeed(cid)  

     end

    

    if getPlayerStorageValue(cid, 22545) >= 1 then

       setPlayerStorageValue(cid, 22545, -1)              

       doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false)

       setPlayerRecordWaves(cid)     

    end

    

if useKpdoDlls then

  doUpdateMoves(cid)

  doUpdatePokemonsBar(cid)

  onPokeHealthChange(cid)

end

    return true

end

 

 

kaleudd

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 15/06/15Posts: 729

ele dropa a pokeball com o pokémon ?

Hisokafailll

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/01/17Posts: 15
1 hora atrás, kaleudd disse:

ele dropa a pokeball com o pokémon ?

Isso

Fjinst

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 26/04/08Posts: 251Gênero: MasculinoChar no Tibia: Senhor Mithril

Não sei se já possui no seu servidor, crie um arquivo em creaturescripts/scripts

chamado protecao.lua

 

coloque isso

 

function onDeath(cid, corpse, deathList)if isPlayer(cid) thendoSetCreatureDropLoot(cid, false)end	return trueend

 

abra o login.lua e coloque isso antes do ultimo return true

 

registerCreatureEvent(cid, "protecao")

 

agora em creaturescripts.xml coloque

 

	<event type="death" name="protecao" event="script" value="protecao.lua"/>	

 

bom, esse mini-script é para evitar que jogadores dropem loot ao morrer.

 

I dont nothing to show, if u see this, sorry for you lose you time

DuuhCarvalho

:)
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 19/01/12Posts: 988Gênero: MasculinoChar no Tibia: Xerife Woody

Duvida resolvida, posso mover o tópico ?

Hisokafailll

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/01/17Posts: 15
8 horas atrás, Ed'Specter disse:

Duvida resolvida, posso mover o tópico ?

Creio eu que sim,obrigado.

Jakson Souza

cout << "Hello world!";
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/10/13Posts: 504Gênero: Masculino
11 minutos atrás, Taiger disse:

Onde esta a solução?

Acredito que ele usou a solução do @Fjinst.

                                      0Vsoo6A.png                                WfsgI4h.png
 
O maior erro que você pode cometer, é o de ficar o tempo todo com medo de cometer algum.