Szerző Téma: Dialog  (Megtekintve 1118 alkalommal)

Nem elérhető Radikal

  • 273
  • Kenton
    • Profil megtekintése
Dialog
« Dátum: 2014. november 29. - 22:29:10 »
0 Show voters
Üdvözletem kedves fórumozó tásak !
 

Szeretnék segítséget kérni tőletek,tegnap nyittam egy témát ugyaúgy dialog!És tanultam is belőle,ezért köszönet jár,de !

Szeretnék még egy dolgok kérdezni,ami nagyon érdekel a dialog !

Hogyan lehetne parancshoz kötni?!


Elmagyarázom egy kicsit részletesebben hogy megértsétek!Nos,példáül a járműv indításához,lámpák felkapcsolásához és


csomi stb nyitásához,
nekejen a játékosnak 10x parancsot beírnija,ígyhát meglehetne oldani textdrawba!

Méghozzá ha nyom pl.. egy
M betűt kijön neki a textdraw ahol lennének a parancsok,és ellég lene kiválasztani valameiket!

Példáül :. lenyomod a
M betűt,mingyá az első \" Motor \" és ha 1x kattolsz rá akkor beindítya,de ha másodszor akkor leál!

Remélem elégé erthető voltam,és sajnálom,csak próbálok segítséget keresni a dialog tanulásához!
« Utoljára szerkesztve: 2014. november 30. - 01:40:14 írta Dfoglalo »

Dialog
« Válasz #1 Dátum: 2014. november 29. - 22:31:32 »
0 Show voters
Ez sokkal egyszerűbb dialoggal

Nem elérhető Radikal

  • 273
  • Kenton
    • Profil megtekintése
Dialog
« Válasz #2 Dátum: 2014. november 29. - 22:34:09 »
0 Show voters

Köszönöm a figyelmesztetést kedves Chrispapa!

Javítotam!


Dialogra gondoltam,csakhát véletlen rosszt írtam

 
!

Dialog
« Válasz #3 Dátum: 2014. november 29. - 23:07:21 »
0 Show voters
Remélem innentől menni fog a többi :)

Ha valamit nem értessz akkor ... :google2:


Ott fent van minden :D

 

#define FILTERSCRIPT
#include <a_samp>
#define DIALOG_VEHICLE 123 // Itt definiálod a dialog ID -jét, vigyázz, nehogy a dialogid-k összekeveredjenek!! (összekeveredjenek == ugyanaz a dialogid 2 teljesen más dialognak)
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public OnGameModeInit() // Ez akkor fog lefutni amikor a szerver elindul
{
ManualVehicleEngineAndLights(); // Ez arra kell, hogyha beszáll valaki a kocsiba nem fogja a motort beindítani a mód, és nem fogja a lámpákat felkapcsolni, csak akkor, ha azt a játékos beindítja/felkapcsolja
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) // Ez akkor fut le, ha a játékos lenyom valamilyen gombot
{
if(PRESSED(KEY_YES)) // Ha ez a gomb a \'KEY_YES\' vagyis alapértelmezetten az \'Y\'
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) // És benne ül egy járműben, a vezető helyén
{
ShowPlayerDialog(playerid,DIALOG_VEHICLE,DIALOG_STYLE_LIST,\"Járműkezelő\",\"Beindít\\nLeállít\\nCsomagtarto Nyit\\nCsomagtarto Zár\",\"Kiválaszt\",\"Mégsem\");
//Előhozzuk ezt a dialogot, aminek az érdemi része a OnDialogResponse() nál található
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_VEHICLE) // Ha a diaogid egyenlő DIALOG_VEHICLE (Vagyis azzal amivel a járműveket kezeled)
{
if(!response) return 1;
if(listitem == 0) // Ha a Beindítra vagyis az elsőre kattint akkor ez fut le
{
new engine,lights,alarm,doors,bonnet,boot,objective; // Ezekkel hozod létre azokat a változókat amiket a funkció használ fel
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); // Ez a függvény lekéri a jármű paramétereit
SetVehicleParamsEx(GetPlayerVehicleID(playerid),true,lights,alarm,doors,bonnet,boot,objective); // Ez pedig átváltoztatja, tehát Motort ki be kapcsolja, Lámpát fel le kapcsolja stb.
SendClientMessage(playerid, -1, \"Beindítottad a motort!\");
}
else if(listitem == 1) // De ha a Leállítra kattint rá, akkor ez fut le
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid),false,lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid, -1, \"Leállítottad a motort!\");
}
else if(listitem == 2) // És így továbbb
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,true,objective);
SendClientMessage(playerid, -1, \"Kinyitottad a csomagtartót!\");
}
else if(listitem == 3)
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,false,objective);
SendClientMessage(playerid, -1, \"Bezártad a csomagtartót!\");
}
}
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) // Ha a játékos beszáll egy járműbe
{
if(ispassenger == 0) // És ha a vezető helyére ül
{
SendClientMessage(playerid,-1,\"Beszáltál egy járműbe! Ahoz, hogy elindítsd, nyomd meg az \'Y\' -t!\"); // Tájékoztatjuk arról, hogy hogyan indíthatja be
}
return 1;
}

Nem elérhető Radikal

  • 273
  • Kenton
    • Profil megtekintése
Dialog
« Válasz #4 Dátum: 2014. november 30. - 00:30:22 »
0 Show voters
Kedves .RäNÐoM. Köszönöm a segítséged!
 
De viszont,van még egy gond,tovább tudnám is,de a mód zcmd-ben van írva,és még van néhány parancs ( /motorhaztetőnyit /zat ) és ezzek zcmd-ben vannak írva!
 
CMD:motorhazteto(playerid,params[])
{
    new vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
if(vehicleid < 47 || vehicleid > 50)
{
   if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
   {
      if(vInfo[vehicleid][MOTORHAZTETO] == 0)
      {
          new engine,lights,alarm,doors,bonnet,boot,objective;
         GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
         SetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,1,boot,objective);
         SendClientMessage(playerid, NARANCS, \"Kinyitottad a motorháztetőt!\");
         vInfo[vehicleid][MOTORHAZTETO] = 1;
      }
      else
      {
          new engine,lights,alarm,doors,bonnet,boot,objective;
         GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
         SetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,0,boot,objective);
         SendClientMessage(playerid, NARANCS, \"Becsuktad a motorháztetőt!\");
         vInfo[vehicleid][MOTORHAZTETO] = 0;
      }
   }
}
}
return 1;
}

 
És igazából eszt fogalmam sincs hogykéne asamp-ba átrakni  :no:
 
Tudnál ezzel is segíteni ?! Ha ez nemlenne tőled túlnagy kérés ?

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Dialog
« Válasz #5 Dátum: 2014. november 30. - 01:04:05 »
0 Show voters
Megjegyzés: a SAMP-ban nem lehet az M billentyűt érzékelni az alap klienssel.
[gmod]AdPex, kérlek ügyelj jobban a helyesírásodra és a fogalmazásmódodra! Minden hozzászólásodban sok a helyesírási hiba és sokszor nem túl megfogalmazottak a mondataid. Ennek akár egyszer még te is kárát láthatod; nem fogják megérteni azt, amit írsz. Esetleg használd a böngésződ helyesírás ellenőrzőjét![/gmod]
Annál a parancsnál pedig a CMD-s sort egyszerűen kicseréled egy strcmp-s elágazásra, mivel nem használ a parancs egyéb paramétereket, már ha az alap OnPlayerCommandText-et használod.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal