Szerző Téma: Dialogos teleport  (Megtekintve 925 alkalommal)

Dialogos teleport
« Dátum: 2014. február 07. - 17:38:54 »
0 Show voters
Üdv...
Kezdõ Scripter vagyok....
El kezdtem irni egy dialogos teleport rendszert,ami összezavarodott!!
Sejtem mit csesztem már el!!!,de még nem tudom megcsinálni!
Igy néz ki maga a cucc:
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==teleport)
{
if(response)
{
if(listitem==0)
///////////////////////////////////////////////////////////-Városok-//////////////////////////////////////////////////////////////////////////////
{
ShowPlayerDialog(playerid,teleport,DIALOG_STYLE_LIST,\"Városok\",\"{ffffff}Los Santos\\n{ffffff}San Fierro\\n{ffffff}Las Venturas\",\"Port\", \"Mégse\");
if(listitem==0)
   {
      SetPlayerPos(playerid,1306.7422,1267.5371,10.8203);
      return 1;
   }
if(listitem==1)
   {
      SetPlayerPos(playerid,-1567.6731,-179.2296,14.1484);
      return 1;
   }
if(listitem==2)
   {
      SetPlayerPos(playerid,1412.8171,-2435.1362,13.5766);
      return 1;
   }
   return 1;
}
else if(listitem==1)
///////////////////////////////////////////////////////////-Faluk-//////////////////////////////////////////////////////////////////////////////
{
ShowPlayerDialog(playerid,teleport,DIALOG_STYLE_LIST,\"Faluk\",\"{ff0000}Fort Carson\\n{ffffff}Falu 2\\n{ffffff}Falu 3\",\"Port\", \"Mégse\");
if(listitem==0)
   {
      SetPlayerPos(playerid,1306.7422,1267.5371,10.8203);
      return 1;
   }
if(listitem==1)
   {
      SetPlayerPos(playerid,-1567.6731,-179.2296,14.1484);
      return 1;
   }
if(listitem==2)
   {
      SetPlayerPos(playerid,1412.8171,-2435.1362,13.5766);
      return 1;
   }
   return 1;
}
///////////////////////////////////////////////////////////-Stuntok-//////////////////////////////////////////////////////////////////////////////
else if(listitem==2)
{
ShowPlayerDialog(playerid,teleport,DIALOG_STYLE_LIST,\"Stuntok\",\"{0000ff}Stunt City\\n{0000ff}Stunt1\\n{0000ff}Stunt area\",\"Port\", \"Mégse\");
if(listitem==0)
   {
      SetPlayerPos(playerid,1306.7422,1267.5371,10.8203);
      return 1;
   }
if(listitem==1)
   {
      SetPlayerPos(playerid,-1567.6731,-179.2296,14.1484);
      return 1;
   }
if(listitem==2)
   {
      SetPlayerPos(playerid,1412.8171,-2435.1362,13.5766);
      return 1;
   }
   return 1;
}
///////////////////////////////////////////////////////////-Driftek-//////////////////////////////////////////////////////////////////////////////
else if(listitem==3)
{
ShowPlayerDialog(playerid,teleport,DIALOG_STYLE_LIST,\"Driftek\",\"{ff00ff}Drift world\\n{ff00ff}Drift world 2\\n{ff00ff}Drift\",\"Port\", \"Mégse\");
if(listitem==0)
      {
      SetPlayerPos(playerid,1306.7422,1267.5371,10.8203);
      return 1;
      }
if(listitem==1)
      {
      SetPlayerPos(playerid,-1567.6731,-179.2296,14.1484);
      return 1;
      }
if(listitem==2)
   {
      SetPlayerPos(playerid,1412.8171,-2435.1362,13.5766);
      return 1;
   }
}
}
}
return 1;
}

 
Ha valaki ki tudná javítani a hibát azt nagyon megköszönném!
« Utoljára szerkesztve: 2014. február 09. - 15:03:55 írta Dead Space »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Dialogos teleport
« Válasz #1 Dátum: 2014. február 07. - 17:55:31 »
0 Show voters
Ránéztem a kódra, és elhánytam magam... :crazy: :sick: Ilyen rondán, és eszméletlenül hibásan nem hagyhatom... Habár nem akartam, de csak azért, hogy kijavítsd, megírtam neked helyesen (ha persze nem írtam el benne semmit)...
 
public OnDialogResponse(playerid,  dialogid,  response,  listitem,  inputtext[])
{
    if(dialogid == teleport)
    {
        if(response)
        {
            if(listitem == 0)
            {
                ShowPlayerDialog(playerid, varosok, DIALOG_STYLE_LIST, \"Városok\", \"{ffffff}Los Santos\\n{ffffff}San Fierro\\n{ffffff}Las Venturas\", \"Port\", \"Mégse\");
            }
            if(listitem == 1)
            {
                ShowPlayerDialog(playerid, falvak, DIALOG_STYLE_LIST, \"Falvak\", \"{ff0000}Fort Carson\\n{ffffff}Falu 2\\n{ffffff}Falu 3\", \"Port\", \"Mégse\");
            }
            if(listitem == 2)
            {
       ShowPlayerDialog(playerid, stuntok, DIALOG_STYLE_LIST, \"Stuntok\", \"{0000ff}Stunt City\\n{0000ff}Stunt1\\n{0000ff}Stunt area\", \"Port\", \"Mégse\");
            }
            if(listitem == 3)
            {
       ShowPlayerDialog(playerid, driftek, DIALOG_STYLE_LIST, \"Driftek\", \"{ff00ff}Drift world\\n{ff00ff}Drift world 2\\n{ff00ff}Drift\", \"Port\", \"Mégse\");
            }
        }
    }
    if(dialogid == varosok)
    {
        if(response)
        {
            if(listitem == 0)
            {
                SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            }
            if(listitem == 1)
            {
                SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            }
            if(listitem == 2)
            {
                SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
            }
        }
    }
    if(dialogid == falvak)
    {
        if(response)
        {
            if(listitem == 0)
            {
                SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            }
            if(listitem == 1)
            {
                SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            }
            if(listitem == 2)
            {
                SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
            }
        }
    }
    if(dialogid == stuntok)
    {
        if(response)
        {
            if(listitem == 0)
            {
                SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            }
            if(listitem == 1)
            {
                SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            }
            if(listitem == 2)
            {
                SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
            }
        }
    }
    if(dialogid == driftek)
    {
        if(response)
        {
            if(listitem == 0)
            {
                SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            }
            if(listitem == 1)
            {
                SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            }
            if(listitem == 2)
            {
                SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
            }
        }
    }
    return 1;
}

Dialogos teleport
« Válasz #2 Dátum: 2014. február 07. - 17:57:59 »
0 Show voters
nemazért,de ez ugyanolyan szar...rámegyek a los santosra kidob a stuntokhoz....
« Utoljára szerkesztve: 2014. február 07. - 18:08:21 írta Dead Space »

Nem elérhető Lucio

  • 232
    • Profil megtekintése
Dialogos teleport
« Válasz #3 Dátum: 2014. február 07. - 20:26:30 »
0 Show voters
http://forum.sa-mp.com/showthread.php?t=475838
Használd ezt az incet, egyszerûbb átláthatóbb nem kell szenvedni dialog id-kkel és bárhova írhatod, hogy mit csináljon a Dialog

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Dialogos teleport
« Válasz #4 Dátum: 2014. február 07. - 21:16:49 »
0 Show voters

public OnDialogResponse(playerid,  dialogid,  response,  listitem,  inputtext[])
{
    if(dialogid == teleport)
    {
        if(response)
        {
            switch(listitem)
            {
                case 0: ShowPlayerDialog(playerid, varosok, DIALOG_STYLE_LIST, \"Városok\", \"{ffffff}Los Santos\\n{ffffff}San Fierro\\n{ffffff}Las Venturas\", \"Port\", \"Mégse\");
                case 1: ShowPlayerDialog(playerid, falvak, DIALOG_STYLE_LIST, \"Falvak\", \"{ff0000}Fort Carson\\n{ffffff}Falu 2\\n{ffffff}Falu 3\", \"Port\", \"Mégse\");
       case 2: ShowPlayerDialog(playerid, stuntok, DIALOG_STYLE_LIST, \"Stuntok\", \"{0000ff}Stunt City\\n{0000ff}Stunt1\\n{0000ff}Stunt area\", \"Port\", \"Mégse\");
       case 3: ShowPlayerDialog(playerid, driftek, DIALOG_STYLE_LIST, \"Driftek\", \"{ff00ff}Drift world\\n{ff00ff}Drift world 2\\n{ff00ff}Drift\", \"Port\", \"Mégse\");
   }
        }
    }
   
    if(dialogid == varosok)
    {
        if(response)
        {
            if(listitem == 0) SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            if(listitem == 1) SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            if(listitem == 2) SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
        }
    }
   
    if(dialogid == falvak)
    {
        if(response)
        {
            if(listitem == 0) SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            if(listitem == 1) SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            if(listitem == 2) SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
        }
    }
   
    if(dialogid == stuntok)
    {
        if(response)
        {
            if(listitem == 0) SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            if(listitem == 1) SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            if(listitem == 2) SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
        }
    }
   
    if(dialogid == driftek)
    {
        if(response)
        {
            if(listitem == 0) SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            if(listitem == 1) SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            if(listitem == 2) SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
        }
    }
    return 1;
}

 
Átláthatóbb.

Különben nem vetted észre még, hogy mindenhol ugyanaz a 3 koordináta van? Legyen az város, falu, stunt, drift...

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Dialogos teleport
« Válasz #5 Dátum: 2014. február 07. - 22:24:22 »
0 Show voters
Idézetet írta: Dead Space date=1391792279\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"46352\" data-ipsquote-contentclass=\"forums_Topic
nemazért,de ez ugyanolyan sz*r...rámegyek a los santosra kidob a stuntokhoz....
 
-->
 

Különben nem vetted észre még, hogy mindenhol ugyanaz a 3 koordináta van? Legyen az város, falu, stunt, drift...
 
[/quote]
Egyébként LOL, azokat a koordinátákat komolyan gondolta ??? Azt hittem, az csak példa, és tud róla, hogy ugyanolyanok. De ezek szerint nem...

Dialogos teleport
« Válasz #6 Dátum: 2014. február 08. - 16:35:41 »
0 Show voters
Az példa.... -.-

Dupla hozzászólás automatikusan összefûzve. ( 2014. február 08. - 16:41:16 )

Idézetet írta: ScreaM date=1391804209\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"46352\" data-ipsquote-contentclass=\"forums_Topic


public OnDialogResponse(playerid,  dialogid,  response,  listitem,  inputtext[])
{
    if(dialogid == teleport)
    {
        if(response)
        {
            switch(listitem)
            {
                case 0: ShowPlayerDialog(playerid, varosok, DIALOG_STYLE_LIST, \"Városok\", \"{ffffff}Los Santos\\n{ffffff}San Fierro\\n{ffffff}Las Venturas\", \"Port\", \"Mégse\");
                case 1: ShowPlayerDialog(playerid, falvak, DIALOG_STYLE_LIST, \"Falvak\", \"{ff0000}Fort Carson\\n{ffffff}Falu 2\\n{ffffff}Falu 3\", \"Port\", \"Mégse\");
       case 2: ShowPlayerDialog(playerid, stuntok, DIALOG_STYLE_LIST, \"Stuntok\", \"{0000ff}Stunt City\\n{0000ff}Stunt1\\n{0000ff}Stunt area\", \"Port\", \"Mégse\");
       case 3: ShowPlayerDialog(playerid, driftek, DIALOG_STYLE_LIST, \"Driftek\", \"{ff00ff}Drift world\\n{ff00ff}Drift world 2\\n{ff00ff}Drift\", \"Port\", \"Mégse\");
   }
        }
    }
   
    if(dialogid == varosok)
    {
        if(response)
        {
            if(listitem == 0) SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            if(listitem == 1) SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            if(listitem == 2) SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
        }
    }
   
    if(dialogid == falvak)
    {
        if(response)
        {
            if(listitem == 0) SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            if(listitem == 1) SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            if(listitem == 2) SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
        }
    }
   
    if(dialogid == stuntok)
    {
        if(response)
        {
            if(listitem == 0) SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            if(listitem == 1) SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            if(listitem == 2) SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
        }
    }
   
    if(dialogid == driftek)
    {
        if(response)
        {
            if(listitem == 0) SetPlayerPos(playerid, 1306.7422, 1267.5371, 10.8203);
            if(listitem == 1) SetPlayerPos(playerid, -1567.6731, -179.2296, 14.1484);
            if(listitem == 2) SetPlayerPos(playerid, 1412.8171, -2435.1362, 13.5766);
        }
    }
    return 1;
}

 
Átláthatóbb.

Különben nem vetted észre még, hogy mindenhol ugyanaz a 3 koordináta van? Legyen az város, falu, stunt, drift...

 
És ha ne csak gyalogosan hanem kocsival együtt portáljon azt hogy oldhatom meg?
« Utoljára szerkesztve: 2014. február 08. - 16:41:16 írta Dead Space »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Dialogos teleport
« Válasz #7 Dátum: 2014. február 08. - 16:59:43 »
0 Show voters
Sosem írtam saját kocsi+player teleportot, mert még sosem volt rá szükségem. De szerintem így néz ki a dolog:
 
if(IsPlayerInAnyVehicle(playerid))
{
    SetVehiclePos(GetPlayerVehicleID // ...
    PutPlayerInVehicle // ...
}

 
Vagy valami ilyesmi :D

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Dialogos teleport
« Válasz #8 Dátum: 2014. február 08. - 17:14:07 »
0 Show voters
if(IsPlayerInAnyVehicle(playerid)) {
    SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
}else{
    SetPlayerPos(playerid, X, Y, Z);
}

 
Így nézne ki a kocsis teleportálás.

Dialogos teleport
« Válasz #9 Dátum: 2014. február 08. - 17:19:51 »
0 Show voters
Köszönöm!
AMúgy még 1 probléma van,aztán zárok,az az hogy össze vissza ugrál a dialog!
ugye vannak Városok,Stuntok,Driftek és faluk...
Rámegyek Városokon belül a San Fierro-ra,elportál sf be és átdob a Stuntok-hoz!
Ezt hogy lehetne kiküszöbölni?Meg azt hogy portálás tán bezáródjon a dialog?

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Dialogos teleport
« Válasz #10 Dátum: 2014. február 08. - 19:28:02 »
0 Show voters
\"A hiba az Ön készülékében van.\"

A teleportálás után NEM szabadna bejönnie semminek sem. Küld el PM-ben a kódodat (ha lehet, pwn fájlformátumban) ha nem szeretnéd itt megosztani.

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Dialogos teleport
« Válasz #11 Dátum: 2014. február 10. - 13:49:39 »
0 Show voters
Idézetet írta: Dfoglalo date=1391792131\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"46352\" data-ipsquote-contentclass=\"forums_Topic
Ránéztem a kódra, és elhánytam magam... :crazy: :sick: Ilyen rondán, és eszméletlenül hibásan nem hagyhatom... Habár nem akartam, de csak azért, hogy kijavítsd, megírtam neked helyesen (ha persze nem írtam el benne semmit)...
 
a tied is elég gusztustalan :D :Cry2:
másold be a jelenlegi kódod!
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Dialogos teleport
« Válasz #12 Dátum: 2014. február 10. - 14:32:31 »
0 Show voters
Idézetet írta: Kovacs_Richard date=1392036579\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"46352\" data-ipsquote-contentclass=\"forums_Topic


Ránéztem a kódra, és elhánytam magam... :crazy: :sick: Ilyen rondán, és eszméletlenül hibásan nem hagyhatom... Habár nem akartam, de csak azért, hogy kijavítsd, megírtam neked helyesen (ha persze nem írtam el benne semmit)...
 
a tied is elég gusztustalan :D :Cry2:
másold be a jelenlegi kódod!
 
[/quote]
Az már más kérdés, ha te máshogy programozol, de az enyém legalább rendezett, nem úgy, mint az övé. ;)
Amúgy szerintem már megoldotta, ugyanis kint van a [MEGOLDVA] kategória...
« Utoljára szerkesztve: 2014. február 10. - 14:52:13 írta Dfoglalo »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal