Jump to content
  • 0

pomoc Dialogy


Pulpisek

Dotaz

Zdravím mam takový menší problém když přidám na server banku na dialogy. Tak jako funguje pickup tam je když vejdu tak se zobrazí dialog ale když kliknu tak se nci nestane jen se vypne. Ale ID dialogu mám uplně jiné a to samé když sem si zkoušel dát PM system dialog ID jiné ale opět to nejde. Nevím čím to :/ Čím by to mohlo být ? :o:)

 

Link to comment
Share on other sites

9 odpovědí na tuto otázku

Recommended Posts

  • 0

No právě na to jsem si dával strašnej pozor abych neměl stejné dialogy. Pošlu sem kody banky jestly třeba není problém tam fakt už nevím :/
 

//--------| ' Includes ' |-------|
#include <a_samp>
//--------| ' Defines ' |-------|
#define COLOR_RED2 0xFF0000AA
#define COLOR_YELLOW 0xFF0000AA
//--------| ' New ' |-----------|
new BankaPick[1];
new Banka[MAX_PLAYERS];
//--------| ' Other ' |---------|
forward GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z);
forward IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius);
//______________________________________________________________________________
 
public IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius)
{
if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius) return 1;
return 0;
}
public GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z)
{
new Float:x1,Float:y1,Float:z12,Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z12);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)
+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z12)),2));
return floatround(tmpdis);
}
//==============================================================================
 
public OnFilterScriptInit()
{
BankaPick[0] = CreatePickup(1274,1,2021.3079,1342.9525,10.8130);
return 1;
}
//==============================================================================
public OnFilterScriptExit()
{
DestroyPickup(BankaPick[0]);
return 1;
}
//==============================================================================
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == BankaPick[0])
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Banka","Vložit peníze\nVybrat peníze\nStav peněz na účtu","Potvrdit","Nic");
}
return 1;
}
//==============================================================================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response == 1)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Banka","Vložit peníze na svůj účet.\nNapiš částku.","Vložit","Konec");
}
else if(listitem == 1)
{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Banka","Vybrat peníze z tvého účtu.\nNapiš částku.","Vybrat","Konec");
}
else if(listitem == 2)
{
new string[256];
format(string, sizeof(string), "V bance na účtu máš nyní\n\n%d$", Banka[playerid]);
ShowPlayerDialog(playerid,486,DIALOG_STYLE_MSGBOX,"Banka",string,"Ok","Konec");
}
}
}
//==============================================================================
if(dialogid == 2)
{
if(response == 1)
{
if(IsPlayerInSphere(playerid, 2021.3079,1342.9525,10.8130,5) == 1)
{
new castka = strval(inputtext[0]);
if(!inputtext[0])
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Banka","Musíš napsat nějákou částku !\nNapiš částku.","Vložit","Konec");
return 1;
}
new string[256];
new string2[256];
if(IsPlayerConnected(playerid))
{
new sendermoney = GetPlayerMoney(playerid);
if(castka <= sendermoney)
{
if(castka > 0)
{
Banka[playerid] +=castka;
GivePlayerMoney(playerid,-castka);
format(string, sizeof(string), "Ulozil jsi si na konto %d$", castka);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string2, sizeof(string), "Stav tvého konta : %d€", Banka[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, string2);
}else{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Banka","Musíte zadat číslo !\nNapiš částku.","Vložit","Konec");
}
}else{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Banka","Nemáte u sebe tolik peněz !\nNapiš částku.","Vložit","Konec");
}
}
}
}
}
//==============================================================================
if(dialogid == 3)
{
if(response == 1)
{
if(IsPlayerInSphere(playerid,2021.3079,1342.9525,10.8130,5) == 1)
{
new castka = strval(inputtext[0]);
if(!inputtext[0])
{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Banka","Musíš napsat částku !\nNapiš částku.","Vybrat","Konec");
return 1;
}
new string[256];
new string2[256];
if(IsPlayerConnected(playerid))
{
if(castka <= Banka[playerid])
{
if(castka > 0)
{
Banka[playerid] -=castka;
GivePlayerMoney(playerid,castka);
format(string, sizeof(string), "Bylo vybráno %d€ z tvého konta", castka);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string2, sizeof(string), "Stav tvého konta : %d€", Banka[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, string2);
}else{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Banka","Musíte zadat číslo !\nNapiš částku.","Vybrat","Konec");
}
}else{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Banka","V bance nemáš tolik peněz !\nNapiš částku.","Vybrat","Konec");
}
}
}
}
}
return 1;
}
Link to comment
Share on other sites

  • 0

Dialog 1 změn na 1000 a takle pak bude vypadat kod.... moc sis nato nedal pozor.

 

 

//--------| ' Includes ' |-------|
#include <a_samp>
//--------| ' Defines ' |-------|
#define COLOR_RED2 0xFF0000AA
#define COLOR_YELLOW 0xFF0000AA
//--------| ' New ' |-----------|
new BankaPick[1];
new Banka[MAX_PLAYERS];
//--------| ' Other ' |---------|
forward GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z);
forward IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius);
//______________________________________________________________________________
 
public IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius)
{
if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius) return 1;
return 0;
}
public GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z)
{
new Float:x1,Float:y1,Float:z12,Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z12);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)
+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z12)),2));
return floatround(tmpdis);
}
//==============================================================================
 
public OnFilterScriptInit()
{
BankaPick[0] = CreatePickup(1274,1,2021.3079,1342.9525,10.8130);
return 1;
}
//==============================================================================
public OnFilterScriptExit()
{
DestroyPickup(BankaPick[0]);
return 1;
}
//==============================================================================
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == BankaPick[0])
{
ShowPlayerDialog(playerid,1000,DIALOG_STYLE_LIST,"Banka","Vložit peníze\nVybrat peníze\nStav peněz na účtu","Potvrdit","Nic");
}
return 1;
}
//==============================================================================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1000)
{
if(response == 1)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid,1002,DIALOG_STYLE_INPUT,"Banka","Vložit peníze na svůj účet.\nNapiš částku.","Vložit","Konec");
}
else if(listitem == 1)
{
ShowPlayerDialog(playerid,1003,DIALOG_STYLE_INPUT,"Banka","Vybrat peníze z tvého účtu.\nNapiš částku.","Vybrat","Konec");
}
else if(listitem == 2)
{
new string[256];
format(string, sizeof(string), "V bance na účtu máš nyní\n\n%d$", Banka[playerid]);
ShowPlayerDialog(playerid,486,DIALOG_STYLE_MSGBOX,"Banka",string,"Ok","Konec");
}
}
}
//==============================================================================
if(dialogid == 1002)
{
if(response == 1)
{
if(IsPlayerInSphere(playerid, 2021.3079,1342.9525,10.8130,5) == 1)
{
new castka = strval(inputtext[0]);
if(!inputtext[0])
{
ShowPlayerDialog(playerid,1002,DIALOG_STYLE_INPUT,"Banka","Musíš napsat nějákou částku !\nNapiš částku.","Vložit","Konec");
return 1;
}
new string[256];
new string2[256];
if(IsPlayerConnected(playerid))
{
new sendermoney = GetPlayerMoney(playerid);
if(castka <= sendermoney)
{
if(castka > 0)
{
Banka[playerid] +=castka;
GivePlayerMoney(playerid,-castka);
format(string, sizeof(string), "Ulozil jsi si na konto %d$", castka);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string2, sizeof(string), "Stav tvého konta : %d€", Banka[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, string2);
}else{
ShowPlayerDialog(playerid,1002,DIALOG_STYLE_INPUT,"Banka","Musíte zadat číslo !\nNapiš částku.","Vložit","Konec");
}
}else{
ShowPlayerDialog(playerid,1002,DIALOG_STYLE_INPUT,"Banka","Nemáte u sebe tolik peněz !\nNapiš částku.","Vložit","Konec");
}
}
}
}
}
//==============================================================================
if(dialogid == 1003)
{
if(response == 1)
{
if(IsPlayerInSphere(playerid,2021.3079,1342.9525,10.8130,5) == 1)
{
new castka = strval(inputtext[0]);
if(!inputtext[0])
{
ShowPlayerDialog(playerid,1003,DIALOG_STYLE_INPUT,"Banka","Musíš napsat částku !\nNapiš částku.","Vybrat","Konec");
return 1;
}
new string[256];
new string2[256];
if(IsPlayerConnected(playerid))
{
if(castka <= Banka[playerid])
{
if(castka > 0)
{
Banka[playerid] -=castka;
GivePlayerMoney(playerid,castka);
format(string, sizeof(string), "Bylo vybráno %d€ z tvého konta", castka);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string2, sizeof(string), "Stav tvého konta : %d€", Banka[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, string2);
}else{
ShowPlayerDialog(playerid,1003,DIALOG_STYLE_INPUT,"Banka","Musíte zadat číslo !\nNapiš částku.","Vybrat","Konec");
}
}else{
ShowPlayerDialog(playerid,1003,DIALOG_STYLE_INPUT,"Banka","V bance nemáš tolik peněz !\nNapiš částku.","Vybrat","Konec");
}
}
}
}
}
return 1;
}
Link to comment
Share on other sites

  • 0

No kvůli tomuto jsem si začal já své dialogy od 1000 a nahoru a do 1000 nemám nikde tak zkusím uplně změnit ty id a uvidíme teda no a může to být něčím jiným že to nejde ? :o

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...