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=de10c1ec63868818bcec1bd8e98a3b69Mé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

Optimisation: Recyclage (Dismantle unit/ Destroy building)
Aller à la page 1, 2  Suivante
 
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: 22/01/10 12:29    Sujet du message: Optimisation: Recyclage (Dismantle unit/ Destroy building) Citer

Permet aux bâtiments "Dock" de recycler les vaisseaux spatiaux par un sort de type Unit Target et aux bâtiments de s'autorecycler par un sort de type Instant.

Je stocke donc les variables or/bois/nom du vaisseau dans des arrays pour chaque objet susceptible d'être recyclé.


Nécessite:
SpellEvent
TimerUtils
TextDisplay
Resource

Est utilisé également pour le système d'orbite:
système d'orbite
En effet, si une planète possède trop de bâtiments en orbite, on supprime le dernier bâtiment construit et on rembourse intégralement le joueur.
Aussi, le sytème d'orbite fait référence aux arrays du système de recyclage


Système de recyclage

Ancienne version
Secret:


Jass:
library RecycleUnitsAndBuildings initializer init needs TimerUtils,TextDisplay,SpellEvent,Resource

globals
    private constant integer SPELL1 = 'A00D'
    private constant integer SPELL2 = 'A01M'
    private constant string C1 = "|cff008040"
    private constant string C2 = "|cff80FFFF"
    private constant string C" |r"
    private constant string FX = "Abilities\\Spells\\Orc\\Voodoo\\VoodooAuraTarget.mdl"
    private constant real DURATION = 2.
    integer CostMax
    integer array CostUnitId [200]
    integer array CostGold [200]
    integer array CostLumber [200]
    //string array CostName [200]
