Solved Team Hearts

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

  • LOOKING FOR A VERSION OF SKRIPT?

    You can always check out skUnity Downloads for downloads and any other information about Skript!

Status
Not open for further replies.

Lennart Raff

Member
Sep 16, 2019
3
0
0
20
Hey guys,
I created a Skript where you can join a team. Now i want everybody in the team to get damage if someone else gets damage. So that they all share a specific amount of hearts! Can you help me?
This is what i tried. But it didnt work:


on damage of a player:
if {team.in.%player%} = "1":
loop all players:
if {team.in.%player%} = {team.in.%loop player%}:
damage loop player
 
Can you send the full code?
Sure: (Messages are in german)

Code:
options:

    #PREFIX
    
    prefix: &8[&2&lTeams&8]

    #MESSAGES
    
    already-with-the-name: &aDieses Team gibt es bereits
    successfully-created: &aDu hast erfolgreich das Team &b'%message%&b' &aerstellt
    you-are-in-a-team: &aDu bist bereits in einem Team benutze bitte /team leave wenn du ein weiteres erstellen willst
    please-type-the-name: &aSchreibe bitte den Namen des Teams in den Chat
    you-are-not-in-a-team: &aDu bist derzeit in keinem Team
    successfully-sent-invite: &aDu hast erfolgreich &b%arg-2% &ain dein Team eingeladen
    cant-invite-this-time: &cDu kannst &b%arg-2% &cderzeit nicht einladen...versuch es später nochmal
    invited-has-a-team: &b%arg-2% &chat bereits ein Team
    successfully-joined: &aDu bist erfolgreich dem Team '&b%{teams.invited.to.%player%}%&f' &2&lbeigetreten
    havent-received-any-invite: &cDu hast keine Einladung erhalten
    successfully-declined: &aDu hast die Einladung zum Team '&b%{teams.invited.to.%player%}%&f'&c&labgelehnt
    friendly-fire: &aFriendly-Fire &cist nicht eingeschaltet
    successfully-left: &aDu hast erfolgreich dein Team verlassen
    no-permission: &cDas darfst du leider nicht
    
    #INVITE LINES
    
    invite-line-1: &b%player% &ahat dich eingeladen seinem Team beizutreten
    invite-line-2: &aNutze '&b/team accept&f' &aum anzunehmen
    invite-line-3: &aNutze '&b/team decline&f' &aum abzulehnen
    
on first join:
    set {team.in.%player%} to "0"

on chat:
    cancel event
    if {team.in.%player%} = "1":
        broadcast "&a%{team.%player%}% &b| %colored player's prefix% &7%player% &8» %message%"
    else:
        broadcast "%colored player's prefix% &7%player% &8» %message%"
        
on chat:
    if {team.creating.%player%} = "1":
        if {team.in.%player%} = "0":
            if {team.%message%} is true:
                send "{@Prefix} {@already-with-the-name}"
            else:
                set {team.in.%player%} to "1"
                set {team.%player%} to "%message%"
                set {team.%message%} to true
                send "{@Prefix} {@successfully-created}"
                set {team.creating.%player%} to "0"
        else:
            send "{@Prefix} {@you-are-in-a-team}"
            
command /superleave:
    trigger:
        if player has permission "teams.admin":
            set {team.in.%player%} to "0"
on join:
    set {team.creating.%player%} to "0"
    set {team.invited.%player%} to "0"

