• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    script anti recompensa por usar multiclient

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1default script anti recompensa por usar multiclient el Miér Mar 25, 2020 12:25 pm

    jnulloa

    jnulloa
    Nuevo Miembro
    Nuevo Miembro
    Hola!
    En mi server, cuando un player mata a otro, recibe un item como recompensa. Necesito un script que impida que el player reciba esta recompensa si está usando multiclient.
    El script que estoy usando para dar la recompensa es este:

    Código:
    local config = {
        affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for?
     
        killStorageValue = 3943,
        deathStorageValue = 3944,
     
        -- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME
        rewardItem = {
            use = true,
            itemid = 5953,
            minLevel = false, -- false if you don't want any level req
            minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
            text = "This marijuana belongs to |TARGETNAME| [|TARGETLEVEL|] who was killed by |KILLERNAME| [|KILLERLEVEL|]."
        },
     
        killMessage = {
            use = true,
            text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!",
            messageClass = MESSAGE_STATUS_CONSOLE_BLUE
        },
     
        broadcastMessage = {
            use = true,
            minLevel = false, -- false if you don't want any level req
            minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
            text = "|KILLERNAME| [|KILLERLEVEL|] just killed |TARGETNAME| [|TARGETLEVEL|]!",
            messageClass = MESSAGE_STATUS_WARNING
        },
     
        killerAnimation = {
            use = true,
            text = "Frag!", -- Only 9 letters! No "commands" here.
            color = 215
        },
     
        targetAnimation = {
            use = true,
            text = "Owned!", -- Only 9 letters! No "commands" here.
            color = 215
        }
    }
     
    function onDeath(cid, corpse, deathList)
        for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do
            local killer = deathList[i]
            if(isPlayer(killer) == TRUE) then
                local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1
                local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1
     
                local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1
                local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1
     
                setPlayerStorageValue(killer, config.killStorageValue, targetKills)
                setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths)
     
                local killerLevel = getPlayerLevel(killer)
                local targetLevel = getPlayerLevel(cid)
                local levelDiff = targetLevel - killerLevel
     
                local values = {
                    ["KILLERKILLS"] = killerKills,
                    ["KILLERDEATHS"] = killerDeaths,
                    ["KILLERNAME"] = getCreatureName(killer),
                    ["KILLERLEVEL"] = killerLevel,
     
                    ["TARGETKILLS"] = targetKills,
                    ["TARGETDEATHS"] = targetDeaths,
                    ["TARGETNAME"] = getCreatureName(cid),
                    ["TARGETLEVEL"] = targetLevel
                }
     
                function formateString(str)
                    return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))
                end
     
                if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then
                    local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 1)
                 doItemSetAttribute(uid, "description", formateString(config.rewardItem.text))
                end
                if(config.killMessage.use) then
                    doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text))
                end
                if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then
                    broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass)
                end
                if(config.killerAnimation.use) then
                    doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color)
                end
                if(config.targetAnimation.use) then
                    doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color)
                end
            end
        end
     
        return true
    end


    gracias!

    2default Re: script anti recompensa por usar multiclient el Miér Mar 25, 2020 4:31 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    le doy una jemplo use asi su sistema de quest


    Código:
    if #getPlayersByIp(getPlayerIp(pid)) == 1 then

    doPlayerAddItem(cid,6527,1) -- Here is the line that give item to all winer

    else
    doPlayerPopupFYI(cid, "Multi-client!")
    end



    script anti recompensa por usar multiclient YNU5B25
    https://www.tibiaface.com

    3default Re: script anti recompensa por usar multiclient el Miér Mar 25, 2020 6:38 pm

    jnulloa

    jnulloa
    Nuevo Miembro
    Nuevo Miembro
    No funciona. Solo parece el cuadro de textoque dice"multi-client", pero aún así el jugador recibe la recompensa al matar a otro usando MC.

    4default Re: script anti recompensa por usar multiclient el Miér Mar 25, 2020 7:02 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    aqui tienes

    Código:

            local config = {
                affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for?
           
                killStorageValue = 3943,
                deathStorageValue = 3944,
           
                -- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME
                rewardItem = {
                    use = true,
                    itemid = 5953,
                    minLevel = false, -- false if you don't want any level req
                    minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
                    text = "This marijuana belongs to |TARGETNAME| [|TARGETLEVEL|] who was killed by |KILLERNAME| [|KILLERLEVEL|]."
                },
           
                killMessage = {
                    use = true,
                    text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!",
                    messageClass = MESSAGE_STATUS_CONSOLE_BLUE
                },
           
                broadcastMessage = {
                    use = true,
                    minLevel = false, -- false if you don't want any level req
                    minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
                    text = "|KILLERNAME| [|KILLERLEVEL|] just killed |TARGETNAME| [|TARGETLEVEL|]!",
                    messageClass = MESSAGE_STATUS_WARNING
                },
           
                killerAnimation = {
                    use = true,
                    text = "Frag!", -- Only 9 letters! No "commands" here.
                    color = 215
                },
           
                targetAnimation = {
                    use = true,
                    text = "Owned!", -- Only 9 letters! No "commands" here.
                    color = 215
                }
            }
           
            function onDeath(cid, corpse, deathList)
     local killer = deathList[i]

    if getPlayerIp(cid) == getPlayerIp(killer) and string.lower(allowSelfLeveling) ~= "yes" then
             doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "no puto.")
             return true
          end





                for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do
                 
                    if(isPlayer(killer) == TRUE) then
                        local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1
                        local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1
           
                        local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1
                        local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1
           
                        setPlayerStorageValue(killer, config.killStorageValue, targetKills)
                        setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths)
           
                        local killerLevel = getPlayerLevel(killer)
                        local targetLevel = getPlayerLevel(cid)
                        local levelDiff = targetLevel - killerLevel
           
                        local values = {
                            ["KILLERKILLS"] = killerKills,
                            ["KILLERDEATHS"] = killerDeaths,
                            ["KILLERNAME"] = getCreatureName(killer),
                            ["KILLERLEVEL"] = killerLevel,
           
                            ["TARGETKILLS"] = targetKills,
                            ["TARGETDEATHS"] = targetDeaths,
                            ["TARGETNAME"] = getCreatureName(cid),
                            ["TARGETLEVEL"] = targetLevel
                        }
           
                        function formateString(str)
                            return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))
                        end
           
                        if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then
                            local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 1)
                        doItemSetAttribute(uid, "description", formateString(config.rewardItem.text))
                        end
                        if(config.killMessage.use) then
                            doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text))
                        end
                        if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then
                            broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass)
                        end
                        if(config.killerAnimation.use) then
                            doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color)
                        end
                        if(config.targetAnimation.use) then
                            doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color)
                        end
                    end
                end
           
                return true
            end



    script anti recompensa por usar multiclient YNU5B25
    https://www.tibiaface.com

    jnulloa

    jnulloa
    Nuevo Miembro
    Nuevo Miembro
    Gracias!!!! Funcionó!

    jnulloa

    jnulloa
    Nuevo Miembro
    Nuevo Miembro
    Very Happy Resuelto Gracias Very Happy

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Tema Resuelto



    script anti recompensa por usar multiclient YNU5B25
    https://www.tibiaface.com

    Contenido patrocinado


    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).