M3hdi Posté(e) le 6 juin 2009 Partager Posté(e) le 6 juin 2009 FOSE EST REQUIS DANS TOUS LES SCRIPTS(sauf indaction contraire) Hello, voilà pour tous ceux qui essayent de faire des mods, ou ceux qui cherchent des idées des mods je vous propose des scripts plus ou moins avancés. Le premier script permet de lancer des bruitages suivant où se trouve le joueur, l'heure, etc Par exemple imaginez entendre des bruits de hurlements dans les métros, imaginez de cris de loup pendant une exploration nocturne, imaginez des bruits de couples en train de niquer quand vous passez devant une maison en pleine nuit, bref on peux en faire des choses, et améliorer vraiment le jeu grace à ce mod. scn FUzzSCRIPTzzAMBIANCE short doonce short VARrandom short VARlieu float timer Begin Gamemode set VARrandom to (GetRandomPercent) set timer to timer + GetSecondsPassed if player.GetInCell FranklinMetro01 == 1 set varLIEU to 1 elseif player.GetInCell FranklinMetro02 == 1 set varLIEU to 1 elseif player.GetInCell Metrocenter08 == 1 set varLIEU to 1 elseif player.GetInCell Metrocenter07 == 1 set varLIEU to 1 elseif player.GetInCell Metrocenter06 == 1 set varLIEU to 1 elseif player.GetInCell Metrocenter05 == 1 set varLIEU to 1 elseif player.GetInCell Metrocenter04 == 1 set varLIEU to 1 elseif player.GetInCell Metrocenter03 == 1 set varLIEU to 1 elseif player.GetInCell Metrocenter02 == 1 set varLIEU to 1 elseif player.GetInCell Metrocenter01 == 1 set varLIEU to 1 elseif player.GetInCell Merestimetro01 == 1 set varLIEU to 1 elseif player.GetInCell Merestimetro02 == 1 set varLIEU to 1 elseif player.GetInCell FriendshipMetro02 == 1 set varLIEU to 1 elseif player.GetInCell FriendshipMetro01 == 1 set varLIEU to 1 ;ajouter d'autres cellules avec d'autres valeurs à varLIEU else set varLIEU to 0 endif if timer = 30 ; toutes les 30 secondes set timer to 0 if varLIEU == 1 ; si le player est dans un métro if VARrandom > 99 ; 1% de chances d'entendre un son playersound FUzzSOUNDzzMETRO1 elseif > 98 playersound FUzzSOUNDzzMETRO2 elseif > 97 playersound FUzzSOUNDzzMETRO3 elseif > 96 playersound FUzzSOUNDzzMETRO4 elseif > 95 playersound FUzzSOUNDzzMETRO5 endif endif endif END Voilà vous voyez dans un petit script comme ça, on peu changer facilement l'ambiance du jeu. Donc je vous laisse le soin de compléter ce script, de trouver des sons angoissants ou marrant, et de vous y mettre! Je ne le fait pas moi même car je n'ai pas le temps et plus vraiment la motivation j'avoue :) Citer _______________________________________________________________________ Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3hdi Posté(e) le 10 juin 2009 Auteur Partager Posté(e) le 10 juin 2009 une autre idée facile, pouvoir récupérer les douilles :scn SCRIPTzzDOUILLESshort varGENshort varNBshort varattackshort vardiffBegin gamemode if player.GetWeaponAmmoUse == ammo10mm set varGEN to 10 elseif player.GetWeaponAmmoUse == ammo556mm set varGEN to 556 elseif player.GetWeaponAmmoUse == ammo308 set varGEN to 308 else set varGEN to 0 endif IF VARGEN == 10 If player.GetAnimAction != 2 && varattack == 0 set varNB to Getitemcount ammo10mm endif if player.GetAnimAction == 2 set varattak to 1 endif If player.GetAnimAction != 2 && varattack == 1 set varattack to 0 set vardiff to (Getitemcount ammo10mm - varNB) if vardiff >= 4 set vardiff to (vardiff /4) set REFdouille10mm0 to player.placeatme douille10mm, vardiff, 1, 0 set REFdouille10mm1 to player.placeatme douille10mm, vardiff, 1, 1 set REFdouille10mm2 to player.placeatme douille10mm, vardiff, 1, 2 set REFdouille10mm3 to player.placeatme douille10mm, vardiff, 1, 3 else set REFdouille10mm to player.placeatme douille10mm, vardiff endif endif if player.GetInSameCell REFdouille10mm != 1 REFdouille10mm.disable REFdouille10mm.markfordelete endif if player.GetInSameCell REFdouille10mm0 != 1 REFdouille10mm0.disable REFdouille10mm0.markfordelete endif if player.GetInSameCell REFdouille10mm1 != 1 REFdouille10mm1.disable REFdouille10mm1.markfordelete endif if player.GetInSameCell REFdouille10mm2 != 1 REFdouille10mm2.disable REFdouille10mm2.markfordelete endif if player.GetInSameCell REFdouille10mm3 != 1 REFdouille10mm3.disable REFdouille10mm3.markfordelete endif ELSEIF VARGEN == 556 If player.GetAnimAction != 2 && varattack == 0 set varNB to Getitemcount ammo556mm endif if player.GetAnimAction == 2 set varattak to 1 endif If player.GetAnimAction != 2 && varattack == 1 set varattack to 0 set vardiff to (Getitemcount ammo556mm - varNB) if vardiff >= 4 set vardiff to (vardiff /4) set REFdouille556mm0 to player.placeatme douille556mm, vardiff, 1, 0 set REFdouille556mm1 to player.placeatme douille556mm, vardiff, 1, 1 set REFdouille556mm2 to player.placeatme douille556mm, vardiff, 1, 2 set REFdouille556mm3 to player.placeatme douille556mm, vardiff, 1, 3 else set REFdouille556mm to player.placeatme douille556mm, vardiff endif endif if player.GetInSameCell REFdouille556mm != 1 REFdouille556mm.disable REFdouille556mm.markfordelete endif if player.GetInSameCell REFdouille556mm0 != 1 REFdouille556mm0.disable REFdouille556mm0.markfordelete endif if player.GetInSameCell REFdouille556mm1 != 1 REFdouille556mm1.disable REFdouille556mm1.markfordelete endif if player.GetInSameCell REFdouille556mm2 != 1 REFdouille556mm2.disable REFdouille556mm2.markfordelete endif if player.GetInSameCell REFdouille556mm3 != 1 REFdouille556mm3.disable REFdouille556mm3.markfordelete endif ELSEIF VARGEN == 308 If player.GetAnimAction != 2 && varattack == 0 set varNB to Getitemcount ammo308 endif if player.GetAnimAction == 2 set varattak to 1 endif If player.GetAnimAction != 2 && varattack == 1 set varattack to 0 set vardiff to (Getitemcount ammo308 - varNB) if vardiff >= 4 set vardiff to (vardiff /4) set REFdouille3080 to player.placeatme douille308, vardiff, 1, 0 set REFdouille3081 to player.placeatme douille308, vardiff, 1, 1 set REFdouille3082 to player.placeatme douille308, vardiff, 1, 2 set REFdouille3083 to player.placeatme douille308, vardiff, 1, 3 else set REFdouille308 to player.placeatme douille308, vardiff endif endif if player.GetInSameCell REFdouille308 != 1 REFdouille308.disable REFdouille308.markfordelete endif if player.GetInSameCell REFdouille3080 != 1 REFdouille3080.disable REFdouille3080.markfordelete endif if player.GetInSameCell REFdouille3081 != 1 REFdouille3081.disable REFdouille3081.markfordelete endif if player.GetInSameCell REFdouille3082 != 1 REFdouille3082.disable REFdouille3082.markfordelete endif if player.GetInSameCell REFdouille3083 != 1 REFdouille3083.disable REFdouille3083.markfordelete endif ENDIF END Citer _______________________________________________________________________ Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3hdi Posté(e) le 10 juin 2009 Auteur Partager Posté(e) le 10 juin 2009 Script d'autosave FUzzGLOBzzSAVES est une variable globale à définir via un message par exemple scn FUzzSCRIPTzzAUTOSAVEfloat timerbegin gamemode if FUzzGLOBzzSAVES > 0 if timer < FUzzGLOBzzSAVES set timer to timer + GetSecondsPassed else set timer to 0 con_Save FUautosave endif endif end Citer _______________________________________________________________________ Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3hdi Posté(e) le 10 juin 2009 Auteur Partager Posté(e) le 10 juin 2009 Un script qui permet de passer du mod "2coups" au mod "1coup" avec le fusil à pompe en utilisant un touche FUzzGLOBzzSHOTGUN = variable globale à définir FUzztouche = variable globale contenant la touche à appuyer (à configurer avec un msg par exemple) scn FUzzSCRIPTzzQUESTzzPOMPEshort doOnceshort doOnce2ref armeBegin Gamemode set arme to WeapShotgunSawedOff if doOnce == 0 set FUzzGLOBzzSHOTGUN to 1 set doOnce to 1 endif if ( IsKeyPressed FUzztouche ) if FUzzGLOBzzSHOTGUN == 1 ; shotgun 1 -> shotgun 2 showmessage FUzzMESSAGEzzSHOTGUNzz2 SetWeaponAmmoUse 2 arme SetAttackDamage 100 arme SetWeaponNumProjectiles 18 arme set doOnce2 to 2 elseif FUzzGLOBzzSHOTGUN == 2 ; shotgun 2 -> shotgun 1 showmessage FUzzMESSAGEzzSHOTGUNzz1 SetWeaponAmmoUse 1 arme SetAttackDamage 50 arme SetWeaponNumProjectiles 9 arme set doOnce2 to 1 endif endif if doOnce2 == 2 set FUzzGLOBzzSHOTGUN to 2 set doOnce2 to 0 elseif doOnce2 == 1 set FUzzGLOBzzSHOTGUN to 1 set doOnce2 to 0 endif end Citer _______________________________________________________________________ Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3hdi Posté(e) le 10 juin 2009 Auteur Partager Posté(e) le 10 juin 2009 MOD qui permet de changer de race en fonction de l'état de santé. OCDINFx = une des races endoX = un NPC avec une des races scn FUzzSCRIPTzzANDROIDEshort doonceBegin GameMode if player.GetIsRace OCDINF1 set doonce to 1 endif if doonce == 1 if player.GetHealthPercentage >= 0.80 if endo1.SameRaceAsPC else player.MatchRace endo1 endif elseif player.GetHealthPercentage >= 0.60 if endo2.SameRaceAsPC else player.MatchRace endo2 endif elseif player.GetHealthPercentage >= 0.40 if endo3.SameRaceAsPC else player.MatchRace endo3 endif elseif player.GetHealthPercentage >= 0.20 if endo4.SameRaceAsPC else player.MatchRace endo4 endif elseif endo5.SameRaceAsPC else player.MatchRace endo5 endif endif End PS : Résultat Citer _______________________________________________________________________ Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3hdi Posté(e) le 10 juin 2009 Auteur Partager Posté(e) le 10 juin 2009 Un script pour utiliser différents projectiles à la fin (3 dernières bastos) du chargeur (des balles traçantes par exemple) : begin gamemode IF GetWeaponAmmo ammo556mm if vardo == 0 if player.GetAnimAction == 8 || GetAnimAction == 0 SetWeaponProjectile proj556mm set vartotal to player.getitemcount ammo556mm set varchargeur to (GetWeaponClipRounds - 3) set vardo to 1 endif endif if vardo == 1 && player.getitemcount ammo556mm == (vartotal - varchargeur) SetWeaponProjectile proj556mmtracant set vardo to 0 endif endif ENDIFEnd Citer _______________________________________________________________________ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rivs Posté(e) le 10 juin 2009 Partager Posté(e) le 10 juin 2009 Précise que certaine fonction vienne de FOSE genre Setweaponprojectile. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3hdi Posté(e) le 10 juin 2009 Auteur Partager Posté(e) le 10 juin 2009 good, c'est fait thx Citer _______________________________________________________________________ Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3hdi Posté(e) le 20 juin 2009 Auteur Partager Posté(e) le 20 juin 2009 Améliorer Smoke Cigarettes(pas besoin de FOSE)Prenez le mod "smoking cigarets". Lorsque l'on fume, et bien on a une cigarette dans la bouche et puis basta, aucune fumée, et la clope ne se consume pas. Avec ce script on peut amélioré tout ça. Dans l'exmple je pars sur 11 niveaux de consumation de la clope (donc 11 skins et meshes), à savoir niveau 100 = clope intacte et niveau 0 = mégot. begin gamemodeif playersmoke == 1 ; on considère playersmoke comme une condition à part entière, à configurer suivant le mod set timer to timer + getsecondpassedendifif timer == 7 if VARclope == 100 player.placeatme fumeeclope player.additem clope90percent player.equipitem clop90percent player.removeitem clop100percent set VARclope to 90 set timer to 0 elseif VARclope ==90 player.placeatme fumeeclope player.additem clope80percent player.equipitem clop80percent player.removeitem clop90percent set VARclope to 80 set timer to 0 elseif VARclope == 80 player.placeatme fumeeclope player.additem clope70percent player.equipitem clop70percent player.removeitem clop80percent set VARclope to 70 set timer to 0 ;elseif etc etc jusko niveau 10 elseif VARclope == 0 player.placeatme fumeeclope player.dropitem clop10percent set VARclope to 0 set timer to 0 set playersmoke to 0 endifendif Citer _______________________________________________________________________ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.