Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
Posté le: 20/04/08 17:56 Sujet du message: Partage de resultat local ?
Voila une autre question qui sert "a rien" et que vous allez pas la comprendre.
Est-t'il possible de mettre en commun un résultat de code local avec les autre joueur?
Je connais mal les fonction qui ont un rapport avec les code local (synchro et desynchro) , en gros je vais faire un petit exemple du type de chose que je veut faire.
(Code réalisé sans compilateur , donc si problème de syntaxe , c'est normal)
Jass:
function f takes nothing returns nothing
local real r
if(GetLocalPlayer() == Player(0)then
set r = GetRandomInteger(0,100)
set r = r / GetRandomReal(0,100)
---> Donné la valeur de r à tout les joueur comme celle de la valeur pour le joueur 1
...
Je sait qu'ont peut synchronisé par rapport a l'host , mais moi je voudrai que chaque pc puisse faire des condition dans son coin puis donnée le résultat aux autre pc.
Qu'elle intérêt ?
Faire une réflexion de groupe pour trouvé que doit faire mon IA sans faire la même condition plusieurs fois inutilement. (C'est plus du 4v1 (4 joueur contre l'ordi) mais du 4v4. (4 joueur contre leur 4 ordi réunis)) _________________
Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
Posté le: 20/04/08 18:29 Sujet du message:
c'est une des lacunes du jass, on ne peut pas partager des résultats locaux, pire y'a même pas de fonction qui récupère les coordonnées de la caméra actuelle d'un joueur.
bien qu'encore une fois ton exemple est vraiment inutile _________________
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
Posté le: 20/04/08 18:48 Sujet du message:
Erf , je trouve sa assez bête de devoir exécuté une condition pour 12 joueur plutôt que pour un seul joueur. (j'imagine que pour une condition c'est pas la peine c'est plus lent a transféré qu'a calculé , mais je parle plutôt pour des centaine de condition.)
Troll-Brain a écrit:
bien qu'encore une fois ton exemple est vraiment inutile
Snif , je sait pas choisir mes exemple correctement ?
Citation:
pire y'a même pas de fonction qui récupère les coordonnées de la caméra actuelle d'un joueur.
Tu essaye de voir les chose les plus inutile qu'ont peut demander pour prévoir mes prochaine question ?
Pas le genre de question que je poserai , pour mon projet actuel en tout cas.
(Même si je doute que se soit que tu prévois mes prochaine question) _________________
Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
Posté le: 20/04/08 20:04 Sujet du message:
bah avec ton exemple l'utilisation de GetLocalPlayer est inutile.
j'en vois vraiment pas l'intérêt et non j'essaye pas de prévoir tes questions _________________
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
Posté le: 15/07/08 19:07 Sujet du message:
Faux!!!
Non rien c'est juste le tripe , j'ai mit au point un système (un peu lent) qui permettent sa , malheureusement j'ai pas le temps de tester (en plus de mon newgen qui corrompt toutes les map par rapport a wc3)
private function AddTransfertToValue takes nothing returns nothing
if(Transfer == 0)then
set Pow10 = Pow10 + 1
call TransfertNext()
return
elseif(Transfer == -1)then
set IsTransfered = true
call EndTransfert()
return
else
set Int_Value = Int_Value + (Transfer * R2I(Pow(Pow10,10)))
set Pow10 = Pow10 + 1
call TransfertNext()
endif
endfunction
private function Set0 takes nothing returns nothing
set Transfer = 0
endfunction
private function Set1 takes nothing returns nothing
set Transfer = 1
endfunction
private function Set2 takes nothing returns nothing
set Transfer = 2
endfunction
private function Set3 takes nothing returns nothing
set Transfer = 3
endfunction
private function Set4 takes nothing returns nothing
set Transfer = 4
endfunction
private function Set5 takes nothing returns nothing
set Transfer = 5
endfunction
private function Set6 takes nothing returns nothing
set Transfer = 6
endfunction
private function Set7 takes nothing returns nothing
set Transfer = 7
endfunction
private function Set8 takes nothing returns nothing
set Transfer = 8
endfunction
private function Set9 takes nothing returns nothing
set Transfer = 9
endfunction
private function SetEnd takes nothing returns nothing
set Transfer = -1
endfunction
function InitValue takes nothing returns nothing
set Code_Transferer[0] = C2I(function Set0)
set Code_Transferer[1] = C2I(function Set1)
set Code_Transferer[2] = C2I(function Set2)
set Code_Transferer[3] = C2I(function Set3)
set Code_Transferer[4] = C2I(function Set4)
set Code_Transferer[5] = C2I(function Set5)
set Code_Transferer[6] = C2I(function Set6)
set Code_Transferer[7] = C2I(function Set7)
set Code_Transferer[8] = C2I(function Set8)
set Code_Transferer[9] = C2I(function Set9)
set Code_Transferer[10] = C2I(function SetEnd)
set Trg_Transferer[0] = CreateTrigger()
set Trg_Transferer[1] = CreateTrigger()
set Trg_Transferer[2] = CreateTrigger()
set Trg_Transferer[3] = CreateTrigger()
set Trg_Transferer[4] = CreateTrigger()
set Trg_Transferer[5] = CreateTrigger()
set Trg_Transferer[6] = CreateTrigger()
set Trg_Transferer[7] = CreateTrigger()
set Trg_Transferer[8] = CreateTrigger()
set Trg_Transferer[9] = CreateTrigger()
set Trg_Transferer[10] = CreateTrigger()
set TransValue = (function AddTransfertToValue)
set LocalPlayer = GetLocalPlayer()
endfunction
function InitTransfertUnit takes player Plr_Transferer returns nothing
set Transferer[0] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[1] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[2] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[3] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[4] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[5] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[6] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[7] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[8] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[9] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[10] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
call TriggerRegisterUnitEvent(Trg_Transferer[0],Transferer[0],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[1],Transferer[1],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[2],Transferer[2],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[3],Transferer[3],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[4],Transferer[4],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[5],Transferer[5],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[6],Transferer[6],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[7],Transferer[7],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[8],Transferer[8],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[9],Transferer[9],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[10],Transferer[10],EVENT_UNIT_SELECTED)
set temp_code = I2C(Code_Transferer[0])
call TriggerAddAction(Trg_Transferer[0],temp_code)
call TriggerAddAction(Trg_Transferer[0],TransValue)
set temp_code = I2C(Code_Transferer[1])
call TriggerAddAction(Trg_Transferer[1],temp_code)
call TriggerAddAction(Trg_Transferer[1],TransValue)
set temp_code = I2C(Code_Transferer[2])
call TriggerAddAction(Trg_Transferer[2],temp_code)
call TriggerAddAction(Trg_Transferer[2],TransValue)
set temp_code = I2C(Code_Transferer[3])
call TriggerAddAction(Trg_Transferer[3],temp_code)
call TriggerAddAction(Trg_Transferer[3],TransValue)
set temp_code = I2C(Code_Transferer[4])
call TriggerAddAction(Trg_Transferer[4],temp_code)
call TriggerAddAction(Trg_Transferer[4],TransValue)
set temp_code = I2C(Code_Transferer[5])
call TriggerAddAction(Trg_Transferer[5],temp_code)
call TriggerAddAction(Trg_Transferer[5],TransValue)
set temp_code = I2C(Code_Transferer[6])
call TriggerAddAction(Trg_Transferer[6],temp_code)
call TriggerAddAction(Trg_Transferer[6],TransValue)
set temp_code = I2C(Code_Transferer[7])
call TriggerAddAction(Trg_Transferer[7],temp_code)
call TriggerAddAction(Trg_Transferer[7],TransValue)
set temp_code = I2C(Code_Transferer[8])
call TriggerAddAction(Trg_Transferer[8],temp_code)
call TriggerAddAction(Trg_Transferer[8],TransValue)
set temp_code = I2C(Code_Transferer[9])
call TriggerAddAction(Trg_Transferer[9],temp_code)
call TriggerAddAction(Trg_Transferer[9],TransValue)
set temp_code = I2C(Code_Transferer[10])
call TriggerAddAction(Trg_Transferer[10],temp_code)
call TriggerAddAction(Trg_Transferer[10],TransValue)
endfunction
function TransfertInteger takes player from returns nothing
set IsTransfered = false
set TransferedPlayer = (from != LocalPlayer)
call InitTransfertUnit(from)
if not(TransferedPlayer)then
set temp_int = Int_Value * 10
endif
set Int_Value = 0
set Pow10 = 0
set Transfer = 0
call TransfertNext()
endfunction
endlibrary
Il faut lancer dabord la fonction InitValue avant la première utilisation.
Puis TransfertInteger permet de synchronisé la valeur de la variable de Int_Value avec la valeur que le joueur "from" possède.
J'ai vraiment pas le temps d'écrire un roman alors je vais poster ma fonction test:
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
Posté le: 16/07/08 18:31 Sujet du message:
Citation:
Stp fais un exemple plus simple pk diable la création d'unités ?
C'est justement tout le principe de mon système.
Le principe est tant que une action provoqué localement de façon controlé provoque une réaction "globalement" alors ont peut transféré des données entre les différent joueur.
Et comme moyens j'ai utilisé la sélection des unités.
J'avais trouver que deux moyens possibles:
Les compétence (Force UI Key) ou les sélections , j'ai trouver que c'était plus simple la sélection.
Sinon l'exemple c'est simplement qu'ont provoque la création d'une information local et après ont essaye de la display sur un autre ordinateur , si elle est display correctement c'est que le système a pu transféré l'information entre les différent ordinateur.
Mais voila le système fait un peu "se qu'il veut" parfois sa marche parfois sa marche pas , actuellement a mon dernier test plus rien ne marcher.
Edit(2):
V3 avec son test a faire en solo qui explique d'ouï vient le problème , mais pas assez précisément bien sur.
private function TransfertNext takes nothing returns nothing
if(TransferedPlayer)then
return
else
set temp_int = R2I((temp_int - Transfer) / 10)
if (temp_int == 0)then
if(Int_Value_Negative)then
set Int_Value_Negative = false
set Transfer = 0
set temp_int = temp_int * 10
call SelectUnit(Transferer[Transfer],false)
call SelectUnit(Transferer[11],true)
call SelectUnit(Transferer[11],false)
return
endif
call SelectUnit(Transferer[Transfer],false)
call SelectUnit(Transferer[10],true)
call SelectUnit(Transferer[10],false)
return
endif
call SelectUnit(Transferer[Transfer],false)
call SelectUnit(Transferer[ModuloInteger(temp_int,10)],true)
endif
endfunction
private function AddTransfertToValue takes nothing returns nothing
if(Transfer == 0)then
set Pow10 = Pow10 + 1
call TransfertNext()
return
elseif(Transfer == -1)then
set IsTransfered = true
call EndTransfert()
return
elseif(Transfer == -2)then
set Negative_Value = true
call TransfertNext()
else
set Int_Value = Int_Value + (Transfer * R2I(Pow(Pow10,10)))
set Pow10 = Pow10 + 1
call TransfertNext()
endif
endfunction
private function Set0 takes nothing returns nothing
set Transfer = 0
endfunction
private function Set1 takes nothing returns nothing
set Transfer = 1
endfunction
private function Set2 takes nothing returns nothing
set Transfer = 2
endfunction
private function Set3 takes nothing returns nothing
set Transfer = 3
endfunction
private function Set4 takes nothing returns nothing
set Transfer = 4
endfunction
private function Set5 takes nothing returns nothing
set Transfer = 5
endfunction
private function Set6 takes nothing returns nothing
set Transfer = 6
endfunction
private function Set7 takes nothing returns nothing
set Transfer = 7
endfunction
private function Set8 takes nothing returns nothing
set Transfer = 8
endfunction
private function Set9 takes nothing returns nothing
set Transfer = 9
endfunction
private function SetEnd takes nothing returns nothing
set Transfer = -1
endfunction
private function SetNegative takes nothing returns nothing
set Transfer = -2
endfunction
function InitValue takes nothing returns nothing
set Code_Transferer[0] = C2I(function Set0)
set Code_Transferer[1] = C2I(function Set1)
set Code_Transferer[2] = C2I(function Set2)
set Code_Transferer[3] = C2I(function Set3)
set Code_Transferer[4] = C2I(function Set4)
set Code_Transferer[5] = C2I(function Set5)
set Code_Transferer[6] = C2I(function Set6)
set Code_Transferer[7] = C2I(function Set7)
set Code_Transferer[8] = C2I(function Set8)
set Code_Transferer[9] = C2I(function Set9)
set Code_Transferer[10] = C2I(function SetEnd)
set Code_Transferer[11] = C2I(function SetNegative)
set Trg_Transferer[0] = CreateTrigger()
set Trg_Transferer[1] = CreateTrigger()
set Trg_Transferer[2] = CreateTrigger()
set Trg_Transferer[3] = CreateTrigger()
set Trg_Transferer[4] = CreateTrigger()
set Trg_Transferer[5] = CreateTrigger()
set Trg_Transferer[6] = CreateTrigger()
set Trg_Transferer[7] = CreateTrigger()
set Trg_Transferer[8] = CreateTrigger()
set Trg_Transferer[9] = CreateTrigger()
set Trg_Transferer[10] = CreateTrigger()
set Trg_Transferer[11] = CreateTrigger()
set TransValue = (function AddTransfertToValue)
set LocalPlayer = GetLocalPlayer()
endfunction
function InitTransfertUnit takes player Plr_Transferer returns nothing
set Transferer[0] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[1] = CreateUnit(Plr_Transferer,TransfererId,200,0,0)
set Transferer[2] = CreateUnit(Plr_Transferer,TransfererId,400,0,0)
set Transferer[3] = CreateUnit(Plr_Transferer,TransfererId,600,0,0)
set Transferer[4] = CreateUnit(Plr_Transferer,TransfererId,800,0,0)
set Transferer[5] = CreateUnit(Plr_Transferer,TransfererId,1000,0,0)
set Transferer[6] = CreateUnit(Plr_Transferer,TransfererId,1200,0,0)
set Transferer[7] = CreateUnit(Plr_Transferer,TransfererId,1400,0,0)
set Transferer[8] = CreateUnit(Plr_Transferer,TransfererId,1600,0,0)
set Transferer[9] = CreateUnit(Plr_Transferer,TransfererId,1800,0,0)
set Transferer[10] = CreateUnit(Plr_Transferer,TransfererId,0,200,0)
set Transferer[11] = CreateUnit(Plr_Transferer,TransfererId,0,400,0)
call TriggerRegisterUnitEvent(Trg_Transferer[0],Transferer[0],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[1],Transferer[1],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[2],Transferer[2],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[3],Transferer[3],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[4],Transferer[4],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[5],Transferer[5],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[6],Transferer[6],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[7],Transferer[7],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[8],Transferer[8],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[9],Transferer[9],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[10],Transferer[10],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[11],Transferer[11],EVENT_UNIT_SELECTED)
set temp_code = I2C(Code_Transferer[0])
call TriggerAddAction(Trg_Transferer[0],temp_code)
call TriggerAddAction(Trg_Transferer[0],TransValue)
set temp_code = I2C(Code_Transferer[1])
call TriggerAddAction(Trg_Transferer[1],temp_code)
call TriggerAddAction(Trg_Transferer[1],TransValue)
set temp_code = I2C(Code_Transferer[2])
call TriggerAddAction(Trg_Transferer[2],temp_code)
call TriggerAddAction(Trg_Transferer[2],TransValue)
set temp_code = I2C(Code_Transferer[3])
call TriggerAddAction(Trg_Transferer[3],temp_code)
call TriggerAddAction(Trg_Transferer[3],TransValue)
set temp_code = I2C(Code_Transferer[4])
call TriggerAddAction(Trg_Transferer[4],temp_code)
call TriggerAddAction(Trg_Transferer[4],TransValue)
set temp_code = I2C(Code_Transferer[5])
call TriggerAddAction(Trg_Transferer[5],temp_code)
call TriggerAddAction(Trg_Transferer[5],TransValue)
set temp_code = I2C(Code_Transferer[6])
call TriggerAddAction(Trg_Transferer[6],temp_code)
call TriggerAddAction(Trg_Transferer[6],TransValue)
set temp_code = I2C(Code_Transferer[7])
call TriggerAddAction(Trg_Transferer[7],temp_code)
call TriggerAddAction(Trg_Transferer[7],TransValue)
set temp_code = I2C(Code_Transferer[8])
call TriggerAddAction(Trg_Transferer[8],temp_code)
call TriggerAddAction(Trg_Transferer[8],TransValue)
set temp_code = I2C(Code_Transferer[9])
call TriggerAddAction(Trg_Transferer[9],temp_code)
call TriggerAddAction(Trg_Transferer[9],TransValue)
set temp_code = I2C(Code_Transferer[10])
call TriggerAddAction(Trg_Transferer[10],temp_code)
call TriggerAddAction(Trg_Transferer[10],TransValue)
set temp_code = I2C(Code_Transferer[11])
call TriggerAddAction(Trg_Transferer[11],temp_code)
call TriggerAddAction(Trg_Transferer[11],TransValue)
endfunction
function TransfertInteger takes player from returns nothing
loop
exitwhen IsTransfered
call TriggerSleepAction(0.5)
endloop
set IsTransfered = false
set TransferedPlayer = (from != LocalPlayer)
call InitTransfertUnit(from)
set Pow10 = 0
set Transfer = 0
if not(TransferedPlayer)then
set temp_int = Int_Value * 10
if(temp_int < 0)then
set Int_Value = 0
set temp_int = temp_int * (-1)
set Int_Value_Negative = true
return
endif
endif
set Int_Value = 0
call TransfertNext()
endfunction
//===========================================================================
function InitTrig_InitMap takes nothing returns nothing
set gg_trg_InitMap = CreateTrigger( )
call TriggerAddAction( gg_trg_InitMap, function Trig_InitMap_Actions )
endfunction
La partie spoilé qui suit peut être considéré comme totalement inutile.
Secret:
Ne faite pas de commentaire négatif dessus après l'avoir lu ou ne lisez pas.
Secret:
Si vous avait fait attention , si vous tapez 3 fois 1 , la troisieme fois cela vous affichera 1025 , hors cela a l'air tout a fait anodin , mais pas si ont a envie de faire un commentaire useless.
Vous connaissait surement (pas) la suite de nombre de Lost et qui est tiré de chez pas où: 4 8 15 16 23 42
private function TransfertNext takes nothing returns nothing
if(TransferedPlayer)then
return
else
set temp_int = R2I((temp_int - Transfer) / 10)
if (temp_int == 0)then
if(Int_Value_Negative)then
set Int_Value_Negative = false
set Transfer = 0
set temp_int = temp_int * 10
call SelectUnit(Transferer[Transfer],false)
call SelectUnit(Transferer[11],true)
call SelectUnit(Transferer[11],false)
return
endif
call SelectUnit(Transferer[Transfer],false)
call SelectUnit(Transferer[10],true)
call SelectUnit(Transferer[10],false)
return
endif
call SelectUnit(Transferer[Transfer],false)
call SelectUnit(Transferer[ModuloInteger(temp_int,10)],true)
endif
endfunction
private function AddTransfertToValue takes nothing returns nothing
if(Transfer == 0)then
set Pow10 = Pow10 + 1
call TransfertNext()
return
elseif(Transfer == -1)then
set IsTransfered = true
call EndTransfert()
return
elseif(Transfer == -2)then
set Negative_Value = true
call TransfertNext()
else
set Int_Value = Int_Value + (Transfer * R2I(Pow(10,Pow10)))
set Pow10 = Pow10 + 1
call TransfertNext()
endif
endfunction
private function Set0 takes nothing returns nothing
set Transfer = 0
endfunction
private function Set1 takes nothing returns nothing
set Transfer = 1
endfunction
private function Set2 takes nothing returns nothing
set Transfer = 2
endfunction
private function Set3 takes nothing returns nothing
set Transfer = 3
endfunction
private function Set4 takes nothing returns nothing
set Transfer = 4
endfunction
private function Set5 takes nothing returns nothing
set Transfer = 5
endfunction
private function Set6 takes nothing returns nothing
set Transfer = 6
endfunction
private function Set7 takes nothing returns nothing
set Transfer = 7
endfunction
private function Set8 takes nothing returns nothing
set Transfer = 8
endfunction
private function Set9 takes nothing returns nothing
set Transfer = 9
endfunction
private function SetEnd takes nothing returns nothing
set Transfer = -1
endfunction
private function SetNegative takes nothing returns nothing
set Transfer = -2
endfunction
function InitValue takes nothing returns nothing
set Code_Transferer[0] = C2I(function Set0)
set Code_Transferer[1] = C2I(function Set1)
set Code_Transferer[2] = C2I(function Set2)
set Code_Transferer[3] = C2I(function Set3)
set Code_Transferer[4] = C2I(function Set4)
set Code_Transferer[5] = C2I(function Set5)
set Code_Transferer[6] = C2I(function Set6)
set Code_Transferer[7] = C2I(function Set7)
set Code_Transferer[8] = C2I(function Set8)
set Code_Transferer[9] = C2I(function Set9)
set Code_Transferer[10] = C2I(function SetEnd)
set Code_Transferer[11] = C2I(function SetNegative)
set TransValue = (function AddTransfertToValue)
set LocalPlayer = GetLocalPlayer()
endfunction
function InitTransfertUnit takes player Plr_Transferer returns nothing
set Transferer[0] = CreateUnit(Plr_Transferer,TransfererId,0,0,0)
set Transferer[1] = CreateUnit(Plr_Transferer,TransfererId,200,0,0)
set Transferer[2] = CreateUnit(Plr_Transferer,TransfererId,400,0,0)
set Transferer[3] = CreateUnit(Plr_Transferer,TransfererId,600,0,0)
set Transferer[4] = CreateUnit(Plr_Transferer,TransfererId,800,0,0)
set Transferer[5] = CreateUnit(Plr_Transferer,TransfererId,1000,0,0)
set Transferer[6] = CreateUnit(Plr_Transferer,TransfererId,1200,0,0)
set Transferer[7] = CreateUnit(Plr_Transferer,TransfererId,1400,0,0)
set Transferer[8] = CreateUnit(Plr_Transferer,TransfererId,1600,0,0)
set Transferer[9] = CreateUnit(Plr_Transferer,TransfererId,1800,0,0)
set Transferer[10] = CreateUnit(Plr_Transferer,TransfererId,0,200,0)
set Transferer[11] = CreateUnit(Plr_Transferer,TransfererId,0,400,0)
set Trg_Transferer[0] = CreateTrigger()
set Trg_Transferer[1] = CreateTrigger()
set Trg_Transferer[2] = CreateTrigger()
set Trg_Transferer[3] = CreateTrigger()
set Trg_Transferer[4] = CreateTrigger()
set Trg_Transferer[5] = CreateTrigger()
set Trg_Transferer[6] = CreateTrigger()
set Trg_Transferer[7] = CreateTrigger()
set Trg_Transferer[8] = CreateTrigger()
set Trg_Transferer[9] = CreateTrigger()
set Trg_Transferer[10] = CreateTrigger()
set Trg_Transferer[11] = CreateTrigger()
call TriggerRegisterUnitEvent(Trg_Transferer[0],Transferer[0],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[1],Transferer[1],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[2],Transferer[2],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[3],Transferer[3],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[4],Transferer[4],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[5],Transferer[5],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[6],Transferer[6],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[7],Transferer[7],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[8],Transferer[8],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[9],Transferer[9],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[10],Transferer[10],EVENT_UNIT_SELECTED)
call TriggerRegisterUnitEvent(Trg_Transferer[11],Transferer[11],EVENT_UNIT_SELECTED)
set temp_code = I2C(Code_Transferer[0])
call TriggerAddAction(Trg_Transferer[0],temp_code)
call TriggerAddAction(Trg_Transferer[0],TransValue)
set temp_code = I2C(Code_Transferer[1])
call TriggerAddAction(Trg_Transferer[1],temp_code)
call TriggerAddAction(Trg_Transferer[1],TransValue)
set temp_code = I2C(Code_Transferer[2])
call TriggerAddAction(Trg_Transferer[2],temp_code)
call TriggerAddAction(Trg_Transferer[2],TransValue)
set temp_code = I2C(Code_Transferer[3])
call TriggerAddAction(Trg_Transferer[3],temp_code)
call TriggerAddAction(Trg_Transferer[3],TransValue)
set temp_code = I2C(Code_Transferer[4])
call TriggerAddAction(Trg_Transferer[4],temp_code)
call TriggerAddAction(Trg_Transferer[4],TransValue)
set temp_code = I2C(Code_Transferer[5])
call TriggerAddAction(Trg_Transferer[5],temp_code)
call TriggerAddAction(Trg_Transferer[5],TransValue)
set temp_code = I2C(Code_Transferer[6])
call TriggerAddAction(Trg_Transferer[6],temp_code)
call TriggerAddAction(Trg_Transferer[6],TransValue)
set temp_code = I2C(Code_Transferer[7])
call TriggerAddAction(Trg_Transferer[7],temp_code)
call TriggerAddAction(Trg_Transferer[7],TransValue)
set temp_code = I2C(Code_Transferer[8])
call TriggerAddAction(Trg_Transferer[8],temp_code)
call TriggerAddAction(Trg_Transferer[8],TransValue)
set temp_code = I2C(Code_Transferer[9])
call TriggerAddAction(Trg_Transferer[9],temp_code)
call TriggerAddAction(Trg_Transferer[9],TransValue)
set temp_code = I2C(Code_Transferer[10])
call TriggerAddAction(Trg_Transferer[10],temp_code)
call TriggerAddAction(Trg_Transferer[10],TransValue)
set temp_code = I2C(Code_Transferer[11])
call TriggerAddAction(Trg_Transferer[11],temp_code)
call TriggerAddAction(Trg_Transferer[11],TransValue)
endfunction
function TransfertInteger takes player from returns nothing
loop
exitwhen IsTransfered
call TriggerSleepAction(0.5)
endloop
set IsTransfered = false
set TransferedPlayer = (from != LocalPlayer)
call InitTransfertUnit(from)
set Pow10 = 0
set Transfer = 0
if not(TransferedPlayer)then
set temp_int = Int_Value * 10
if(temp_int < 0)then
set temp_int = temp_int * (-1)
set Int_Value_Negative = true
endif
endif
set Int_Value = 0
call TransfertNext()
endfunction
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
Posté le: 18/07/08 00:46 Sujet du message:
1) Up !
2) Double Post (normal pour un up)
3) La fonction vous parrait si nul / inutile que sa ?
4) Profet , tu peut m'expliqué comment faire 100...000 plus simple , enfin si c'est possible , j'en doute?
5) Faut bien que je remplisse le message pour qu'ont dise pas que je double post pour rien. _________________
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
Posté le: 18/07/08 18:50 Sujet du message:
Je pense qu'il y a quelque amélioration possible , mais se sera très peu niveau % , ont gagnera peut-être 5%.
Enfin sauf si Profet a une solution miracle , mais je vois vraiment pas.
Mais c'est surtout que je vais peut être ajouté d'autre type de transfert , comme des réel ou string (j'ai vraiment du mal a voir comment transferé les string mdr) par exemple. _________________
Sinon faudrait utiliser des textmacros pour inliner les fonctions que tu appelles dans ton système, pour rendre le code plus performant.
Juste la fonction TransfertNext.
Tu ne gagneras pas en intervalle minimum entre chaque utilisation, mais en performance.
Sinon j'ai horreur des systèmes bancals.
Nul offense, celui de Toadcoap l'est tout autant.
Par bancal je veux dire que ce n'est pas transparent, c'est lent et la période entre chaque utilisation possible est relativement longue.
Je suis tout à fait conscient que l'on ne peut faire mieux, du aux limites du jass.
Pour le même genre d'inconvénients j'exècre les systèmes de détection de dommage. _________________
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
Posté le: 18/07/08 23:04 Sujet du message:
Ben sa peut être transparent en mettant la caméra autre part , et puis j'ai mit le type d'unité dans une constante pour qu'ont puisse utilisé son propre type qui est plus transparent qu'un paysan.
Mais c'est sur que c'est pas un système qui doit être inclus dans le système de jeu de la carte , mais simplement une chose qui est utilisé en moment spécial.
Edit: Après avoir vu le système du lien que tu m'a passé , sa ressemble a peu près au mien mais il utilise des string pour les transfert , pour un transfert d'entier je trouve sa un peu "lourd" , par rapport a mon système de puissance de 10.
Mais son système a l'avantage d'être plus invisible (enfin j'en ai l'impression en voyant le code) , mais c'est pas le point qui m'intéresser dans mon code , pour l'instant j'essayai de le faire fonctionné. _________________
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