-
.
Ogni eroe ha generalmente cinque abilitą speciali che possono avere un valore compreso tra 0 e 10.
Le costanti che rappresentano le abilitą speciali di un eroe sono le seguenti 25:
hsAdministration //Prestigio.
hsTeamAttack //Superioritą offensiva.
hsTeamDefense //Superioritą difensiva.
hsQuickMarch //Marcia forzata.
hsEpicEndurance //Resistenza eroica.
hsDiscipline //Erudizione.
hsLeadership //Maestria.
hsEpicAttack //Attacco eroico.
hsConcealment //Movimento sfuggente.
hsRecovery //Recupero.
hsScout //Esplorazione.
hsEuphoria //Euforia.
hsVigor //Vigore.
hsEgoism //Fedeltą.
hsWisdom //Saggezza.
hsDefensiveCry //Chiamata alla difesa.
hsAssault //Gesta.
hsBattleCry //Prodezza.
hsSurvival //Sopravvivenza.
hsCharge //Carisma.
hsCeasefire //Tregua.
hsRush //Aggressione.
hsFrenzy //Audacia.
hsEpicArmor //Difesa eroica.
hsHealing //Guarigione.
Si consideri lo script:
ScriptEroe.obj.AsHero().SetSkill(abilitąSpeciale , puntiAbilitą);
(dove ScriptEroe indica il nome che č stato dato all'eroe, abilitąSpeciale indica una delle 25 abilitą sopra scritte, puntiAbilitą indica il numero di punti assegnati a questa abilitą).
Esso consente di gestire le abilitą speciali di un eroe.
Assumiamo, ad esempio, che l'eroe abbia l'abilitą Gesta (hsAssault). Se in una sequenza scrivessimo (relazione 1):
ScriptEroe.obj.AsHero().SetSkill(hsAssault , 3);
Allora all'eroe sarą settata l'abilitą Gesta a 3 punti.
All'inizio č stato scritto che l'eroe puņ avere generalmente cinque abilitą. Tuttavia, se supponiamo che l'eroe abbia cinque abilitą e fra queste non ci sia, ad esempio, Sopravvivenza (hsSurvival), se in una sequenza scrivessimo (relazione 2):
ScriptEroe.obj.AsHero().SetSkill(hsSurvival , 0);
l'eroe avrą sei abilitą e non pił cinque. Si noti che il valore zero dell'esempio precedente puņ essere sostituito con qualunque numero intero compreso fra (0 e 10).
Allo stesso tempo, se nel corso della partita volessimo rimuovere un'abilitą speciale dell'eroe, basterą scrivere in una sequenza (relazione 3):
ScriptEroe.obj.AsHero().SetSkill(abilitąSpeciale , -1);
Si noti che l'abilitą speciale deve appartenerne all'eroe perché altrimenti non avrebbe senso usare lo script. E si noti sopratutto che, in questo caso, il valore -1 č di fondamentale importanza e non puņ essere sostituito con alcun altro numero.
Per concludere, se si volesse nel corso di una partita sostituire un'abilitą con un'altra, basterą usare in cascata prima la relazione 3 e poi la relazione 2.
Spero sia stato tutto chiaro. Per ulteriori chiarimenti chiedete pure, ma nella apposita sezione!
Buona permanenza sul forum!
. -
19supreme.
User deleted
Ricky questo tutorial č incompleto,manca il GetSkill metodo importantissimo. . -
.
Ci sarą sempre il tempo per trattarlo . -
19supreme.
User deleted
Ricky sarebbe meglio che metti anche il prototipo delle funzioni/metodi che trovi su dump try,in questo caso sarebbe: Hero::SetSpecial(int a,int b); obj e AsHero sarebbero dei casting... . -
.
Sģ, hai ragione! Penso anch'io che sarebbe meglio.
Tuttavia, ritengo che alla maggior parte degli utenti non importi nulla di conoscere il prototipo di una funzione.