Hey....
ich habe versucht mir ein Navi im dialog zu machen..
aber iwie kommen die checkpoints und der gametext nicht hier der Code
vllt kann mir ja einer helfen ![]()
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/navi", true))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Navigations System", "Bahnhof\nBSN\nLSPD\nArbeitsamt\nStadthalle\nFahrschule", "OK", "Abbrechen");
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
// We SHOULD use switch(dialogid) with cases, but we're only going to use one dialog in this tutorial.
if(dialogid == 1 && response) // If the dialogid is 1 (our dialog) and they pressed 'Purchase'
{
// We'll use the switch/cases now because we're going to process a few results, not just one. Remember, the first item in the list has id 0.
switch(listitem)
{
case 0:
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum BHF!",3000,3);//der text, wen man auf das erste klickt
SetPlayerCheckpoint(playerid,1770.2982,-1854.9825,13.4141,5); //koordienaten ändern
}
case 1:
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum BSN!",3000,3);
SetPlayerCheckpoint(playerid,1201.3550,-930.4697,42.9364,5); //koordienaten ändern
}
case 2:
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum LSPD!",3000,3);
SetPlayerCheckpoint(playerid,1536.3223,-1675.4866,13.3828,5); //koordienaten ändern
}
case 3:
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum JobCenter!",3000,3);
SetPlayerCheckpoint(playerid,1471.0726,-1265.4956,14.5625,5); //koordienaten ändern
}
case 4:
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zur Stadthalle!",3000,3);
SetPlayerCheckpoint(playerid,1479.7780,-1742.9395,13.5469,5); //koordienaten ändern
}
case 5:
{
GameTextForPlayer(playerid,"Die Fahrschule gibt es noch nicht",3000,3);
//SetPlayerCheckpoint(playerid,-2522.6191,1214.9878,37.4283,5);//koordienaten ändern
}
}
}
return 1;
} ![]()
//Edit Habs jetzt so probiert wie in einem Tutorial:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response)
{
if(listitem == 0)
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum BHF!",3000,3);//der text, wen man auf das erste klickt
SetPlayerCheckpoint(playerid,1770.2982,-1854.9825,13.4141,5); //koordienaten ändern
}
if(listitem == 1)
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum BSN!",3000,3);
SetPlayerCheckpoint(playerid,1201.3550,-930.4697,42.9364,5); //koordienaten ändern
}
if(listitem == 2)
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum LSPD!",3000,3);
SetPlayerCheckpoint(playerid,1536.3223,-1675.4866,13.3828,5); //koordienaten ändern
}
if(listitem == 3)
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zum JobCenter!",3000,3);
SetPlayerCheckpoint(playerid,1471.0726,-1265.4956,14.5625,5); //koordienaten ändern
}
if(listitem == 4)
{
GameTextForPlayer(playerid,"Das Navigations System beschreibt dir den weg zur Stadthalle!",3000,3);
SetPlayerCheckpoint(playerid,1479.7780,-1742.9395,13.5469,5); //koordienaten ändern
}
if(listitem == 5)
{
GameTextForPlayer(playerid,"Die Fahrschule gibt es noch nicht",3000,3);
//SetPlayerCheckpoint(playerid,-2522.6191,1214.9878,37.4283,5);//koordienaten ändern
}
}
}
return 1;
}
geht immer noch nicht -.-
-
-
Kann das sein das du den Dialog nicht als 1 definiert hast?
Wen ja,dann mach mal anstatt if(dialogid == 1) if(dialogid == >dialogname<)
Mfg
[FoR]Hardcore -
Habs gemacht checkpoints ud gametexts werden immer noch nicht angezeigt

-
Ignorier die Antwort von Hardcore..
Schau am besten nach, ob du bereits ein Dialog mit der Nummer 1 gemacht hast! Wenn du dir nicht sicher bist nimm bei ShowPlayerDialog zB die Nummer 123 und dann bei der Abfrage fragst du dann
if(dialogid == 123)
ab.
Tipp: Nütz die switch/case Variante, welche viel besser ist beim indizieren -
Ich finde Case etc schlimm. Jedem das seine, ich verwende listitem.
Also du definierst dein Dialog mit :
#define DIALOG 0
So, versuchs anstatt mit Case mal so.
if(dialogid == DIALOG)
{
if(lisitem == 0)
{
//Was Passiert wen der das erste angeklickt hat
}
if(lisitem == 1)
{
//... und immer so weiter. -
@ Xivo er hat doch schon deine Methode auch getestet
Es ist nur ein DialogID Konflikt höchstwahrscheinlich -
hmm geht immer noch net
-
breadfish.de
Hat das Thema geschlossen.