Realmcrafter France
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

Script AOE (Attaque de zone)

Aller en bas

Script AOE (Attaque de zone) Empty Script AOE (Attaque de zone)

Message par Giuliani Mer 25 Juin - 22:47

[quote]
COMMENT SCRIPTER AVEC RCCE?

_ Lancez Scriptorama
_ Se référer aux commandes de script
_ Sauvegardez vos script au format .rsl (le format .rcscript est l'ancien, il ne sert plus à rien, vous pouvez les supprimer).
_ Placez vos scripts dans \Data\Server Data\Scripts

_ Pour tester vos scripts sans perdre de temps => Lancez le serveur de RCS, débloquez updates et déconnectez-vous.
Ensuite ouvrez Data\Logs\ et cherchez les erreurs dans SERVER LOGS.TXT, le log vous indiquera le type d’erreur et la ligne. ex:PARSE ERROR est une erreur d'orthographe ou oubli de symbole
_ S'il n'y a aucune erreur signalée dans le log, relancez le serveur et testez en jeu

Function aoe()
Player = Actor()
Target = NextActorInZone(Player)
AnimateActor(Player, "Two hand attack", 1)  ; On utilisera cette animation pour cette attaque.

If Target <> Player
 Repeat
  Dmgtrue% = 0
  DistCheck# = ActorDistance(Player, Target)
  If(Distcheck < 13.5)
   Dmgtrue% = 1
  Endif

TargetFaction$ = HomeFaction(Target)
  FactionRate% = FactionRating(Actor(), TargetFaction)
  If(FactionRate > 0)
   Dmgtrue% = 0
  EndIf
 
If(Dmgtrue = 1)
   EnemyHealth% = Attribute(Target, "Health")
   DamageAmount% = Rand(1,40) + 500    ; Dommages aléatoires causés aux ennemis
  DamageDealt% = EnemyHealth - DamageAmount
   TargetsTarget = ActorTarget(Target)
   If(TargetsTarget > 0)
    AggroCal = Rand(1,4)
    If(AggroCal = 1)
     SetActorTarget(Target, Player)
     SetActorAIState(Target, 3)
    Endif
   Endif
 
If(TargetsTarget = 0)
    SetActorTarget(Target, Player)
    SetActorAIState(Target, 3)
   Endif
 
If(DamageAmount < EnemyHealth)
    CreateEmitter(Target, "Blood", 15, 500)
    SetAttribute(Target, "Health", DamageDealt)
    EnemyName$ = Name(Target)
    Output(Player, EnemyName + " Received " + DamageAmount + " damage.", 255, 255, 255)     ; Affiche l'ID de l'actor, pas le nom.
   Else
    KillActor(Target, Player)
    Target = NextActorInZone(Player)
   Endif
  Endif
 
Target = NextActorInZone(Target)
 Until Player = Target
EndIf

Return
End Function
Giuliani
Giuliani
Admin

Messages : 263
Points : 424
Date d'inscription : 25/06/2014
Age : 45
Localisation : Toulouse

https://realmcrafter.1fr1.net

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum