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

Nem elérhető KDDomi

  • 976
    • Profil megtekintése
Dialog
« Dátum: 2012. Szeptember 07. - 16:01:18 »
0 Show voters
Sziasztok! Van egy teleport dialogom és azt szeretném megoldani ha rámegy valameikre akkor ne keljen nekem oda irni hogy hova teleportált hanem kiirná alapból! Régen emléxem valahogy megoldottam hogy ami a dialog listába van szöveg irva külön külön oda irtam. Remélem értitek!
Nagyon fontos lenne!
Elöre is köszi!

Nem elérhető Tomee

  • 385
    • Profil megtekintése
Dialog
« Válasz #1 Dátum: 2012. Szeptember 07. - 16:05:56 »
0 Show voters
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST,\"TEleportok\",\"teleport 1\\nteleport2\\nteleport3\",\"Kiválaszt\",\"Kilép\");
if(dialogid == 0)
{
     if(response)
     {
          switch(listitem)
          {
               case 0: SetPlayerPos(playerid, 1590.5427,-2286.7063,-1.2054);
               case 1: SetPlayerPos(playerid, 1025.8188,-1926.5471,12.7863);
               case 2: SetPlayerPos(playerid, 826.7949,-1344.7988,13.5375);
          }
     }
}
« Utoljára szerkesztve: 2012. Szeptember 07. - 16:08:36 írta Tomee »

Nem elérhető KDDomi

  • 976
    • Profil megtekintése
