Sziasztok! Az volna a gondom, hogy a módomba elkészitettem egy dialogos teleportálást(még régebben), és most hozzá adtam új teleportokat. Az a gond hogy nem teleportálja oda, viszont én sem nagyon emlékszem arra hogy hogy csináljam meg mivel már rég nem scripteltem! Kérném a segitségeteket ehez, hogy mi a hiba benne:
(Nekem definálva van a mód elején hogy: #define Dialog ShowPlayerDialog)
#define DialogDriftek 3
#define DialogStuntok 10
#define DialogTeleport 1
#define DialogVersenyek 2
OnPlayerCommandText függvény alatt:
if(!strcmp(cmdtext, \"/tele\", true) || !strcmp(cmdtext, \"/teleport\", true))
{
Dialog(playerid, 1, DIALOG_STYLE_LIST, \"TeleportPanel\", \"Versenyek\\nDriftPályák\\nStuntPályák\",\"Kiválaszt\",\"Kilépés\");
return 1;
}
OnDialogResponse függvény alatt:
if ( dialogid == 1 )
{
if(response)
{
if ( listitem == 0)
{
Dialog(playerid, 2, DIALOG_STYLE_LIST, \"Versenyek\",\"VaP\\nÉT\\nML\",\"Kiválaszt\",\"Kilépés\");
}
if ( listitem == 1)
{
Dialog(playerid, 3, DIALOG_STYLE_LIST, \"DriftPályák\",\"Drift\\nDrift2\",\"Kiválaszt\",\"Kilépés\");
}
if (listitem == 2)
{
Dialog(playerid, 10, DIALOG_STYLE_LIST, \"StuntPályák\",\"StuntPark\\n\",\"Kiválaszt\",\"Kilépés\");
}
}
if ( dialogid == 3 )
{
if(response)
{
if( listitem == 0)
{
SetPlayerPos(playerid, -2168.2400,-2283.5024,30.2840);
}
if( listitem == 1)
{
SetPlayerPos(playerid, -298.7161,1540.8464,75.5625);
}
}
}
if ( dialogid == 10)
{
if(response)
{
if( listitem == 0)
{
SetPlayerPos(playerid, -2427.98828125, 1492.7863769531, 15.713349342346);
}
}
}
return 1;
}
Javítva! Nézd meg majd a hibáid.
#include <a_samp>
#define DialogDriftek 2230
#define DialogStuntok 2231
#define DialogTeleport 2232
#define DialogVersenyek 2233
#define Dialog ShowPlayerDialog
public OnFilterScriptInit()
{
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, \"/tele\", true) || !strcmp(cmdtext, \"/teleport\", true))
{
Dialog(playerid,DialogTeleport,DIALOG_STYLE_LIST,\"TeleportPanel\", \"Versenyek\\nDriftPályák\\nStuntPályák\",\"Kiválaszt\",\"Kilépés\");
return 1;
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DialogTeleport)
{
if(response)
{
if(listitem == 0)
{
Dialog(playerid, DialogVersenyek, DIALOG_STYLE_LIST, \"Versenyek\",\"VaP\\nÉT\\nML\",\"Kiválaszt\",\"Kilépés\");
}
if(listitem == 1)
{
Dialog(playerid, DialogDriftek, DIALOG_STYLE_LIST, \"DriftPályák\",\"Drift\\nDrift2\",\"Kiválaszt\",\"Kilépés\");
}
if(listitem == 2)
{
Dialog(playerid, DialogStuntok, DIALOG_STYLE_LIST, \"StuntPályák\",\"StuntPark\\n\",\"Kiválaszt\",\"Kilépés\");
}
}
}
if(dialogid == DialogDriftek)
{
if(!response) return Dialog(playerid,DialogTeleport,DIALOG_STYLE_LIST,\"TeleportPanel\", \"Versenyek\\nDriftPályák\\nStuntPályák\",\"Kiválaszt\",\"Bezár\");
if(response)
{
if(listitem == 0)
{
SetPlayerPos(playerid, -2168.2400,-2283.5024,30.2840);
}
if(listitem == 1)
{
SetPlayerPos(playerid, -298.7161,1540.8464,75.5625);
}
}
}
if(dialogid == DialogStuntok)
{
if(!response) return Dialog(playerid,DialogTeleport,DIALOG_STYLE_LIST,\"TeleportPanel\", \"Versenyek\\nDriftPályák\\nStuntPályák\",\"Kiválaszt\",\"Bezár\");
if(response)
{
if(listitem == 0)
{
SetPlayerPos(playerid, -2427.98828125, 1492.7863769531, 15.713349342346);
}
}
}
if(dialogid == DialogVersenyek)
{
if(!response) return Dialog(playerid,DialogTeleport,DIALOG_STYLE_LIST,\"TeleportPanel\", \"Versenyek\\nDriftPályák\\nStuntPályák\",\"Kiválaszt\",\"Bezár\");
if(response)
{
//hiányos...
}
}
return 1;