|
| [résolu]demarrer le jeu dans la room | |
| | Auteur | Message |
---|
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: [résolu]demarrer le jeu dans la room Mer 17 Aoû 2016 - 20:58 | |
| Bonjour,
j'ai vu sur le forum que l'on pouvait démarrer le jeu dans la room que l'on travail grâce à un raccourci, mais je ne retrouve pas où j'ai lu cela.
Pouvez vous m'indiquer le raccourci?
Merci
Dernière édition par dominouche le Lun 29 Aoû 2016 - 16:02, édité 1 fois |
| | | Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 8:13 | |
| Il faut que tu regarde si les fonctions debug sont activé et dans un script (le script global), et dans les general settings. - Code:
-
// DEBUG FUNCTIONS if (keycode == eKeyCtrlS) Debug(0,0); // Ctrl-S, give all inventory if (keycode == eKeyCtrlV) Debug(1,0); // Ctrl-V, version if (keycode == eKeyCtrlA) Debug(2,0); // Ctrl-A, show walkable areas if (keycode == eKeyCtrlX) Debug(3,0); // Ctrl-X, teleport to room if (keycode == eKeyCtrlW && game.debug_mode) player.PlaceOnWalkableArea(); //Ctrl-W, move to walkable area Ensuite, c'est Ctrl + X. Sinon, redéfinit juste la starting room du personnage joueur, mais n'oublie pas de re-changer avant de publier le jeu. ;-) |
| | | dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 9:43 | |
| J'ai bien "debug" d'activé dans le scipt global, mais je ne trouve pas "debug" dans les general setting et Ctrl X ne fonctionne pas. |
| | | Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 10:06 | |
| Elles se trouvent dans le script global dans la fonction "On key press", c’est ici que tu dois mettre toutes tes actions de clavier. Si tu utilises un template de base pour ton jeu, les commandes de debug doivent s’y trouver, sinon tu peux y copier le code donné par Billbis. Avec Ctrl-x tu devrais voir une fenêtre de sélection s’ouvrir, à noter que Ctrl-w te permet de replacer ton personnage sur une zone de marche s’il se retrouve coincé. Pense à désactiver le debug de tes settings quand tu publies un jeu sinon les fonctions resteront accessibles à ceux qui connaissent les raccourcis. |
| | | dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 10:59 | |
| Ça ne fonctionne pas, je vais donc continuer à redéfinir la starting room du personnage, mais ce n'est pas très pratique.
|
| | | Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 13:24 | |
| Si dans les General Settings l'option "Enable debug mode" est bien sur "True", cela devrait fonctionner sans problème. As tu vérifié le contenu de la fonction on_key_press dans ton global script? Il doit y avoir un problème à ce niveau là sinon je ne vois pas... Tu peux copier ton code ici si tu n'es pas sûr. |
| | | dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 13:53 | |
| Voila mon code, // DEBUG FUNCTIONS est à la ligne 205 - Code:
-
// main global script file
// A function that initializes a bunch of stuff. function initialize_control_panel() { // Centre the control panel gPanel.Centre(); // Centre the Restart dialog as well gRestartYN.Centre(); if (!IsSpeechVoxAvailable()) { // If there is no speech-vox file, and therefore no speech, // disable all the controls related with speech. lblVoice.Visible = false; btnVoice.Visible = false; sldVoice.Visible = false; } else { // If there *is*, then set it to voice and text. It's best to use // both whenever possible, for the player's sake. Speech.VoiceMode = eSpeechVoiceAndText; // And reflect this in the control panel. btnVoice.Text = "Voice and Text"; } if (!System.SupportsGammaControl) { // If we can't change the gamma settings, disable the relevant options. sldGamma.Visible = false; lblGamma.Visible = false; } //And now, set all the defaults System.Volume = 100; sldAudio.Value = System.Volume; SetGameSpeed(40); sldSpeed.Value = 40; if (IsSpeechVoxAvailable()) { Speech.VoiceMode = eSpeechVoiceAndText; btnVoice.Text = "Voice and Text"; sldVoice.Value = 255; SetSpeechVolume(255); } if (System.SupportsGammaControl) { System.Gamma = 100; sldGamma.Value = 100; } }
// Called when the game starts, before the first room is loaded function game_start() { // Put the code all in a function and then just call the function. // It saves cluttering up places like game_start. initialize_control_panel(); // Use the KeyboardMovement module to, per default, replicate the standard // keyboard movement of most Sierra games. See KeyboardMovement.txt for more info KeyboardMovement.SetMode(eKeyboardMovement_Tapping); }
function repeatedly_execute() { // Put here anything you want to happen every game cycle, even when // the game is paused. This will not run when the game is blocked // inside a command like a blocking Walk() if (IsGamePaused() == 1) return;
// Put here anything you want to happen every game cycle, but not // when the game is paused. }
function repeatedly_execute_always() { // Put anything you want to happen every game cycle, even // when the game is blocked inside a command like a // blocking Walk(). // You cannot run blocking commands from this function. }
function show_inventory_window () { gInventory.Visible = true; // switch to the Use cursor (to select items with) mouse.Mode = eModeInteract; // But, override the appearance to look like the arrow mouse.UseModeGraphic(eModePointer); }
function show_save_game_dialog() { gSaveGame.Visible = true; // Get the list of save games lstSaveGamesList.FillSaveGameList(); if (lstSaveGamesList.ItemCount > 0) { // If there is at least one, set the default text // to be the first game's name txtNewSaveName.Text = lstSaveGamesList.Items[0]; } else { // No save games yet, default empty text. txtNewSaveName.Text = ""; } mouse.UseModeGraphic(eModePointer); gIconbar.Visible = false; }
function show_restore_game_dialog() { gRestoreGame.Visible = true; lstRestoreGamesList.FillSaveGameList(); mouse.UseModeGraphic(eModePointer); gIconbar.Visible = false; }
function close_save_game_dialog() { gSaveGame.Visible = false; mouse.UseDefaultGraphic(); gIconbar.Visible = true; }
function close_restore_game_dialog() { gRestoreGame.Visible = false; mouse.UseDefaultGraphic(); gIconbar.Visible = true; }
// Called when a key is pressed. keycode holds the key's ASCII code function on_key_press(eKeyCode keycode) { // The following is called before "if game is paused keycode=0", so // it'll happen even when the game is paused. if ((keycode == eKeyEscape) && gRestartYN.Visible) { //Use ESC to cancel restart. gRestartYN.Visible = false; gIconbar.Visible = true; // If the panel's not ON, then the player must have gotten here by tapping F9, // therefore his cursor needs restoring. If the panel IS on, then it doesn't, // because it's already a pointer. Get used to thinking like this!! if (!gPanel.Visible) mouse.UseDefaultGraphic(); return; } if ((keycode == eKeyEscape) && gPanel.Visible) { // Use ESC to turn the panel off. gPanel.Visible = false; mouse.UseDefaultGraphic(); gIconbar.Visible = true; return; } if ((keycode == eKeyEscape) && (gSaveGame.Visible)) { // Use ESC to close the save game dialog close_save_game_dialog(); return; } if ((keycode == eKeyEscape) && (gRestoreGame.Visible)) { // Use ESC to close the restore game dialog close_restore_game_dialog(); return; } if (keycode == eKeyReturn) { // ENTER, in this case merely confirms restart if (gRestartYN.Visible) RestartGame(); }
if (IsGamePaused() || (IsInterfaceEnabled() == 0)) { // If the game is paused with a modal GUI on the // screen, or the player interface is disabled in // a cut scene, ignore any keypresses. return; }
// FUNCTION KEYS AND SYSTEM SHORTCUTS if (keycode == eKeyEscape) { // ESC gPanel.Visible = true; gIconbar.Visible = false; mouse.UseModeGraphic(eModePointer); } if (keycode == eKeyCtrlQ) QuitGame(1); // Ctrl-Q if (keycode == eKeyF5) show_save_game_dialog(); // F5 if (keycode == eKeyF7) show_restore_game_dialog(); // F7 if (keycode == eKeyF9) { // F9, asks the player to confirm restarting (so much better to always confirm first) gRestartYN.Visible = true; gIconbar.Visible = false; mouse.UseModeGraphic(eModePointer); } if (keycode == eKeyF12) SaveScreenShot("scrnshot.bmp"); // F12 if (keycode == eKeyTab) show_inventory_window(); // Tab, show inventory
// GAME COMMAND SHORTCUTS if (keycode == 'W') mouse.Mode=eModeWalkto; //Notice this alternate way to indicate keycodes. if (keycode == 'L') mouse.Mode=eModeLookat; //Note that all we do here is set modes. if (keycode == 'U') mouse.Mode=eModeInteract; //If you want something else to happen, such as GUI buttons highlighting, if (keycode == 'T') mouse.Mode=eModeTalkto; //you'll need some more scripting done. if (keycode == 'I') mouse.Mode=eModeUseinv; //But this will, as-is, give you some standard keyboard shortcuts your players will very much appreciate.
// For extra cursor modes, such as pick up, feel free to add as you will. // Uncomment the line below if you use the "Pick Up" mode. //if (keycode == 'P' || keycode == 'G') mouse.Mode=eModePickup; // DEBUG FUNCTIONS if (keycode == eKeyCtrlS) Debug(0,0); // Ctrl-S, give all inventory if (keycode == eKeyCtrlV) Debug(1,0); // Ctrl-V, version if (keycode == eKeyCtrlA) Debug(2,0); // Ctrl-A, show walkable areas if (keycode == eKeyCtrlX) Debug(3,0); // Ctrl-X, teleport to room if (keycode == eKeyCtrlW && game.debug_mode) player.PlaceOnWalkableArea(); //Ctrl-W, move to walkable area }
function on_mouse_click(MouseButton button) { // called when a mouse button is clicked. button is either LEFT or RIGHT if (IsGamePaused() == 1) { // Game is paused, so do nothing (ie. don't allow mouse click) } else if (button == eMouseLeft) { ProcessClick(mouse.x, mouse.y, mouse.Mode ); } else if (button == eMouseRight || button == eMouseWheelSouth){ // right-click our mouse-wheel down, so cycle cursor mouse.SelectNextMode(); } else if (button == eMouseMiddle) { // Middle-button-click, default make character walk to clicked area (a little shortcut) // Could have been just "player.Walk(mouse.x,mouse.y)", but it's best to // leave our options open - what if you have a special script triggered // on "walking" mode? ProcessClick(mouse.x, mouse.y, eModeWalkto); } else if (button == eMouseWheelNorth) { // Mouse-wheel up, cycle cursors // If mode isn't WALK, set the previous mode (notice usage of numbers instead // of eNums, when it suits us)... if (mouse.Mode>0) mouse.Mode=mouse.Mode-1; else { // ...but if it is WALK mode... if (player.ActiveInventory!=null) { //...and the player has a selected inventory item, set mouse mode to UseInv. mouse.Mode=eModeUseinv; } else { // If they don't, however, just set it to mode TALK (change this line if you add more cursor modes) mouse.Mode=eModeTalkto; } } } }
function interface_click(int interface, int button) { // This function is obsolete, from 2.62 and earlier versions. }
function btnInvUp_Click(GUIControl *control, MouseButton button) { invCustomInv.ScrollUp(); }
function btnInvDown_Click(GUIControl *control, MouseButton button) { invCustomInv.ScrollDown(); }
function btnInvOK_Click(GUIControl *control, MouseButton button) { // They pressed the OK button, close the GUI gInventory.Visible = false; mouse.UseDefaultGraphic(); }
function btnInvSelect_Click(GUIControl *control, MouseButton button) { // They pressed SELECT, so switch to the Get cursor mouse.Mode = eModeInteract; // But, override the appearance to look like the arrow mouse.UseModeGraphic(eModePointer); }
function btnIconInv_Click(GUIControl *control, MouseButton button) { show_inventory_window(); }
function btnIconCurInv_Click(GUIControl *control, MouseButton button) { if (player.ActiveInventory != null) mouse.Mode = eModeUseinv; }
function btnIconSave_Click(GUIControl *control, MouseButton button) { show_save_game_dialog(); }
function btnIconLoad_Click(GUIControl *control, MouseButton button) { show_restore_game_dialog(); }
function btnIconExit_Click(GUIControl *control, MouseButton button) { QuitGame(1); }
function btnIconAbout_Click(GUIControl *control, MouseButton button) { gPanel.Visible=true; gIconbar.Visible=false; mouse.UseModeGraphic(eModePointer); }
function cEgo_Look() { Display("Damn, I'm looking good!"); }
function cEgo_Interact() { Display("You rub your hands up and down your clothes."); }
function cEgo_Talk() { Display("Talking to yourself is a sign of madness!"); }
//START OF CONTROL PANEL FUNCTIONS function btnSave_OnClick(GUIControl *control, MouseButton button) { gPanel.Visible = false; mouse.UseDefaultGraphic(); gIconbar.Visible = true; Wait(1); btnIconSave_Click(btnIconSave, eMouseLeft); }
function gControl_OnClick(GUI *theGui, MouseButton button) {
}
function btnAbout_OnClick(GUIControl *control, MouseButton button) { Display("Adventure Game Studio run-time engine default game."); }
function btnQuit_OnClick(GUIControl *control, MouseButton button) { gPanel.Visible = false; Wait(1); QuitGame(1); gPanel.Visible = true; gIconbar.Visible = false; mouse.UseModeGraphic(eModePointer); }
function btnLoad_OnClick(GUIControl *control, MouseButton button) { gPanel.Visible = false; mouse.UseDefaultGraphic(); gIconbar.Visible = true; Wait(1); btnIconLoad_Click(btnIconLoad, eMouseLeft); }
function btnResume_OnClick(GUIControl *control, MouseButton button) { gPanel.Visible = false; mouse.UseDefaultGraphic(); gIconbar.Visible = true; }
function sldAudio_OnChange(GUIControl *control) { System.Volume = sldAudio.Value; }
function sldVoice_OnChange(GUIControl *control) { // Sets voice volume. Note that we don't check for the existence of speech.vox - // we did that in game_start, so if it's not there the slider won't even be available. SetSpeechVolume(sldVoice.Value); }
function btnVoice_OnClick(GUIControl *control, MouseButton button) { // Note that we don't check for the existence of speech.vox - we did that in game_start, // so if it's not there the button won't even be available. if (btnVoice.Text == "Voice and Text") { Speech.VoiceMode = eSpeechVoiceOnly; btnVoice.Text = "Voice only"; } else if (btnVoice.Text == "Voice only") { Speech.VoiceMode = eSpeechTextOnly; btnVoice.Text = "Text only"; } else if (btnVoice.Text == "Text only") { Speech.VoiceMode = eSpeechVoiceAndText; btnVoice.Text = "Voice and Text"; } }
function sldGamma_OnChange(GUIControl *control) { // Set the gamma. Note there's no need to check for anything else, as we ensured, // in game_start, that the slider won't even appear if it's not possible to do this. System.Gamma = sldGamma.Value; }
function btnDefault_OnClick(GUIControl *control, MouseButton button) { // Reset everything to default. You'll have to edit these as well as the sliders // if you'd rather have different default parameters. System.Volume = 100; sldAudio.Value = System.Volume; sldSpeed.Value = 40; SetGameSpeed(40); if (IsSpeechVoxAvailable()) { Speech.VoiceMode = eSpeechVoiceAndText; btnVoice.Text = "Voice and Text"; sldVoice.Value = 255; SetSpeechVolume(255); } if (System.SupportsGammaControl) { System.Gamma = 100; sldGamma.Value = 100; } } //END OF CONTROL PANEL FUNCTIONS
function dialog_request(int param) { // This is used by the dialog text parser if you need to process // text that the player types in to the parser. // It is not used by default. }
function sldSpeed_OnChange(GUIControl *control) { SetGameSpeed(sldSpeed.Value); }
function btnRestart_OnClick(GUIControl *control, MouseButton button) { gRestartYN.Visible=true; gIconbar.Visible=false; }
function btnRestartYes_OnClick(GUIControl *control, MouseButton button) { RestartGame(); }
function btnRestartNo_OnClick(GUIControl *control, MouseButton button) { gRestartYN.Visible = false; gIconbar.Visible = true; // If the panel's not ON, then the player must have gotten here by tapping F9, // therefore his cursor needs restoring. If the panel IS on, then it doesn't, // because it's already a pointer. Get used to thinking like this!! if (!gPanel.Visible) mouse.UseDefaultGraphic(); }
function btnCancelSave_OnClick(GUIControl *control, MouseButton button) { close_save_game_dialog(); }
int find_save_slot(String name) { bool slots[] = new bool[999]; int i = 0; while (i < lstSaveGamesList.ItemCount) { if (lstSaveGamesList.Items[i] == name) { // found existing save with matching name return lstSaveGamesList.SaveGameSlots[i]; } // remember which slots are already taken slots[lstSaveGamesList.SaveGameSlots[i]] = true; i++; } // Find first free save slot, starting with slot 1 i = 1; while (i < 999) { if (!slots[i]) return i; i++; } // no free slots found return -1; } function btnSaveGame_OnClick(GUIControl *control, MouseButton button) { int gameSlotToSaveInto = find_save_slot(txtNewSaveName.Text); if (gameSlotToSaveInto < 0) { Display("No more free save slots!"); return; } SaveGameSlot(gameSlotToSaveInto, txtNewSaveName.Text); close_save_game_dialog(); }
function btnCancelRestore_OnClick(GUIControl *control, MouseButton button) { close_restore_game_dialog(); }
function btnRestoreGame_OnClick(GUIControl *control, MouseButton button) { if (lstRestoreGamesList.SelectedIndex >= 0) { RestoreGameSlot(lstRestoreGamesList.SaveGameSlots[lstRestoreGamesList.SelectedIndex]); } close_restore_game_dialog(); }
function lstSaveGamesList_OnSelectionCh(GUIControl *control) { txtNewSaveName.Text = lstSaveGamesList.Items[lstSaveGamesList.SelectedIndex]; }
function txtNewSaveName_OnActivate(GUIControl *control) { // Pressing return in the text box simulates clicking the Save button btnSaveGame_OnClick(control, eMouseLeft); }
function btnDeleteSave_OnClick(GUIControl *control, MouseButton button) { if (lstSaveGamesList.SelectedIndex >= 0) { DeleteSaveSlot(lstSaveGamesList.SaveGameSlots[lstSaveGamesList.SelectedIndex]); lstSaveGamesList.FillSaveGameList(); } }
function oSimouche_Interact() {
}
|
| | | valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 15:30 | |
| As tu bien lu le début du message d'arlann ? L'option "Enable debug mode" est bien sur true dans le General Settings ? Car tu ne nous l'a pas confirmé. _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
| | | dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 16:11 | |
| Enable debug mode est bien sur true !! |
| | | Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 17:15 | |
| Je ne vois pas d’où peut venir ton problème… Est-ce que les autres raccourcis clavier fonctionnent correctement ? Quand tu fais Ctrl+Q, tu devrais avoir la boite de dialogue pour quitter le jeu. F5 et F7 pour sauvegarder et charger une partie… W,L,U,T,I pour changer de mode de curseur. Dans le doute d’un mauvais code ASCII de ton clavier, tu peux essayer de changer la ligne 209 ainsi : - Code:
-
if (keycode == 'X') Debug(3,0); Le menu de téléportation devrait ainsi apparaitre en pressant simplement la touche X... |
| | | dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: Re: [résolu]demarrer le jeu dans la room Jeu 18 Aoû 2016 - 17:45 | |
| Un peut crétin le "dominouche".
J'essayais le Ctrlx alors que j"étais dans Ags editor et pensais que le jeu allais démarré dans la room que j'étais à modifier.
Ctrl x fonctionne donc bien !!! |
| | | Contenu sponsorisé
| Sujet: Re: [résolu]demarrer le jeu dans la room | |
| |
| | | | [résolu]demarrer le jeu dans la room | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |