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 :
Code promo Nike : -25% dès 50€ d’achats sur tout le site Nike
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