endglobals

    private function SetUnitCost takes nothing returns nothing
        local integer i = 0
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00M'
            set CostGold[i] = 250
            set CostLumber[i] = 5
            //set CostName[i] = "Shuttle - Builder"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00N'
            set CostGold[i] = 150
            set CostLumber[i] = 5
            //set CostName[i] = "Shuttle - Cargo"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h000'
            set CostGold[i] = 200
            set CostLumber[i] = 5
            //set CostName[i] = "Light Shuttle - Bettle"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01M'
            set CostGold[i] = 400
            set CostLumber[i] = 30
            //set CostName[i] = "Assaut Shuttle - Infection"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00C'
            set CostGold[i] = 400
            set CostLumber[i] = 30
            //set CostName[i] = "Assaut Shuttle - Lighter"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00G'
            set CostGold[i] = 400
            set CostLumber[i] = 30
            //set CostName[i] = "Shuttle - Death's Claw"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00H'
            set CostGold[i] = 300
            set CostLumber[i] = 10
            //set CostName[i] = "Scout Shuttle - Observer"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01L'
            set CostGold[i] = 400
            set CostLumber[i] = 30
            //set CostName[i] = "Shuttle - Fury Cultist"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h015'
            set CostGold[i] = 900
            set CostLumber[i] = 50
            //set CostName[i] = "Frigate - Starkiller GunShip"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00L'
            set CostGold[i] = 600
            set CostLumber[i] = 150
            //set CostName[i] = "Frigate - Preybird"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00I'
            set CostGold[i] = 800
            set CostLumber[i] = 50
            //set CostName[i] = "Frigate - Slayer"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01H'
            set CostGold[i] = 600
            set CostLumber[i] = 150
            //set CostName[i] = "Frigate - Pirate Harrasser"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00Y'
            set CostGold[i] = 1000
            set CostLumber[i] = 75
            //set CostName[i] = "Invasion Frigate - Galaxy"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01D'
            set CostGold[i] = 750
            set CostLumber[i] = 75
            //set CostName[i] = "Support Frigate - Engineer"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00J'
            set CostGold[i] = 1200
            set CostLumber[i] = 150
            //set CostName[i] = "Assaut Frigate - Fire Bearer"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01N'
            set CostGold[i] = 1200
            set CostLumber[i] = 150
            //set CostName[i] = "Frigate - Bacillus"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01O'
            set CostGold[i] = 2000
            set CostLumber[i] = 100
            //set CostName[i] = "Frigate - Incubator"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00K'
            set CostGold[i] = 1200
            set CostLumber[i] = 100
            //set CostName[i] = "Heavy Frigate - Whirlwind"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00A'
            set CostGold[i] = 2500
            set CostLumber[i] = 300
            //set CostName[i] = "Light Cruiser - Gentleman"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00Z'
            set CostGold[i] = 500
            set CostLumber[i] = 0
            //set CostName[i] = "Training Center"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00F'
            set CostGold[i] = 500
            set CostLumber[i] = 0
            //set CostName[i] = "Warehouse"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00P'
            set CostGold[i] = 1500
            set CostLumber[i] = 300
            //set CostName[i] = "Cruiser - Pirate Marauder"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01C'
            set CostGold[i] = 2000
            set CostLumber[i] = 200
            //set CostName[i] = "Merchant Cruiser - Miserly"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h017'
            set CostGold[i] = 2500
            set CostLumber[i] = 300
            //set CostName[i] = "Spy Cruiser - Secret Agent"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00D'
            set CostGold[i] = 3500
            set CostLumber[i] = 400
            //set CostName[i] = "Cruiser - Righteous"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h006'
            set CostGold[i] = 250
            set CostLumber[i] = 50
            //set CostName[i] = "AA Tower - Hurricane"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00E'
            set CostGold[i] = 4000
            set CostLumber[i] = 500
            //set CostName[i] = "Assaut Cruiser - Hell Memory"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h007'
            set CostGold[i] = 350
            set CostLumber[i] = 100
            //set CostName[i] = "Ion Canon - Flash Caster"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h018'
            set CostGold[i] = 500
            set CostLumber[i] = 200
            //set CostName[i] = "Micromissiles Thrower - Typhoon"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h016'
            set CostGold[i] = 500
            set CostLumber[i] = 200
            //set CostName[i] = "Radar Tower - Guardian"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h005'
            set CostGold[i] = 500
            set CostLumber[i] = 200
            //set CostName[i] = "Torpedo Launcher System - Nova Thrower"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00B'
            set CostGold[i] = 5000
            set CostLumber[i] = 600
            //set CostName[i] = "Armored Cruiser - Iron Turttle"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01P'
            set CostGold[i] = 6000
            set CostLumber[i] = 700
            //set CostName[i] = "Cruiser - Aggressor"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00O'
            set CostGold[i] = 2000
            set CostLumber[i] = 500
            //set CostName[i] = "Freeport"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h008'
            set CostGold[i] = 6000
            set CostLumber[i] = 700
            //set CostName[i] = "Heavy Cruiser - Heaven Drake"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'n004'
            set CostGold[i] = 1000
            set CostLumber[i] = 100
            //set CostName[i] = "Carrier Frigate - Tugboat"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'n005'
            set CostGold[i] = 1000
            set CostLumber[i] = 100
            //set CostName[i] = "Frigate - AI Launcher"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h004'
            set CostGold[i] = 200
            set CostLumber[i] = 0
            //set CostName[i] = "Dock Mk I"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01R'
            set CostGold[i] = 200
            set CostLumber[i] = 0
            //set CostName[i] = "Dock Mk I"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00S'
            set CostGold[i] = 500
            set CostLumber[i] = 100
            //set CostName[i] = "Dock Mk II"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h00T'
            set CostGold[i] = 1000
            set CostLumber[i] = 200
            //set CostName[i] = "Dock Mk III"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01I'
            set CostGold[i] = 500
            set CostLumber[i] = 100
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h003'
            set CostGold[i] = 200
            set CostLumber[i] = 50
            //set CostName[i] = "Rsearch Facility - Base"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01K'
            set CostGold[i] = 200
            set CostLumber[i] = 50
            //set CostName[i] = "Research Facility - Base"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01A'
            set CostGold[i] = 200
            set CostLumber[i] = 50
            //set CostName[i] = "Research Facility - Energy Center"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01B'
            set CostGold[i] = 200
            set CostLumber[i] = 50
            //set CostName[i] = "Research Facility - Production Center"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h014'
            set CostGold[i] = 200
            set CostLumber[i] = 50
            //set CostName[i] = "Research Facility - Structure Center"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h019'
            set CostGold[i] = 200
            set CostLumber[i] = 50
            //set CostName[i] = "Research Facility - Weapon Center"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h002'
            set CostGold[i] = 300
            set CostLumber[i] = 50
            //set CostName[i] = "Shipyard Mark I"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h011'
            set CostGold[i] = 800
            set CostLumber[i] = 100
            //set CostName[i] = "Shipyard Mark II"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h012'
            set CostGold[i] = 3500
            set CostLumber[i] = 200
            //set CostName[i] = "Shipyard Mark III"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h001'
            set CostGold[i] = 150
            set CostLumber[i] = 0
            //set CostName[i] = "Station"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01E'
            set CostGold[i] = 500
            set CostLumber[i] = 50
            //set CostName[i] = "Terrorist Shipyard"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h010'
            set CostGold[i] = 150
            set CostLumber[i] = 0
            //set CostName[i] = "Turret Base"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'h01Q'
            set CostGold[i] = 150
            set CostLumber[i] = 0
            //set CostName[i] = "Turret Base"
            // ***
            set i = i + 1
            set CostUnitId[i] = 'o00I'
            set CostGold[i] = 3000
            set CostLumber[i] = 500
            //set CostName[i] = "Pirate Base"
           
            set CostMax = i
    endfunction   

    private struct str
        effect e
    endstruct

    private function WaitForEffect takes nothing returns nothing
        local timer t = GetExpiredTimer()
        local str dat = GetTimerData(t)
            call DestroyEffect(dat.e)
            call ReleaseTimer(t)
            call dat.destroy()
    endfunction

    private function Recycle takes unit whichUnit, integer whichId returns nothing
        local timer t = NewTimer()
        local str  dat = str.create()
        local integer r1 = 0
        local integer r2 = 0
            set r1 = R2I(GetRandomReal(0.25,1.00)*CostGold[whichId])
            set r2 = R2I(GetRandomReal(0.25,1.00)*CostLumber[whichId])
            call Text(whichUnit,false,C1+I2S(r1)+"Pulsars"+C+" -  "+C2+I2S(r2)+"Iron"+C)
            call SetResource(GetOwningPlayer(whichUnit),r1,r2)
            call UnitRemoveAbility(whichUnit,SPELL1)
            call UnitRemoveAbility(whichUnit,SPELL2)
            call UnitApplyTimedLife(whichUnit,'BTLF',DURATION)
            set dat.e = AddSpecialEffectTarget(FX,whichUnit,"origin")
            call SetTimerData(t, dat)
            call TimerStart (t,DURATION, false, function WaitForEffect )
    endfunction

    private function Actions takes nothing returns nothing
        local integer i = 0
        local unit caster = SpellEvent.CastingUnit
        local integer casterId = GetUnitTypeId(caster)
            loop
                set i = i + 1
                exitwhen i > CostMax
                if casterId == CostUnitId[i] then
                    call Recycle(caster,i)
                    set caster = null
                    return
                endif
            endloop
            set caster = null
    endfunction

    private function init takes nothing returns nothing
        call RegisterSpellCastResponse(SPELL1,Actions)
        call RegisterSpellCastResponse(SPELL2,Actions)
        call SetUnitCost()
    endfunction

