Aller au contenu

Bienvenue sur le site du Clan des Officiers !

Guest Image

Si vous appréciez le contenu de notre site nous vous invitons à vous inscrire. Vous pourrez ainsi participer aux nombreuses discussions de notre forum. Pour échanger avec plus de 2000 passionnés de jeux sur thème de seconde guerre mondiale quelques secondes suffisent !

La page d'inscription est disponible ici.

Après votre inscription il est vivement recommandé de poster un message de présentation dans le forum des nouveaux arrivants. Cela nous permets de connaître le profil des personnes qui nous rejoignent. Une présentation de qualité, sur le fond comme sur la forme, est indispensable si vous souhaitez accéder à notre serveur audio, lieu de rencontre de nombreux joueurs francophones pour nos parties en réseau. Ce premier contact par écrit est aussi nécessaire si vous souhaitez rédiger d'autres messages.
 
Lors de votre inscription, le choix de votre pseudo et de votre image de profil (avatar) doivent être conformes à notre charte sous peine de suppression immédiate. Il est notamment interdit d'utiliser des pseudos ou des images de profil (avatars) de soldats d'un pays de l'Axe.
 
Ce message et les bannières publicitaires n'apparaissent plus pour les inscrits.


D0omHammer

Comment faire pour laisser passer du temps !

Messages recommandés

Voilà je m'interroge sur la fonction à utiliser pour faire passer du temps avant l'arrivé de nouveaux renforts.Par exemple imaginons des renforts affiliés à un drapeau. Le drapeau pris par le joueur il doit reçevoir plusieurs unités mais qui n'ont pas le même groupe, donc il faudrait qu'il reçoive une partie des renforts à x temps et l'autre juste après. Mais j'ai beau chercher, je ne trouve pas de commande pour laisser passer un peu de temps avant de donner d'autres renforts.Si je transcris en Lua voilà ce que ça donne:function FlagRenf1() if ( GetNUnitsInArea(0, "flag1") >= 1) then LandReinforcement(102); Suicide(); end;end;J'aimerais qu'après ceci il y ait cela mais pas que les renforts arrivent en meme temps : LandReinforcement(102); LandReinforcement(103);En esperant avoir été plus ou moins compréhensible :)

Partager ce message


Lien à poster
Partager sur d’autres sites

salut,essaye une fois avec un timing en miliseconde! comme le suivant!

function Renfort101()LandReinforcement(101);end;function Renfort102()LandReinforcement(102);end;function init()RunScript("Renfort101",1800000); RunScript("Renfort102",1200000); end;end;
enfin quelques chose de ce genre là, parceque ici c'est normalement pour une map single player,donc je ne connais pas, si les script lua pour les map multi sont identique, ou si il faut modifier quelques param!sinon comme tu veut avoir tes renforts suivant avoir conquis une zone!alors essaye comme cecis! mais essaye toujours en insérant la fonction timing!
function Counterstrike() if (GetNUnitsInArea(0,""regionname"") >=1) then LandReinforcement(201); Suicide(); end; end; function Init() RunScript("Counterstrike")

Partager ce message


Lien à poster
Partager sur d’autres sites

comme ici

function Init()--	RunScript( "EtherealBridge", 1000);RunScript("Reinf1", 200000,1);RunScript("Reinf2", 550000,1);RunScript("Reinf3", 990000,1);RunScript("Reinf4", 1000000,1);RunScript("Reinf5", 1500000,1);RunScript("Reinf6", 2000000,1);RunScript("Reinf7", 2600000,1);RunScript("Reinf8", 3000000,1);RunScript("Reinf9", 3800000,1);RunScript("Reinf10", 4300000,1);RunScript("Reinf11", 4800000,1);RunScript("Reinf12", 5600000,1);
mais regarde plutôt a quoi ressemble le script complet!
function Reinf1()DisplayTrace("Map by LFIS_member sp modif Fr ")DisplayTrace("commentaires")DisplayTrace("12 reinforcements groups; 60 minuts recommanded for play")LandReinforcement(101);Suicide ();end;function Reinf2()LandReinforcement(102);Suicide ();end;function Reinf3()LandReinforcement(103);Suicide ();end;function Reinf4()LandReinforcement(101);Suicide ();end;function Reinf5()LandReinforcement(102);Suicide ();end;function Reinf6()LandReinforcement(103);Suicide ();end;function Reinf7()LandReinforcement(101);Suicide ();end;function Reinf8()LandReinforcement(102);Suicide ();end;function Reinf9()LandReinforcement(103);Suicide ();end;function Reinf10()LandReinforcement(101);Suicide ();end;function Reinf11()LandReinforcement(102);Suicide ();end;function Reinf12()DisplayTrace("END OF REINFORCEMENTS")LandReinforcement(103);Suicide ();end;function EtherealBridge()local num, totalnum = 901, 904;local MaxHP = 500;	while (num <= totalnum)	do		if ( GetNUnitsInScriptGroup(num) > 0) then		HP = GetObjectHPs(num);			if ( HP < MaxHP) then				DamageObject( num, HP - MaxHP);			end;		else DamageObject( num, -MaxHP);		end;		num = num + 1;	end;function Init()--	RunScript( "EtherealBridge", 1000);RunScript("Reinf1", 200000,1);RunScript("Reinf2", 550000,1);RunScript("Reinf3", 990000,1);RunScript("Reinf4", 1000000,1);RunScript("Reinf5", 1500000,1);RunScript("Reinf6", 2000000,1);RunScript("Reinf7", 2600000,1);RunScript("Reinf8", 3000000,1);RunScript("Reinf9", 3800000,1);RunScript("Reinf10", 4300000,1);RunScript("Reinf11", 4800000,1);RunScript("Reinf12", 5600000,1);end;end;

Partager ce message


Lien à poster
Partager sur d’autres sites

Disons que je connais déjà cela. J'ai fais mon script comme ceci, mais j'aimerai avoir moins à écrire :)function FlagRenf1() if ( GetNUnitsInArea(0, "flag1") >= 1) then LandReinforcement(102); Suicide(); end;end;function FlagRenf2() if ( GetNUnitsInArea(0, "flag1") >= 1) then LandReinforcement(103); Suicide(); end;end;function FlagRenf3() if ( GetNUnitsInArea(0, "flag1") >= 1) then LandReinforcement(104); Suicide(); end;end;function FlagRenf4() if ( GetNUnitsInArea(0, "flag1") >= 1) then LandReinforcement(105); Suicide(); end;end;Car bon là je dois me taper une fonction à chaque fois que j'ajoute un nouveau renfort et c'est pas le top

Partager ce message


Lien à poster
Partager sur d’autres sites

regarde ici maintenant cela provient d'une map multi

function Beginn()	DisplayTrace ("Stalingrad");	DisplayTrace ("  www.blitzkrieg2.wz.cz, .:CZd:. ");	  DisplayTrace (" [CZd]Kuna ");			  DisplayTrace ("Obsadte vsechny vlajky");	end;function Beginnend()	KillScript("Beginn");end;function posila1()LandReinforcement(10);end;	function posila3()LandReinforcement(100);end;	function posila2()LandReinforcement(20);end;function posila4()LandReinforcement(200);end;	function Init()RunScript("Beginn", 1200,1);RunScript( "posila1", 200000,9);RunScript( "posila2", 200000,9);RunScript( "posila3", 200000,9);RunScript( "posila4", 200000,9);end;
ça c'est kun@ qui a composer ce script pour une map multi!

Partager ce message


Lien à poster
Partager sur d’autres sites
sinon regarde et je dit bien essaye de comprendre ce script!parceque il sort de la norme donc pour moi c'est du charabia!donc j'espère que toi tu arrivera a digérer la notice d'emploi!
DisplayTrace("																											-EK1-")function Info0()		DisplayTrace("																					 Willkommen auf -EK1-Panzer Alarm")		Suicide();end;function Info1()   DisplayTrace("																							 Gebaut von -EK1-Ritterkreuz-")		Suicide();end;function Info2()   DisplayTrace("																									  Viel Spass")		Suicide();end;function Info3()   DisplayTrace("																									  www.d-n-g.de")		Suicide();end;function Info4()   DisplayTrace("																									   14.02.2007")		Suicide();end;function Info5()		DisplayTrace("ENG:   Every player can build Tank and Squads, only if the office must be occupied ")		DisplayTrace("	   Put Officer or Squad in the -OFFICE-(the house with the green roof)  ")		DisplayTrace("	   And you will receive 1 Tank or Squad every 5 minutes. ")		DisplayTrace("-------------------------------------------------------------------------------------------------------")		DisplayTrace("GER:	Jeder Spieler kann Panzer und Inf. Produzieren, dazu muss das Büro besetzt werden.  ")		DisplayTrace("		Also den Offizier in das Büro Gebäude setzen (Das Haus mit dem grünem Dach).  ")		DisplayTrace("-------------------------------------------------------------------------------------------------------")		DisplayTrace("FRA:   Tous les joueurs peuvent construire Tanks et Infantries si seulement La Batisse -OFFICE- ")		DisplayTrace("	   est occupees. Mettez des officiers ou infantries dans L Office (La batisse avec le toit vert)")		DisplayTrace("	   Et vous recevrez 1 Tank ou infantrie tout les 5 minutes ")		DisplayTrace("-------------------------------------------------------------------------------------------------------")		Suicide();end;function Info6()		DisplayTrace("ENG:   I insert DivS-Schrotti Script for *****ing Quitters and Players Crash ")		DisplayTrace("	   If you crash or you 'Quit' the game your Team continue to receive your Reinforcement")		DisplayTrace("	   for the rest of the game.")		DisplayTrace("-------------------------------------------------------------------------------------------------------")		DisplayTrace("GER:   Das Script von DivS-Schrotti wurde speziell fuer 'Quitters' oder einen Crash integriert ")		DisplayTrace("	   Wenn einer aus einem Team rausfliegt oder quitet bekommt einer aus eurem Team die Verstärkung	")		DisplayTrace("	   (Der am wenigsten Einheiten hat) ")		DisplayTrace("-------------------------------------------------------------------------------------------------------")		DisplayTrace("FRA:   J ai introduit le Script de DivS-Schrotti pour les Trous d'Cul de Quitters ou pour ceux qui ")		DisplayTrace("	   ont simplement Crasher.Votre equipe continue de recevoir ses Renforts pour le reste de la partie.")		DisplayTrace("		")		DisplayTrace("-------------------------------------------------------------------------------------------------------")		Suicide();end;function LR(x)		 LandReinforcement(x)endfunction Rad(x)		 local z = RandomInt(x)		 return zendfunction IPP(x)		 local z = IsPlayerPresent(x)		 return zendfunction Inital_Reinf()		 for i = 0, max_player do			 if IPP(i) == 1 then				if Init_count[i] < max_init then				   if (GetNUnitsInScriptGroup(i + 1) + GetNUnitsInScriptGroup((i + 1) * 10)) <= min_init then					  LR((i + 1) * 10)					  Init_count[i] = Init_count[i] + 1				   end				end			 end		 endendfunction PPS(x, y)		 local z = 0		 while x <= y do			   if IPP(x) == 1 then				  z = z + 1			   end			   x = x + 1		 end		 return zendfunction Check_Player()		 sas = 0		 sae = sps - 1		 sbs = sps		 sbe = max_player		 seite_d = PPS(sas, sae)		 seite_u = PPS(sbs, sbe)		 tmpd = 1000		 tmpu = 1000		 for z = 0, max_player do			 if IPP(z) == 0 then				 if z < sps then					if seite_d > 0 then					   while sas <= sae do							 if IPP(sas) == 1 then								if GetNUnitsInPlayerUF(sas) < tmpd then								   tmpd = GetNUnitsInPlayerUF(sas)								   min_ply_d = sas								end							 end							 sas = sas + 1					   end					   sp_min_d = min_ply_d + 1					   reinf_d = sp_min_d * 100 + std_reinf					   LR(reinf_d)					end				 else					 if seite_u > 0 then						while sbs <= sbe do							  if IPP(sbs) == 1 then								 if GetNUnitsInPlayerUF(sbs) < tmpu then									tmpu = GetNUnitsInPlayerUF(sbs)									min_ply_u = sbs								 end							  end							  sbs = sbs + 1						end						sp_min_u = min_ply_u + 1						reinf_u = sp_min_u * 100 + std_reinf						LR(reinf_u)					 end				  end			 end		 end		 std_reinf = std_reinf + 1		 if std_reinf > max_reinf then			std_reinf = 0		 end		 RunScript("add_units",20000,1)endfunction factory()		 local sw = 0		 local spa = 120		 local spb = 130		 for n = 0, max_player do			 if sw == sps then				sw = 0			 end				if IPP(n) == 1 then				   if (GetNUnitsInArea(n, "office_1") > 0) and (GetObjectHPs(1000) > 100 ) and (GetObjectHPs(1100 + sw) > 100 ) then						 if Office1[n] == reinf_fac then							LR(spa + Rad(rd))							units_pl[n] = units_pl[n] + 1							Office1[n] = 0						 end				   Office1[n] = Office1[n] + 1				   end				   if (GetNUnitsInArea(n, "office_2") > 0) and (GetObjectHPs(2000) > 100 ) and (GetObjectHPs(2100 + sw) > 100 ) then						 if Office2[n] == reinf_fac then							LR(spb + Rad(rd))							units_pl[n] = units_pl[n] + 1							Office2[n] = 0						 end				   Office2[n] = Office2[n] + 1				   end				end			 sw = sw + 1			 spa = spa + 100			 spb = spb + 100		 endendfunction factory_inf()		 local sw = 0		 local spa = 140		 local spb = 150		 for m = 0, max_player do			 if sw == sps then				sw = 0			 end				if IPP(m) == 1 then				   if (GetNUnitsInArea(m, "office_3") > 0) and (GetObjectHPs(3000) > 100 ) and (GetObjectHPs(3100 + sw) > 100 ) then						 if Office3[m] == reinf_fac then							LR(spa)							units_pl[m] = units_pl[m] + 1							Office3[m] = 0						 end				   Office3[m] = Office3[m] + 1				   end				   if (GetNUnitsInArea(m, "office_4") > 0) and (GetObjectHPs(4000) > 100 ) and (GetObjectHPs(4100 + sw) > 100 ) then						 if Office4[m] == reinf_fac then							LR(spb)							units_pl[m] = units_pl[m] + 1							Office4[m] = 0						 end				   Office4[m] = Office4[m] + 1				   end				end			 sw = sw + 1			 spa = spa + 100			 spb = spb + 100		 endendfunction Reinf()		 local SC_ID = 100		 for y = 0, max_player do			 if IPP(y) == 1 then				LR(SC_ID + std_reinf)			 end		 SC_ID = SC_ID + 100		 end		 RunScript("Check_Player",10000,1)endfunction EtherealBridge()local num, totalnum = 900, 905local MaxHP = 1500		while num <= totalnum do				if ( GetNUnitsInScriptGroup(num) > 0) then					 HP = GetObjectHPs(num)					 if ( HP < MaxHP) then						  DamageObject( num, HP - MaxHP)					 end				else					 DamageObject( num, -MaxHP)				end				num = num + 1		endendfunction Service_Truck()		 local SID = 10		 for u = 0, max_player do			 if IPP(u) == 1 then				if GetNUnitsInScriptGroup(SID + 1) < 1 then				   LR(SID + 1)				end				if GetNUnitsInScriptGroup(SID + 2) < 1 then				   LR(SID + 2)				end			 end			 SID = SID + 10		 endendfunction Check_split()		 ak_ply = add_ply()		 if ak_ply < ply_start then			ply_start = add_ply()			add_units()		 end		 for d = 0, max_player do			 units_ak = GetNUnitsInPlayerUF(d)					  if units_ak > (units_pl[d] + 8) then							DisplayTrace ("Achtung Player %g Split Inf.", d)					  end		 endendfunction add_ply()		 local x = 0		 for q = 0, max_player do			 if IPP(q) > 0 then				x = x + 1			 end		 end		 return xendfunction add_units()		 for a = 0, max_player do			 units_pl[a] = GetNUnitsInPlayerUF(a)		 endendfunction Init()		 max_reinf = 5	-- Maximale Verstärkungen		 max_player = 8   -- Maximale Spieler Zahl		 max_init = 3	 -- Wieviel Initial Verstärkung kommen soll		 min_init = 1	 -- Ab wann Initial Verstärkung kommt		 reinf_fac = 16   -- Bis wie weit gezählt wird		 rd = 3		   -- Random for Factory--------------------------------------------------------- Nicht diesen Block ändern -- Not change the block --		sps = max_player / 2		std_reinf = 0		max_player = max_player - 1		ply_start = add_ply()		Init_count = {}		Office1 = {}		Office2 = {}		Office3 = {}		Office4 = {}		units_pl = {}		for e = 0, max_player do			units_pl[e] = GetNUnitsInPlayerUF(e)			Init_count[e] = 0			Office1[e] = 0			Office2[e] = 0			Office3[e] = 0			Office4[e] = 0		end-------------------------------------------------------		RunScript("Info0", 10000)		RunScript("Info1", 20000)		RunScript("Info2", 30000)		RunScript("Info3", 50000)		RunScript("Info4", 60000)		RunScript("Info5", 70000)		RunScript("Info6", 80000)		RunScript("Inital_Reinf",30000)		RunScript("Reinf",600000)		RunScript("factory",18750)		RunScript("factory_inf",15250)		RunScript("Check_split", 30000000)--		RunScript("EtherealBridge", 25000)--		RunScript("Service_Truck", 4000, 1)--		RunScript("Service_Truck", 60000)end

Partager ce message


Lien à poster
Partager sur d’autres sites

Très intéressant, ça m'a permis de voir qq trucs qui faudra que j'essai.Sinon pour comprendre complètement le script là, il faudrait avoir la map pour voir déjà si il a placé des Area et autres trucs du style :) Mais Merci Leclerc :P

Partager ce message


Lien à poster
Partager sur d’autres sites

Un gros boulot ce script, sinon faudrait essayer les paragraphes un par un avec le mapeditor si tu ne trouve pas leurs significations :) .Si tu ne veux pas que tes renforts arrivent en même temp je dirai qu'il faudrait faire des scripts supplémentaire.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense que le manuscrit de "stalingrad" est beaucoup trop compliqué.I think the "stalingrad" script is much too complicated.Ce résultat peut être réalisé avec un manuscrit beaucoup plus simple.This result can be achieved with a much simpler script.il n'y aura aucun problème en utilisant la majorité du manuscrit "single player" dans les jeux multijoueurs.there will be no problem using the majority of "single player" script in multiplayer games. Nous en avons déjà employé.Already we have used some. :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense que le manuscrit de "stalingrad" est beaucoup trop compliqué.I think the "stalingrad" script is much too complicated.Ce résultat peut être réalisé avec un manuscrit beaucoup plus simple.This result can be achieved with a much simpler script.il n'y aura aucun problème en utilisant la majorité du manuscrit "single player" dans les jeux multijoueurs.there will be no problem using the majority of "single player" script in multiplayer games. Nous en avons déjà employé.Already we have used some. :)