Dialog
« Válasz #2 Dátum: 2012. Szeptember 07. - 16:10:18 »
0 Show voters
Nem erre gondoltam! Van 3 teleport hely egy lista dialogban! A dialogba beirtam ha rámegy akkor kiir egy üzenetet hogy elteleportált! És azt szeretném hogy a dialog részébõl kiolvassa hogy milyen nevek vannak a dialogban! És onnan irná ki.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Dialog
« Válasz #3 Dátum: 2012. Szeptember 07. - 18:33:23 »
0 Show voters

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG NEVE)
{
    if(response)
{
    if(listitem == 0)
    {
                SetPlayerPos(playerid, 1320.4924, 1260.0894, 10.8203);
                SendClientMessage(playerid,-1, \"Elteleportáltál Los Santosba!\");
    }
    if(listitem == 1)
    {
                SetPlayerPos(playerid, 1933.5570,-2300.0474,16.2648);
                SendClientMessage(playerid,-1, \"Elteleportáltál Las Venturasban!\");
    }
    if(listitem == 2)
    {
                SetPlayerPos(playerid, -1528.0000,-206.0000,14.1484);
                SendClientMessage(playerid,-1, \"Elteleportáltál San Fierroba!\");
    }
    }
}

 
Szerintem ezt gondoltad..

Dialog
« Válasz #4 Dátum: 2012. Szeptember 07. - 18:59:09 »
0 Show voters
Nem erre gondol.
Tegyuk fel a lista elso teleportja lossantos.
Akkor mar automatikusan olvassa le onnan es azt irja ki.
Telefonon vagyok nem biztos hogy segiteni tudok.

Nem elérhető RolePlay

  • 2100
    • Profil megtekintése
Dialog
« Válasz #5 Dátum: 2012. Szeptember 07. - 19:15:10 »
0 Show voters

#include <a_samp>
#include <zcmd>
#define TELE 1
 
CMD:teleportok(playerid, params[])
{
    ShowPlayerDialog(playerid, TELE, DIALOG_STYLE_LIST, \"Teleportok\", \"Los Santos \\nLas Venturas \\nSan Fierro\", \"Tovább\", \"Kilépés\");
    return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == TELE)
    {
       if(response)
        {
           if(listitem == 0)
            {
               SetPlayerPos(playerid, 1320.4924, 1260.0894, 10.8203);
                SendClientMessage(playerid,-1, \"Elteleportáltál Los Santosba!\");
            }
            if(listitem == 1)
            {
                SetPlayerPos(playerid, 1933.5570,-2300.0474,16.2648);
                SendClientMessage(playerid,-1, \"Elteleportáltál Las Venturasban!\");
           
            }
            if(listitem == 2)
            {
               SetPlayerPos(playerid, -1528.0000,-206.0000,14.1484);
                SendClientMessage(playerid,-1, \"Elteleportáltál San Fierroba!\");
            }
}
}
else
{
    if(!response)
    {
        SendClientMessage(playerid,-1, \"Már nem nézed a teleportok listáját!\");
    }
}
return 1;
}

Nem elérhető KDDomi

  • 976
    • Profil megtekintése
Dialog
« Válasz #6 Dátum: 2012. Szeptember 07. - 20:02:09 »
0 Show voters
Idézetet írta: RolePlay date=1347038110\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27445\" data-ipsquote-contentclass=\"forums_Topic


#include <a_samp>
#include <zcmd>
#define TELE 1
 
CMD:teleportok(playerid, params[])
{
    ShowPlayerDialog(playerid, TELE, DIALOG_STYLE_LIST, \"Teleportok\", \"Los Santos \\nLas Venturas \\nSan Fierro\", \"Tovább\", \"Kilépés\");
    return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == TELE)
    {
       if(response)
        {
           if(listitem == 0)
            {
               SetPlayerPos(playerid, 1320.4924, 1260.0894, 10.8203);
                SendClientMessage(playerid,-1, \"Elteleportáltál Los Santosba!\");
            }
            if(listitem == 1)
            {
                SetPlayerPos(playerid, 1933.5570,-2300.0474,16.2648);
                SendClientMessage(playerid,-1, \"Elteleportáltál Las Venturasban!\");
           
            }
            if(listitem == 2)
            {
               SetPlayerPos(playerid, -1528.0000,-206.0000,14.1484);
                SendClientMessage(playerid,-1, \"Elteleportáltál San Fierroba!\");
            }
}
}
else
{
    if(!response)
    {
        SendClientMessage(playerid,-1, \"Már nem nézed a teleportok listáját!\");
    }
}
return 1;
}

 

Elötted irták ugyan ezt! És nem erre gondoltam!

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Dialog
« Válasz #7 Dátum: 2012. Szeptember 07. - 20:08:04 »
0 Show voters
Tehát tisztázzuk, mert sokan nem vágják  :D Az kell neked, hogy beírod pl:   SetPlayerPos(playerid, 1933.5570,-2300.0474,16.2648); és autómatikusan lekérje a poziciót és kiírja, hogy hova teleportált anélkül, hogy te megadnád a poziciót nem? Ha ezt letisztázuk azután lehet tudok segíteni, de kicsit értelmetlen a fogalmazásod.

Dialog
« Válasz #8 Dátum: 2012. Szeptember 07. - 20:21:07 »
0 Show voters
Mit nem lehez ezen erteni?
Van a dialogban
 

“Tele1\\nTele2\\nTele3“

 
Ha a tele1re megy akkor automatikusan kiirja hogy tele1 re teleportaltalak.
Ehez kell format
rendes parancsbanmeg tudnam oldani
a parancs ala irod hogy:
new str[20];
format(str, sizeof(str), “Elteleportaltal : %s“, cmdtext);
SendClientMessage(playerid, 1, str);

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Dialog
« Válasz #9 Dátum: 2012. Szeptember 07. - 20:29:13 »
0 Show voters
Ja vagyis mindenkinek? Vagy csak neki?  :facepalm:

Dialog
« Válasz #10 Dátum: 2012. Szeptember 07. - 20:38:23 »
0 Show voters
Hat az teljesen mindegy mert az a legkissebb

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Dialog
« Válasz #11 Dátum: 2012. Szeptember 07. - 20:51:17 »
+1 Show voters
Csak annyi, hogy egy külön függvényt kell csinálni.
 

stock Teleport( playerid, Float: X, Float: Y, Float: Z, const TeleName[] )
{
      new
            szString[ 144 + 1 ];
      format( szString, sizeof( szString ), \"Elteleportáltál %s nevû helyre.\", TeleName );
      SetPlayerPos( playerid, X, Y, Z );
      SendClientMessage( playerid, -1, szString );
      return 1;
}

 
Használat:
 
Teleport( playerid, 0.0, 0.1, 0.2, \"Los Santos\" );
« Utoljára szerkesztve: 2012. Szeptember 07. - 20:59:40 írta Gabor.. »

Nem elérhető KDDomi

  • 976
    • Profil megtekintése
Dialog
« Válasz #12 Dátum: 2012. Szeptember 07. - 21:12:35 »
0 Show voters
Köszi! Müködik! Ment a +! Zárok!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal