Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=5a51f3a6e332b1c68bc1045909bbe501Médailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Library: BoardSystem

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 jk2pach
Invité








MessagePosté le: 18/03/10 20:03    Sujet du message: Library: BoardSystem Citer

Juste parce que j'y fais parfois référence dans le cadre des fonctions "UpdateRank"

Nécessite:

AbilityPreload
Jass:
library BoardSystem initializer init needs AbilityPreload

globals
    //Board Variables
    private constant string TITLE = "|c00AAAAFFStars|r - Clan Leader Experience"
    private constant real TIME = 12.
    constant integer XP_ASSIMILATION = 100//Alien xp: assimilation + 100
    constant integer XP_TRADE = 2//Merchant xp: trade +2 per traject, research + 10
    constant integer XP_RESEARCH = 10
    constant integer XP_INVASION = 100//Military: invasion + 100, research + 10
    constant integer XP_STEAL = 10//Pirate xp: merchant unit steal + 10,merchant attack + 1
    constant integer XP_ATTACK = 1
    constant integer XP_DEATH = 5//Terrorist xp: death + 5
    leaderboard Board
    //Ranks Variables
    integer RankMax
    integer array RankReq [50]
    string array RankName [50]
    string array PlayerRankName [12]
    integer array PlayerRankInteger [12]
    constant integer RANKDUMMYID = 'o012'
    constant integer RANKSPEED = 'S001'
    constant integer RANKDAMAGE = 'A00A'
    unit array RankDummy [12]
endglobals
   
    private function SetRanksVariables takes nothing returns nothing
        local integer i = 0
            set RankReq[i]= 0
            set RankName[i]="Unknown"
            // ***
            set i = i + 1
            set RankReq[i]= 100
            set RankName[i]="Stowaway"
            // ***
            set i = i + 1
            set RankReq[i]= 1000
            set RankName[i]="Passenger"
            // ***
            set i = i + 1
            set RankReq[i]= 2000
            set RankName[i]="Crew Member"   
            // ***
            set i = i + 1
            set RankReq[i]= 3000
            set RankName[i]="Petty Officer Third Class"
            // ***
            set i = i + 1
            set RankReq[i]= 4000
            set RankName[i]="Petty Officer Second Class"
            // ***
            set i = i + 1
            set RankReq[i]= 6000
            set RankName[i]="Petty Officer First Class"
            // ***
            set i = i + 1
            set RankReq[i]= 8000
            set RankName[i]="Chief Petty Officer"
            // ***
            set i = i + 1
            set RankReq[i]= 10000
            set RankName[i]="Senior Chief Petty Officer"
            // ***
            set i = i + 1
            set RankReq[i]= 12000
            set RankName[i]="Master Chief Petty Officer"
            // ***
            set i = i + 1
            set RankReq[i]= 14000
            set RankName[i]="Fleet Master Chief Petty Officer"
            // ***
            set i = i + 1
            set RankReq[i]= 16000
            set RankName[i]="Master Chief Petty Officer of the Navy"
            // ***
            set i = i + 1
            set RankReq[i]= 18000
            set RankName[i]="Midshipman"
            // ***
            set i = i + 1
            set RankReq[i]= 20000
            set RankName[i]="Ensign"
            // ***
            set i = i + 1
            set RankReq[i]= 25000
            set RankName[i]="Junior GradeLieutenant"
            // ***
            set i = i + 1
            set RankReq[i]= 30000
            set RankName[i]="Lieutenant"
            // ***
            set i = i + 1
            set RankReq[i]= 35000
            set RankName[i]="Lieutenant Commander"
            // ***
            set i = i + 1
            set RankReq[i]= 40000
            set RankName[i]="Commander"
            // ***
            set i = i + 1
            set RankReq[i]= 50000
            set RankName[i]="Squad Commander"
            // ***
            set i = i + 1
            set RankReq[i]= 60000
            set RankName[i]="Fleet Commander"
            // ***
            set i = i + 1
            set RankReq[i]= 70000
            set RankName[i]="Captain"
            // ***
            set i = i + 1
            set RankReq[i]= 80000
            set RankName[i]="Squad Captain"
            // ***
            set i = i + 1
            set RankReq[i]= 90000
            set RankName[i]="Fleet Captain"
            // ***
            set i = i + 1
            set RankReq[i]= 100000
            set RankName[i]="Major"
            // ***
            set i = i + 1
            set RankReq[i]= 120000
            set RankName[i]="Colonel"
            // ***
            set i = i + 1
            set RankReq[i]= 140000
            set RankName[i]="General"
            // ***
            set i = i + 1
            set RankReq[i]= 160000
            set RankName[i]="Fleet General"
            // ***
            set i = i + 1
            set RankReq[i]= 180000
            set RankName[i]="Commodore"
            // ***
            set i = i + 1
            set RankReq[i]= 200000
            set RankName[i]="Rear Admiral"
            // ***
            set i = i + 1
            set RankReq[i]= 250000
            set RankName[i]="Vice Admiral"
            // ***
            set i = i + 1
            set RankReq[i]= 300000
            set RankName[i]="Admiral"
            // ***
            set i = i + 1
            set RankReq[i]= 350000
            set RankName[i]="Fleet Admiral"
            // ***
            set i = i + 1
            set RankReq[i]= 400000
            set RankName[i]="System Leader"
            // ***
            set i = i + 1
            set RankReq[i]= 450000
            set RankName[i]="Sector Leader"
            // ***
            set i = i + 1
            set RankReq[i]= 500000
            set RankName[i]="Cluster Leader"
            // ***
            set i = i + 1
            set RankReq[i]= 550000
            set RankName[i]="Galaxy Leader"
            // ***
            set i = i + 1
            set RankReq[i]= 600000
            set RankName[i]="Star Cluster Leader"
            // ***
            set i = i + 1
            set RankReq[i]= 650000
            set RankName[i]="Secretary"
            // ***
            set i = i + 1
            set RankReq[i]= 700000
            set RankName[i]="Adviser"
            // ***
            set i = i + 1
            set RankReq[i]= 800000
            set RankName[i]="High Adviser"
            // ***
            set i = i + 1
            set RankReq[i]= 900000
            set RankName[i]="Minister"
            // ***
            set i = i + 1
            set RankReq[i]= 1000000
            set RankName[i]="Prime Minister"
            // ***
            set i = i + 1
            set RankReq[i]= 1500000
            set RankName[i]="Imperator"
            // ***
            set RankMax = i
    endfunction

    function UpdateRank takes player whichPlayer,integer whichXp returns nothing
        local integer i = GetPlayerId(whichPlayer)
        local integer j = 0
            set PlayerRankInteger[i]=PlayerRankInteger[i]+whichXp
            loop
                exitwhen j > RankMax
                if PlayerRankInteger[i]>= RankReq[j] and PlayerRankInteger[i]<RankReq[j+1]  then
                    set  PlayerRankName[i] = RankName[j]
                    if PlayerRankInteger[i]==1 then
                        call UnitAddAbility(RankDummy[i],RANKSPEED)
                        call UnitAddAbility(RankDummy[i],RANKDAMAGE)
                    elseif PlayerRankInteger[i]>1 then
                        call SetUnitAbilityLevel(RankDummy[i],RANKSPEED,j)
                        call SetUnitAbilityLevel(RankDummy[i],RANKDAMAGE,j)
                    endif
                    call SetPlayerHandicap(whichPlayer,1.00+(j/100))
                endif
                set j = j + 1
            endloop
            call LeaderboardSetItemLabel(Board,LeaderboardGetPlayerIndex(Board,whichPlayer),PlayerRankName[i]+" "+GetPlayerName(whichPlayer))
            call LeaderboardSetItemValue(Board,LeaderboardGetPlayerIndex(Board,whichPlayer),PlayerRankInteger[i])
            call LeaderboardSortItemsBJ(Board,bj_SORTTYPE_SORTBYVALUE,false)
    endfunction

    private function Initialize takes nothing returns boolean
        local integer i = 0
            set Board = CreateLeaderboardBJ(bj_FORCE_ALL_PLAYERS, TITLE )
            loop
                exitwhen i > MAXPLAYER
                if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING then
                    call LeaderboardAddItemBJ( Player(i),Board,PlayerRankName[i]+" "+GetPlayerName(Player(i)), 0 )
                    call LeaderboardSetItemStyle(Board,LeaderboardGetPlayerIndex(Board,Player(i)),true,true,false)
                endif
                set i = i + 1
            endloop
            return false
    endfunction

    private function init takes nothing returns nothing
        local trigger t = CreateTrigger()
        local integer i = 0
            call SetRanksVariables()
            call AbilityPreload(RANKSPEED)
            call AbilityPreload(RANKDAMAGE)
            loop
                exitwhen i > MAXPLAYER
                    set PlayerRankName[i] = RankName[0]
                    set PlayerRankInteger[i] = 0
                set i = i + 1
            endloop
            call TriggerRegisterTimerEventSingle(t,TIME)
            call TriggerAddCondition(t,Condition(function Initialize))
    endfunction   

endlibrary

_________________
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1
La question posée dans ce topic a été résolue !

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com