command /team [<text>] [<player>]:
    trigger:
        if arg-1 is "create":
            if {team.in.%player%} = "0":
                send "{@prefix} {@please-type-the-name}"
                set {team.creating.%player%} to "1"
            else:
                send "{@prefix} {@you-are-in-a-team}"
        if arg-1 is "leave":
            if {team.in.%player%} = "1":
                delete {team.%player%}
                set {team.in.%player%} to "0"
                send "{@prefix} {@successfully-left}"
            else:
                send "{@prefix} {@you-are-not-in-a-team}"
        if arg-1 is "invite":
            if {team.in.%player%} = "1":
                if {team.in.%arg-2%} = "0":
                    if {team.invited.%arg-2%} = "0":
                        set {team.invited.%arg-2%} to "1"
                        set {team.invited.to.%arg-2%} to "%{team.%player%}%"
                        wait 1 tick
                        send "{@prefix} {@invite-line-1}" to arg-2
                        wait 1 tick
                        send "{@prefix} {@invite-line-2}" to arg-2
                        wait 1 tick
                        send "{@prefix} {@invite-line-3}" to arg-2
                        wait 1 tick
                        send "{@prefix} {@successfully-sent-invite}"
                    else:
                        send "{@prefix} {@cant-invite-this-time}"
                else:
                    send "{@prefix} {@invited-has-a-team}"
            else:
                send "{@prefix} {@you-are-not-in-a-team}"
        if arg-1 is "accept":
            if {team.invited.%player%} = "1":
                if {team.in.%player%} = "0":
                    set {team.in.%player%} to "1"
                    set {team.%player%} to "%{team.invited.to.%player%}%"
                    send "{@prefix} {@successfully-joined}"
                    delete {team.invited.to.%player%}
                    set {team.invited.%player%} to "0"
                else:
                    send "{@prefix} {@you-are-in-a-team}"
            else:
                send "{@prefix} {@havent-received-any-invite}"
        if arg-1 is "decline":
            if {team.invited.%player%} = "1":
                send "{@prefix} {@successfully-declined}"
                set {team.invited.%player%} to "0"
                delete {team.invited.to.%player%}
            else:
                send "{@prefix} {@havent-received-any-invite}"
        if arg-1 is not set:
            send "&f----------------- &8Hilfe &7| &2&lTeams &f-------------------"
            send "&2/team create &8» &aErstelle dein eigenes Team"
            send "&2/team leave &8» &aVerlasse dein aktuelles Team"
            send "&2/team invite <Spieler> &8» &aLade jemanden zu deinem Team ein"
        
        if arg-1 is "reload": if player has permission "team.admin": execute console command "sk reload all" send "{@prefix} &2Du hast alle Skripts reloaded!" else: send "{@prefix} {@no-permission}"
        
on damage of a player:
    if {team.in.%attacker%} = "1":
        if {team.in.%victim%} = "1":
            if {team.%attacker%} = {team.%victim%}:
                send "{@prefix} {@friendly-fire}" to attacker
                cancel event
                
on join:
    if {team.in.%player%} = "1":
        set the maximum health of player to 12
        wait 1 tick
        heal player
        
on damage:
    loop all players:
        if {team.in.%player%} = {team.in.%loop-player%}:
            damage loop-player by %damage of player%
 
Sure: (Messages are in german)

Code:
options:

    #PREFIX
 
    prefix: &8[&2&lTeams&8]

    #MESSAGES
 
    already-with-the-name: &aDieses Team gibt es bereits
    successfully-created: &aDu hast erfolgreich das Team &b'%message%&b' &aerstellt
    you-are-in-a-team: &aDu bist bereits in einem Team benutze bitte /team leave wenn du ein weiteres erstellen willst
    please-type-the-name: &aSchreibe bitte den Namen des Teams in den Chat
    you-are-not-in-a-team: &aDu bist derzeit in keinem Team
    successfully-sent-invite: &aDu hast erfolgreich &b%arg-2% &ain dein Team eingeladen
    cant-invite-this-time: &cDu kannst &b%arg-2% &cderzeit nicht einladen...versuch es später nochmal
    invited-has-a-team: &b%arg-2% &chat bereits ein Team
    successfully-joined: &aDu bist erfolgreich dem Team '&b%{teams.invited.to.%player%}%&f' &2&lbeigetreten
    havent-received-any-invite: &cDu hast keine Einladung erhalten
    successfully-declined: &aDu hast die Einladung zum Team '&b%{teams.invited.to.%player%}%&f'&c&labgelehnt
    friendly-fire: &aFriendly-Fire &cist nicht eingeschaltet
    successfully-left: &aDu hast erfolgreich dein Team verlassen
    no-permission: &cDas darfst du leider nicht
 
    #INVITE LINES
 
    invite-line-1: &b%player% &ahat dich eingeladen seinem Team beizutreten
    invite-line-2: &aNutze '&b/team accept&f' &aum anzunehmen
    invite-line-3: &aNutze '&b/team decline&f' &aum abzulehnen
 
on first join:
    set {team.in.%player%} to "0"

on chat:
    cancel event
    if {team.in.%player%} = "1":
        broadcast "&a%{team.%player%}% &b| %colored player's prefix% &7%player% &8» %message%"
    else:
        broadcast "%colored player's prefix% &7%player% &8» %message%"
     
