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.