GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Belas10 - 2010. augusztus 02. - 12:52:03

Cím: Menüs teleport kérés
Írta: Belas10 - 2010. augusztus 02. - 12:52:03
Sziasztok!
Szeretnék egy menüs teleportot a seromba, egyet már próbáltam de az nem volt jó.
Cím: Menüs teleport kérés
Írta: ►ѕтa - 2010. augusztus 02. - 13:31:23
Ha pozíciót megadod segítek/segítenek.
Cím: Menüs teleport kérés
Írta: Belas10 - 2010. augusztus 02. - 14:01:54
most csak egy teszt serot csinálok azt akarom tuningolni ha jó akkor azt használmo ugyhogy még mindegy hova szol de tessék AddPlayerClass(107,2139.5110,-2532.3367,13.5469,102.7743,0,0,0,0,0,0);
Cím: Menüs teleport kérés
Írta: Popec16 - 2010. augusztus 08. - 22:52:52
Ezt át kell írnunk SetPlayerPos-ba :)
Ami nagyon egyszerû:SetPlayerPos(playerid,x,y,z);
A Te esetedben ígynézki:
SetPlayerPos(playerid,2139.5110,-2532.3367,13.5469);
A dialogra nincs idõm de ha nem írtok 2-3 napon belül egy dialogot megírom ;)
Dialog készítésrõl itt egy kis tut ami alapján megoldhatod: http://wiki.sa-mp.com/wiki/How_to_Create_a_Dialog
Cím: Menüs teleport kérés
Írta: Gang[St]e[R] - 2010. augusztus 09. - 01:12:06
Ha lesz idöm megcsinálom neked, talán holnap megcsinálom amikor lesz idõm.
Cím: Menüs teleport kérés
Írta: redbull16 - 2010. augusztus 12. - 00:40:18
gangster kérlek nekem is elküldöd vagy megcsinálod? :D kérlek ... elöre köszi
Cím: Menüs teleport kérés
Írta: ChuckNorris - 2010. augusztus 12. - 01:23:10
Ha többet is akarsz csinálni,gondolom látod hogy kell folytatni,de a 99999999 et cseréld le a saját azonosítódra.Mindegy mijen szám csak ne legyen 2 egyforma.És a DIALOG_TELEPORT helyett is írj mondjuk
DIALOG_TELEPORT2 stb... A lényeg hogy ne legyenek egyformák.Gondolom a teleport részleteit meg tudod írni,megjelöltem a helyét.
Mód elejére:
 
#define DIALOG_TELEPORT 99999999

 
OnPlayerCommandText:(Nyivlán csak a parancsot másold be)
 
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/teleport\", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,\"Teleportok\",\"0.teleport neve\\n1.teleport neve\\n2.teleport neve\\n3.teleport neve\\n\",\"Teleport!\",\"Mégse\");
return 1;
}
return 0;
}

 
OnDialogResponse:(Ittis csak a dialogot másold be a sajátodhoz!)
 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
      if(dialogid == DIALOG_TELEPORT && response)
    {
switch(listitem)
{
    case 0:
    {
      // 0. teleport helye
   }
   case 1:
   {
      // 1. teleport helye
   }
   case 2:
   {
      // 2. teleport helye
   }
   case 3:
   {
      // 3. teleport helye
   }
}
    }
return 1;
}
Cím: Menüs teleport kérés
Írta: redbull16 - 2010. augusztus 12. - 01:34:04
köszi de ugy letudnád irni, h pl: Teleportok/teleport1/sf ls lv
                                                          driftek /drift1 /drift2
                                                          stuntok /lol /lol1
ugyértem h ha vki beirja h /tele ako neki elöadja h teleportok s akkor abban teleport 1 , alatta driftek, alatta stuntok , s igy tovább még lefelé, s ako azokban pedig pl a driftekben a menüben drift1 alatta drift2 .... érted biztos ? azt kérlek letudnád vázolni? :D
Cím: Menüs teleport kérés
Írta: ChuckNorris - 2010. augusztus 12. - 01:49:21
Remélem jól fejtetem meg amit írtál:
Tesk:
Mód elejére:
 

#define DIALOG_TELEPORT 11110
#define DIALOG_DRIFT 11111
#define DIALOG_STUNT 11112
#define DIALOG_EGYEB 11113

 

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/teleport\", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,\"Teleportok\",\"Driftek\\n1Stuntok\\nEgyéb\",\"OK\",\"Mégse\");
return 1;
}
return 0;
}

 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
     if(dialogid == DIALOG_TELEPORT && response)
   {
switch(listitem)
{
    case 0: ShowPlayerDialog(playerid,DIALOG_DRIFT,DIALOG_STYLE_LIST,\"Teleportok / Driftek\",\"drift 0\\ndrift 1\\ndrift 2\",\"TELE\",\"Mégse\");
   case 1: ShowPlayerDialog(playerid,DIALOG_STUNT,DIALOG_STYLE_LIST,\"Teleportok / Stuntok\",\"stunt 0\\nstunt 1\\nstunt 2\",\"TELE\",\"Mégse\");
   case 2: ShowPlayerDialog(playerid,DIALOG_EGYEB,DIALOG_STYLE_LIST,\"Teleportok / Egyéb\",\"valami 0\\n1valami 1\\nvalami 2\",\"TELE\",\"Mégse\");
}
   }
     if(dialogid == DIALOG_DRIFT && response)
   {
switch(listitem)
{
    case 0:
    {
      // 0. drift
   }
   case 1:
   {
      // 1. drift
   }
   case 2:
   {
      // 2. drift
   }
}
   }
     if(dialogid == DIALOG_STUNT && response)
   {
switch(listitem)
{
    case 0:
    {
      // 0. stunt
   }
   case 1:
   {
      // 1. stunt
   }
   case 2:
   {
      // 2. stunt
   }
}
   }
     if(dialogid == DIALOG_EGYEB && response)
   {
switch(listitem)
{
    case 0:
    {
      // 0. valami
   }
   case 1:
   {
      // 1. valami
   }
   case 2:
   {
      // 2. valami
   }
}
   }
return 1;
}

 
Nem teszteltem de elvileg mûködnie kell.
Cím: Menüs teleport kérés
Írta: redbull16 - 2010. augusztus 12. - 02:05:47
tökéletes  ;D még azt szeretném megkérdezni h több \"case\"-t is irhatok? :D
Cím: Menüs teleport kérés
Írta: ChuckNorris - 2010. augusztus 12. - 02:09:25
Persze,amenyit akarsz,de akor a ShowPlayerDialog-nál is írd be az új tele nevét és
 
\\n

 - kell minden teleport név végére,hisz ez kezd új sort.
És nemtudom hogy van e valami korlátozás hogy hány menüpont lehet,de mindenesetre jó sok az biztos.
Cím: Menüs teleport kérés
Írta: redbull16 - 2010. augusztus 12. - 02:15:51
oksa kössz szépen