endlibrary



Nouvelle version

Secret:

Jass:
library RecycleUnitsAndBuildings initializer init needs TimerUtils,TextDisplay,SpellEvent,Resource

globals
    private constant integer RECYCLE_BUILDING = 'A00D'
    private constant integer RECYCLE_UNIT = 'A01M'
    private constant string C1 = "|cff008040"
    private constant string C2 = "|cff80FFFF"
    private constant string C" |r"
    private constant string FX = "Abilities\\Spells\\Orc\\Voodoo\\VoodooAuraTarget.mdl"
    private constant real DURATION = 2.
    private constant integer GOLD_INDEX = 1
    private constant integer LUMBER_INDEX = 2
    private hashtable HashT
endglobals

    //! textmacro t__RecycleSystem_Init takes UNIT_TYPE , UNIT_GOLD, UNIT_LUMBER
        call SaveInteger(HashT,S2I("$UNIT_TYPE$"),GOLD_INDEX,S2I("$UNIT_GOLD$"))
        call SaveInteger(HashT,S2I("$UNIT_TYPE$"),LUMBER_INDEX,S2I("$UNIT_LUMBER$"))
    //! endtextmacro

    private function SetCostVariables takes nothing returns nothing
            //! runtextmacro t__RecycleSystem_Init("'h00M'","250", "5")
            //! runtextmacro t__RecycleSystem_Init("'h00N'","150", "5")
            //! runtextmacro t__RecycleSystem_Init("'h00O'","200", "5")
            //! runtextmacro t__RecycleSystem_Init("'h01M'","400", "30")
            //! runtextmacro t__RecycleSystem_Init("'h00C'","400", "30")
            //! runtextmacro t__RecycleSystem_Init("'h00G'","400", "30")
            //! runtextmacro t__RecycleSystem_Init("'h00H'","300", "10")
            //! runtextmacro t__RecycleSystem_Init("'h01L'","400", "30")
            //! runtextmacro t__RecycleSystem_Init("'h015'","900", "50")
            //! runtextmacro t__RecycleSystem_Init("'h00L'","600", "150")
            //! runtextmacro t__RecycleSystem_Init("'h00I'","800", "50")
            //! runtextmacro t__RecycleSystem_Init("'h01H'","600", "150")
            //! runtextmacro t__RecycleSystem_Init("'h00Y'","1000", "75")
            //! runtextmacro t__RecycleSystem_Init("'h01D'","750", "75")
            //! runtextmacro t__RecycleSystem_Init("'h00J'","1200", "150")
            //! runtextmacro t__RecycleSystem_Init("'h01N'","1200", "150")
            //! runtextmacro t__RecycleSystem_Init("'h01O'","2000", "100")
            //! runtextmacro t__RecycleSystem_Init("'h00K'","1200", "100")
            //! runtextmacro t__RecycleSystem_Init("'h00A'","2500", "300")
            //! runtextmacro t__RecycleSystem_Init("'h00Z'","500", "0")
            //! runtextmacro t__RecycleSystem_Init("'h00F'","500", "0")
            //! runtextmacro t__RecycleSystem_Init("'h00P'","1500", "300")
            //! runtextmacro t__RecycleSystem_Init("'h01C'","2000", "20")           
            //! runtextmacro t__RecycleSystem_Init("'h017'","2500", "300")
            //! runtextmacro t__RecycleSystem_Init("'h00D'","3500", "400")
            //! runtextmacro t__RecycleSystem_Init("'h006'","250", "50")
            //! runtextmacro t__RecycleSystem_Init("'h00E'","4000", "500")
            //! runtextmacro t__RecycleSystem_Init("'h007'","350", "100")
            //! runtextmacro t__RecycleSystem_Init("'h018'","500", "200")
            //! runtextmacro t__RecycleSystem_Init("'h016'","500", "200")
            //! runtextmacro t__RecycleSystem_Init("'h005'","500", "200")
            //! runtextmacro t__RecycleSystem_Init("'h00B'","5000", "600")
            //! runtextmacro t__RecycleSystem_Init("'h01P'","6000", "700")
            //! runtextmacro t__RecycleSystem_Init("'h00O'","2000", "500")
            //! runtextmacro t__RecycleSystem_Init("'h008'","6000", "700")
            //! runtextmacro t__RecycleSystem_Init("'n004'","1000", "100")
            //! runtextmacro t__RecycleSystem_Init("'n005'","1000", "100")
            //! runtextmacro t__RecycleSystem_Init("'h004'","200", "0")
            //! runtextmacro t__RecycleSystem_Init("'h01R'","200", "0")
            //! runtextmacro t__RecycleSystem_Init("'h00S'","500", "100")
            //! runtextmacro t__RecycleSystem_Init("'h00T'","1000", "200")
            //! runtextmacro t__RecycleSystem_Init("'hO1I'","500", "100")
            //! runtextmacro t__RecycleSystem_Init("'h003'","200", "50")
            //! runtextmacro t__RecycleSystem_Init("'h01K'","200", "50")
            //! runtextmacro t__RecycleSystem_Init("'h01A'","200", "50")
            //! runtextmacro t__RecycleSystem_Init("'h01B'","200", "50")
            //! runtextmacro t__RecycleSystem_Init("'h014'","200", "50")
            //! runtextmacro t__RecycleSystem_Init("'h019'","200", "50")
            //! runtextmacro t__RecycleSystem_Init("'h002'","300", "50")
            //! runtextmacro t__RecycleSystem_Init("'h011'","800", "100")
            //! runtextmacro t__RecycleSystem_Init("'h012'","3500", "200")
            //! runtextmacro t__RecycleSystem_Init("'h001'","150", "0")
            //! runtextmacro t__RecycleSystem_Init("'h01E'","500", "50")
            //! runtextmacro t__RecycleSystem_Init("'h010'","150", "0")
            //! runtextmacro t__RecycleSystem_Init("'h01Q'","150", "0")
            //! runtextmacro t__RecycleSystem_Init("'o00I'","3000", "500")
    endfunction   

    private struct str
        effect e
    endstruct

    private function WaitForEffect takes nothing returns nothing
        local timer t = GetExpiredTimer()
        local str dat = GetTimerData(t)
            call DestroyEffect(dat.e)
            call ReleaseTimer(t)
            call dat.destroy()
    endfunction

    private function RecycleBuilding takes nothing returns nothing
        local integer casterId = GetUnitTypeId(SpellEvent.CastingUnit)
        local integer randomGold = R2I(GetRandomReal(0.25,1.00)*LoadInteger(HashT,casterId,GOLD_INDEX))
        local integer randomLumber = R2I(GetRandomReal(0.25,1.00)*LoadInteger(HashT,casterId,LUMBER_INDEX))
        local timer t = NewTimer()
        local str  dat = str.create()
            call BJDebugMsg("id="+I2S(casterId))
            call BJDebugMsg("gold="+I2S(LoadInteger(HashT,casterId,GOLD_INDEX)))
            call BJDebugMsg("lumber="+I2S(LoadInteger(HashT,casterId,LUMBER_INDEX)))
       
            call Text(SpellEvent.CastingUnit,false,C1+I2S(randomGold)+"Pulsars"+C+" -  "+C2+I2S(randomLumber)+"Iron"+C)
            call SetResource(GetOwningPlayer(SpellEvent.CastingUnit),randomGold,randomLumber)
            call UnitRemoveAbility(SpellEvent.CastingUnit,RECYCLE_BUILDING)
            call UnitApplyTimedLife(SpellEvent.CastingUnit,'BTLF',DURATION)
            set dat.e = AddSpecialEffectTarget(FX,SpellEvent.CastingUnit,"origin")
            call SetTimerData(t, dat)
            call TimerStart (t,DURATION, false, function WaitForEffect )
    endfunction
   
    private function RecycleUnit takes nothing returns nothing
        local integer casterId = GetUnitTypeId(SpellEvent.TargetUnit)
        local integer randomGold = R2I(GetRandomReal(0.25,1.00)*LoadInteger(HashT,casterId,GOLD_INDEX))
        local integer randomLumber = R2I(GetRandomReal(0.25,1.00)*LoadInteger(HashT,casterId,LUMBER_INDEX))
        local timer t = NewTimer()
        local str  dat = str.create()
            call BJDebugMsg("id="+I2S(casterId))
            call BJDebugMsg("gold="+I2S(LoadInteger(HashT,casterId,GOLD_INDEX)))
            call BJDebugMsg("lumber="+I2S(LoadInteger(HashT,casterId,LUMBER_INDEX)))
       
            call Text(SpellEvent.TargetUnit,false,C1+I2S(randomGold)+"Pulsars"+C+" -  "+C2+I2S(randomLumber)+"Iron"+C)
            call SetResource(GetOwningPlayer(SpellEvent.TargetUnit),randomGold,randomLumber)
            call UnitRemoveAbility(SpellEvent.TargetUnit,RECYCLE_UNIT)
            call UnitApplyTimedLife(SpellEvent.TargetUnit,'BTLF',DURATION)
            set dat.e = AddSpecialEffectTarget(FX,SpellEvent.TargetUnit,"origin")
            call SetTimerData(t, dat)
            call TimerStart (t,DURATION, false, function WaitForEffect )
    endfunction

    private function init takes nothing returns nothing
            call RegisterSpellCastResponse(RECYCLE_BUILDING,RecycleBuilding)
            call RegisterSpellCastResponse(RECYCLE_UNIT,RecycleUnit)
            set HashT = InitHashtable()
            call SetCostVariables()
    endfunction

endlibrary


_________________


Dernière édition par jk2pach le 06/04/10 21:49; édité 7 fois
Revenir en haut
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 15/03/10 20:52    Sujet du message: Citer

Need une fusion.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 15/03/10 21:09    Sujet du message: Citer

Citation:
Fusion?

_________________
Revenir en haut
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 15/03/10 21:11    Sujet du message: Citer

Apocalypse a écrit:
Fusion?

De tes 2 scopes en une seule.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 15/03/10 21:16    Sujet du message: Citer

Pardon, je l'avais fait aussi.
Ancienne version supprimée pour éviter de ralentir le chargement de la page
_________________


Dernière édition par jk2pach le 18/03/10 19:10; édité 1 fois
Revenir en haut
 jk2pach
Invité








MessagePosté le: 17/03/10 16:02    Sujet du message: Citer

Comme je suppose que tu veux également une version "light":
Ancienne version supprimée pour éviter de ralentir le chargement de la page
_________________


Dernière édition par jk2pach le 18/03/10 19:10; édité 1 fois
Revenir en haut
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 17/03/10 18:44    Sujet du message: Citer

Bon now c'est clair je ne t'aiderais plus si tu ne donnes pas les librairies requises, ca m'a déjà gonflé de devoir deviner que tu utilises TimerUtils,SpellEvent,Table,AutoIndex.
Mais la goute d'eau c'est que tu ne m'as pas fourni ta ou tes propres librairies (function SetResource et Text).

Comme tu n'as pas voulu le faire tout de suite je rajoutes même la condition d'avoir la librairie requise en lien url valide.

En espérant que ca te passe l'envie d'utiliser des scopes à tout bout de champ Razz

Sans compter que tu en abuses vraiment trop, imagines que tu reprennes la map après plusieurs mois, tu crois vraiment que tu te rappelleras les librairies que tu utilisais dans tel scope ?
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 18/03/10 18:06    Sujet du message: Citer

Oui, parce que j'utilise toujours les mêmes libraries "génériques" :p.

Cela dit, tu as raison, ça ne t'aidera pas ^^


Voilà une version de ces sorts sans aucune utilisation d'Autoindex, je me suis rendu compte que dans l'exemple ci dessus, il ne servait à rien..

Passé en Library donc.

Ma question, c'est comme pour le Help Center:comment éviter l'énorme boucle (comme tu peux le voir, y'en a des variables)
Ancienne version supprimée pour éviter de ralentir le chargement de la page
_________________


Dernière édition par jk2pach le 18/03/10 19:11; édité 2 fois
Revenir en haut
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

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

Mais je n'ai toujours pas las library en lien url cependant, allez je ne vais pas faire ma tête de mule, ce que tu peux faire c'est rajouter une map contenant toutes les library "générales" que tu utilises, dans le thread que tu viens de créer.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 18/03/10 18:42    Sujet du message: Citer

http://worldedit.free.fr/forum/viewtopic.php?t=5219
_________________
Revenir en haut
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 18/03/10 18:52    Sujet du message: Citer

On doit pas parler la même langue.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 18/03/10 18:59    Sujet du message: Citer

Désolé, je croyais que la version forum suffisait :O

Map ajoutée dans le sujet linké ci-dessus.

(Je suis un peu out avec le taff, effectivement, je ne suis pas encore concentré :p)

Je vais aussi mettre en ligne ces libraries, en plus de la map.
_________________
Revenir en haut
 jk2pach
Invité








MessagePosté le: 18/03/10 19:09    Sujet du message: Citer

J'avais oublié de mettre Resource. (Avec le nom de la library, même sans la placer dans les "needs" de ce sort, ça fonctionnait à cause de l'ordre alphabétique).

Bon.

J'espère que cela va te convenir:


Ce sort permet de recycler une unité (visée par un sort à distance d'un bâtiment) ou un bâtiment (sort instantané du bâtiment lui-même) en donnant des ressources à son propriétaire.

Ma question est donc: comment se passer de la boucle qui recherche quel type d'unité est à recycler pour retrouver ses valeurs associées? Tu avais parlé de Hashtables, mais j'avoue ne pas du tout comprendre comment.

Nécessite:
SpellEvent
TimerUtils
TextDisplay
Resource

Système de recyclage:
Ancienne version supprimée pour éviter de ralentir le chargement de la page
_________________


Dernière édition par jk2pach le 21/03/10 12:36; édité 1 fois
Revenir en haut
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 21/03/10 12:13    Sujet du message: Citer

CostName tu l'utilises ailleurs ?
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 jk2pach
Invité








MessagePosté le: 21/03/10 12:28    Sujet du message: Citer

J'utilise ces variables pour le système d'orbites.

En effet, quand le maximum de bâtiments autorisés par planète/base pirate est atteint, je rembourse automatiquement le joueur.

La solution la plus rapide serait d'utiliser AutoIndex, je suis en train de me dire. Je me trompe?

Système d'orbite (je vais éditer le premier post)

Système d'orbite
_________________
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
Aller à la page 1, 2  Suivante
Page 1 sur 2
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