on chat:
    if {team.creating.%player%} = "1":
        if {team.in.%player%} = "0":
            if {team.%message%} is true:
                send "{@Prefix} {@already-with-the-name}"
            else:
                set {team.in.%player%} to "1"
                set {team.%player%} to "%message%"
                set {team.%message%} to true
                send "{@Prefix} {@successfully-created}"
                set {team.creating.%player%} to "0"
        else:
            send "{@Prefix} {@you-are-in-a-team}"
         
command /superleave:
    trigger:
        if player has permission "teams.admin":
            set {team.in.%player%} to "0"
on join:
    set {team.creating.%player%} to "0"
    set {team.invited.%player%} to "0"

command /team [<text>] [<player>]:
    trigger:
        if arg-1 is "create":
            if {team.in.%player%} = "0":
                send "{@prefix} {@please-type-the-name}"
                set {team.creating.%player%} to "1"
            else:
                send "{@prefix} {@you-are-in-a-team}"
        if arg-1 is "leave":
            if {team.in.%player%} = "1":
                delete {team.%player%}
                set {team.in.%player%} to "0"
                send "{@prefix} {@successfully-left}"
            else:
                send "{@prefix} {@you-are-not-in-a-team}"
        if arg-1 is "invite":
            if {team.in.%player%} = "1":
                if {team.in.%arg-2%} = "0":
                    if {team.invited.%arg-2%} = "0":
                        set {team.invited.%arg-2%} to "1"
                        set {team.invited.to.%arg-2%} to "%{team.%player%}%"
                        wait 1 tick
                        send "{@prefix} {@invite-line-1}" to arg-2
                        wait 1 tick
                        send "{@prefix} {@invite-line-2}" to arg-2
                        wait 1 tick
                        send "{@prefix} {@invite-line-3}" to arg-2
                        wait 1 tick
                        send "{@prefix} {@successfully-sent-invite}"
                    else:
                        send "{@prefix} {@cant-invite-this-time}"
                else:
                    send "{@prefix} {@invited-has-a-team}"
            else:
                send "{@prefix} {@you-are-not-in-a-team}"
        if arg-1 is "accept":
            if {team.invited.%player%} = "1":
                if {team.in.%player%} = "0":
                    set {team.in.%player%} to "1"
                    set {team.%player%} to "%{team.invited.to.%player%}%"
                    send "{@prefix} {@successfully-joined}"
                    delete {team.invited.to.%player%}
                    set {team.invited.%player%} to "0"
                else:
                    send "{@prefix} {@you-are-in-a-team}"
            else:
                send "{@prefix} {@havent-received-any-invite}"
        if arg-1 is "decline":
            if {team.invited.%player%} = "1":
                send "{@prefix} {@successfully-declined}"
                set {team.invited.%player%} to "0"
                delete {team.invited.to.%player%}
            else:
                send "{@prefix} {@havent-received-any-invite}"
        if arg-1 is not set:
            send "&f----------------- &8Hilfe &7| &2&lTeams &f-------------------"
            send "&2/team create &8» &aErstelle dein eigenes Team"
            send "&2/team leave &8» &aVerlasse dein aktuelles Team"
            send "&2/team invite <Spieler> &8» &aLade jemanden zu deinem Team ein"
     
        if arg-1 is "reload": if player has permission "team.admin": execute console command "sk reload all" send "{@prefix} &2Du hast alle Skripts reloaded!" else: send "{@prefix} {@no-permission}"
     
on damage of a player:
    if {team.in.%attacker%} = "1":
        if {team.in.%victim%} = "1":
            if {team.%attacker%} = {team.%victim%}:
                send "{@prefix} {@friendly-fire}" to attacker
                cancel event
             
on join:
    if {team.in.%player%} = "1":
        set the maximum health of player to 12
        wait 1 tick
        heal player
     
on damage:
    loop all players:
        if {team.in.%player%} = {team.in.%loop-player%}:
            damage loop-player by %damage of player%
So, try this:
code_language.skript:
on damage:
    victim is a player
    loop all players:
        if {team.in.%loop-player%} contains {team.in.%victim%}:
            damage loop-player by victim's damage
I didn't tried but i think that it will work.
 
So, try this:
code_language.skript:
on damage:
    victim is a player
    loop all players:
        if {team.in.%loop-player%} contains {team.in.%victim%}:
            damage loop-player by victim's damage
I didn't tried but i think that it will work.

THANKS! I will try it out
 
Status
Not open for further replies.