hi OtistheBogan, i think to write this answer, you have use a translator, so we you don't know french language, i answer you in english!have you would speak from EK I multimap, or from real stalingrad script?if i look stalingrad script, this is real basis structure, but EK I (for eisen kreuz I) so this last script use a specifical script, and i think the better way to know all script possibility, is to compare what other mapper have use as script! and here is proof, that is other available function!what know our from lua function used in bk?we know that real lua, so lua 5.0 or lua 4.0 give a heavy other list of function, so difference in bk, is accurate by a light modified variation compared of original lua!sure is, that all function bk engine don't understand it, because programmer have insert function in hard writing (dll or exe file)

Partager ce message


Lien à poster
Partager sur d’autres sites

Leclerc, merci de traduire ton message en français s'il te plait. Ton intervention est sans doute interressante mais incompréhensible pour une partie de nos visiteurs. Si tu veux dialoguer en anglais avec OtistheBogan tu peut le faire en message privé.

Partager ce message


Lien à poster
Partager sur d’autres sites

trraduction!hi OtistheBogan, i think to write this answer, you have use a translator, so we you don't know french language, i answer you in english!Salut OtistheBogan, j'ai pensé t'écrire cette réponse en langue anglaise, parceque j'ai vue que tu a utiliser un traducteur automatique, et comme tu ne comprend pas la langue francaise, je te répondrais ainsi en Anglaishave you would speak from EK I multimap, or from real stalingrad script?As tu parler du script provenant de la multimap EK I, ou de celui de Stalingrad?if i look stalingrad script, this is real basis structure, but EK I (for eisen kreuz I) so this last script use a specifical script, and i think the better way to know all script possibility, is to compare what other mapper have use as script! and here is proof, that is other available function!Parceque si je regarde le script provenant de la multimap de Stalingrad; celui ci détient une structure assez basic, mais le script issue de EKI(pour Eisen Kreuz I (croix de fer I))ainsi ce dernier script, utilise beaucoup plus des spécifications, et la meilleur manière pour connaitre toutes les possibilités scriptable, c'est de comparer les scripts que les autres mappeurs ont utiliser pour leurs cartes!what know our from lua function used in bk?we know that real lua, so lua 5.0 or lua 4.0 give a heavy other list of function, so difference in bk, is accurate by a light modified variation compared of original lua!Que savont nous sur les fonctions lua utiliser dans BK?Nous savont que les focntions issue du Lua originale, ainsi lua 4.0 (pour bkI) et lua 5.0 (pour le moteur bk II) dispose d'une liste de fonctions beaucoup plus grandes, ainsi la différence dans bk, est que la variante de bk, est une version alégée en le comparant au lua originale. sure is, that all function bk engine don't understand it, because programmer have insert function in hard writing (dll or exe file)Il est sur que toute les fonctions lua, le moteur du jeu de bk, ne le comprendra pas, puisque les programmeurs on inséré la liste des fonctions dans le programme en lui même (exe ou dll)voilà traduction est faite,ainsi toute les personnes francophone comprendront ma réponse!

Partager ce message


Lien à poster
Partager sur d’autres sites

D'ailleurs autre petit question, est-ce qu'il est possible de mettre par exemple avec l'arrivée d'un renfort spécifique, un texte particulier au joueur qu'il l'a reçu ? Et non a tout les joueurs.

Partager ce message


Lien à poster
Partager sur d’autres sites

bien alors maintenant, il faut que ton cervaux pense comme l'ordi!donc: Quel est en script lua, la commande qui spécifie le joueur 1 et le joueur 2?donc tu essaye, d'inserer la focntion display trace en indiquant le noueur 1 ou le joueur 2!et tout naturellement tu inséère cette fonction sous le script de ton "landreinfocement" comme ici

function GerEng1() if (GetNUnitsInScriptGroup(600) <= 4) then LandReinforcement(601); 			   LandReinforcement(602); 			   LandReinforcement(603); 			   DisplayTrace ("A British tank battalion, is joining the Battle!"); Suicide(); end; end;
mais ici je pense que le message vas être lu par les deux joueur, non? (a essayer)

Partager ce message


Lien à poster
Partager sur d’autres sites

Depuis que j'ai vu tous ces codes pour faire du mapping, eh ben j'aime plus le mapping :(:D j'déconne mais bon ... si quelqu'un POUVAIT m'expliquer ce serait cool merci :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...