Wysłany: 2013-06-21, 23:30
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Witam
Mam taki o to kod na gangi
Lecz mam pewne trudno?ci w przerabianiu go ;/ Mo?e Wy mi pomo?ecie bo ja ca?kowicie nie ogarniam ;/ Ca?y czas b??dy ;c
Kod
http://pastebin.com/LY3yrd8r
W czym rzecz?
Rzecz tkwi w tym , ?e chce przerobi? to na dialogi w gui lecz nie mog? ;c
Chcia?em aby po wpisaniu komendy /gang wy?wietla?o si? DIALOG_STYLE_LIST i po kliknieciu np. w 1 opcje wyskakuj? statystyki gangu po klikni?ciu w 2 opcje wyskakuje czy chcesz usun?? gang i usuwa i tak dalej , po prostu zamienic te wszystkie komendy na 1 gui oraz aby sprawdza?o czy gracz jest liderem wpisanym w jaki? tam plik .ini (robi? w dini) Oraz najlepiej jakby ka?da warto?? zapisywa?a si? w pliku ( ale ju? z tym sobie poradz?). Da si? mi pom?c?? Bo za ka?dym razem jak ja przerabiam na gui to mam jakie? b??dy kt?rych si? nie da rozwi?za?
Dzi?ki z g?ry za pomoc
Pozdrawiam
Wysłany: 2013-06-22, 13:19
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Wysłany: 2013-06-22, 15:01
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Powiedzmy , ?e mam takie cos w dialogu i dlaczego on si? nie wykonuje? Zrobi?em ju? pokazanie gui itd. lecz czemu nie wy?wietla statystyk ? Robi?em osobne komendy i dzia?a bo wy?wietla staty a czemu w dialogu po wcisnieciu 2 opcji nie wy?wietla??
Kod: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new id = GetPVarInt(playerid, "GANG") - 1;
if(dialogid == 1122)
{
if(response == 1)
{
switch(listitem)
{
case 0:
{
new mm;
for(new i; i < G_MEMBERS; i++)
if(gang[id][mem][i] != -1)
mm++;
format(sts, 400, "{A5F017}Nazwa gangu: %s\nKasa gangu: %d\nCz?onk?w: %d + Lider: %s\nSamob?jstw w gangu: %d\nZapitych pomi?dzy cz?onkami: %d\nZabitych innych ludzi: %d\nZabitych naszych cz?onk?w przez innych:%d", gang[id][G_Name], gang[id][G_Kasa], mm, PlayerName(gang[id][Lider]), gang[id][G_Kill][1], gang[id][G_Kill][0], gang[id][G_Kill][2], gang[id][G_Kill][3]);
ShowPlayerDialog(playerid, 1111, 0, "Statystyki", sts, "OK", "");
return 1;
}
case 1:
{
new name[116];
if(!strlen(name))
{
new s[400];
format(string, 50, "Stan konta gangu: %d $ \n", gang[id][G_Kasa]);
strcat(s, string);
strcat(s, "GWp?a? - wp?acasz do kasy gangu\n");
strcat(s, "GWyp?a? - wyp?acasz z kasy gangu");
ShowPlayerDialog(playerid, 1124, DIALOG_STYLE_MSGBOX, "Kasa Gangu", s, "Ok", "");
}
return 1;
}
case 2:
{
}
}
}
}
return 1;
}
Co tu jest nie tak?;p
Pozdrawiam
Wysłany: 2013-06-22, 15:30
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
2 opcja w listitem? W sensie case 1? Case 0 (1 opcja) dziala dobrze?
Wysłany: 2013-06-22, 15:38
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Nie dzia?a wgl ;/ a w komendzie osobno dzia?a normalnie i tak samo jest z ka?dym innym ... Nic si? nie wy?wietla nawet jak dam SendClientMessage ;/
Wysłany: 2013-06-22, 15:43
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
To powstawiaj SendClientMessage w rozne miejsca i wywolaj ten dialog. Zobaczysz na czym staje.
Kod: case 0:
{
new mm;
SendClientMessageToAll(-1,"11111");
for(new i; i < G_MEMBERS; i++)
SendClientMessageToAll(-1,"222222");
if(gang[id][mem][i] != -1)
SendClientMessageToAll(-1,"3333333");
mm++;
SendClientMessageToAll(-1,"4444444");
format(sts, 400, "{A5F017}Nazwa gangu: %s\nKasa gangu: %d\nCz?onk?w: %d + Lider: %s\nSamob?jstw w gangu: %d\nZapitych pomi?dzy cz?onkami: %d\nZabitych innych ludzi: %d\nZabitych naszych cz?onk?w przez innych:%d", gang[id][G_Name], gang[id][G_Kasa], mm, PlayerName(gang[id][Lider]), gang[id][G_Kill][1], gang[id][G_Kill][0], gang[id][G_Kill][2], gang[id][G_Kill][3]);
SendClientMessageToAll(-1,"5555555");
ShowPlayerDialog(playerid, 1111, 0, "Statystyki", sts, "OK", "");
SendClientMessageToAll(-1,"666666666");
return 1;
}
case 1:
{
new name[116];
SendClientMessageToAll(-1,"777777777777");
if(!strlen(name)) //to nie wiem po co bo bedzie puste skoro dopiero stowrzyles tablice
{
SendClientMessageToAll(-1,"88888888");
new s[400];
format(string, 50, "Stan konta gangu: %d $ \n", gang[id][G_Kasa]);
strcat(s, string);
strcat(s, "GWp?a? - wp?acasz do kasy gangu\n");
strcat(s, "GWyp?a? - wyp?acasz z kasy gangu");
ShowPlayerDialog(playerid, 1124, DIALOG_STYLE_MSGBOX, "Kasa Gangu", s, "Ok", "");
SendClientMessageToAll(-1,"99999999999999");
}
Wysłany: 2013-06-22, 15:51
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Wgl nic nie zwraca ;/ tak jakby ten ca?y dialog nie dzia?a? :c Po klikni?ciu w opcje nic nie wyskakuje
Wysłany: 2013-06-22, 16:05
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Pokaz ta komende ktora wyswietlasz dialog
Wysłany: 2013-06-22, 16:11
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Kod: CMD:gang(playerid, params[])
{
new s[800];
strcat(s,"Statystyki gangu \n");
strcat(s,"Lista komend zarz?dzania pieni?dzmi \n");
strcat(s,"Lista komend gangu \n");
strcat(s,"Lista cz?onk?w gangu \n");
#if(!LIDER_ZPR)
strcat(s,"Zapro? do gangu \n");
#endif
ShowPlayerDialog(playerid, G_DIALOG1, DIALOG_STYLE_LIST, "Opcje Gangu", s, "Ok", "Wyjdz");
return 1;
}
G_DIALOG1 to dopiero zmieni?em i mam takie samo id w dialogu wi?c nie w tym rzecz
to gui si? wy?wietla ?adnie ale nic nie mog? zrobi? bo nie dzia?a dialog ;/ a mo?e by? tak ?e namiesza?em co? z PVarami i dlatego nie dzia?a?;p
Wysłany: 2013-06-22, 16:26
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Jestes pewny, ze G_DIALOG1 == 1122 ?
Wysłany: 2013-06-22, 17:58
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Kod: #include <a_samp>
#include <colorsv2>
#include <sscanf2>
#include <zcmd>
#define FILTERSCRIPT
#define GANGS 31 //max ilo?? gang?w
#define G_MEMBERS 20 //max ilo?? cz?onk?w gangu
#define G_NAZWA 24 //max d?ugo?? nazwy gangu
#define G_DIALOG1 1112
#define LIDER_ZPR true //Je?li tylko lider mo?e zaprasza?
//ID dialog?w u?ytych w skrypcie
enum E_Gang
{
Lider,
G_Kasa,
G_Name[G_NAZWA],
G_Kill[4],
mem[G_MEMBERS]
}
new gang[GANGS][E_Gang];
new string[128];
new sts[400];
public OnFilterScriptInit()
{
print(" System gang?w by Remik13 za?adowany");
for(new i; i < GANGS; i++)
{
gang[i][Lider] = -1;
for(new z; z < G_MEMBERS; z++)
gang[i][mem][z] = -1;
}
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new id = GetPVarInt(playerid, "GANG") - 1,
id2 = GetPVarInt(killerid, "GANG") - 1;
if(id != -1 && id == id2)
gang[id][G_Kill][0]++;
else if(id != -1 && killerid == INVALID_PLAYER_ID)
gang[id][G_Kill][1]++;
else if(id != -1)
gang[id][G_Kill][3]++;
else if(id2 != -1)
gang[id2][G_Kill][2]++;
return 1;
}
CMD:gang(playerid, params[])
{
new s[800];
strcat(s,"Statystyki gangu \n");
strcat(s,"Lista komend zarz?dzania pieni?dzmi \n");
strcat(s,"Lista komend gangu \n");
strcat(s,"Lista cz?onk?w gangu \n");
#if(!LIDER_ZPR)
strcat(s,"Zapro? do gangu \n");
#endif
ShowPlayerDialog(playerid, G_DIALOG1, DIALOG_STYLE_LIST, "Opcje Gangu", s, "Ok", "Wyjdz");
return 1;
}
CMD:gangs(playerid, params[])
{
#pragma unused params
new str[GANGS * (G_NAZWA + 4)];
strcat(str, "ID\tNAZWA GANGU");
for(new x; x < GANGS; x++)
{
if(gang[x][Lider] != -1)
{
format(string, sizeof string, "\n%d %s", x, gang[x][G_Name]);
strcat(str, string);
}
}
ShowPlayerDialog(playerid, 1134, 0, "GANGI:", str, "OK", "");
return 1;
}
CMD:gangm(playerid, params[])//Gang kasa
{
new name[116], id = GetPVarInt(playerid, "GANG") - 1;
if(id == -1)
return SendClientMessage(playerid, CZERWONY, "Musisz by? w gangu by u?ywa? tej komendy!");
if(!strlen(name))
{
new s[400];
format(string, 50, "Stan konta gangu: %d $ \n", gang[id][G_Kasa]);
strcat(s, string);
strcat(s, "GWp?a? - wp?acasz do kasy gangu\n");
strcat(s, "GWyp?a? - wyp?acasz z kasy gangu");
ShowPlayerDialog(playerid, 1124, DIALOG_STYLE_MSGBOX, "Kasa Gangu", s, "Ok", "");
}
return 1;
}
isnumeric(str[])
{
for(new i = strlen(str) - 1; i >= 0; i--)
if(str[i] > '9' || str[i] < '0')
return false;
return true;
}
PlayerName(playerid)
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof Name);
return Name;
}
CMD:sgang(playerid, params[])
{
new name[116], id = GetPVarInt(playerid, "GANG") - 1;
if(id != -1)
return SendClientMessage(playerid, CZERWONY, "Jeste? ju? w gangu. By go opu?ci? u?yj /gang out");
if(name[0] >= '0' && name[0] <= '9')
return SendClientMessage(playerid, CZERWONY, "Nazwa nie mo?e mie? cyfr na pocz?tku nazwy!");
if(strlen(name) > G_NAZWA)
return SendClientMessage(playerid, CZERWONY, "Nazwa gangu za d?uga!");
new idx = -1;
for(new i; i < GANGS; i++)
if(gang[i][Lider] != -1 && !strcmp(name, gang[i][G_Name], true))
return SendClientMessage(playerid, CZERWONY, "Gang o takiej nazwie ju? istnieje, sprawd? /gangs");
else if(idx == -1 && gang[i][Lider] == -1)
idx = i;
if(idx == -1)
return SendClientMessage(playerid, ZOLTY, "Przykro nam ale limit gang?w nie pozwala na stworzenie nowego gangu");
gang[idx][Lider] = playerid;
format(gang[idx][G_Name], G_NAZWA, name);
SetPVarInt(playerid, "GANG", idx + 1);
SetPVarInt(playerid, "LIDER", true);
format(string, 128, "Utworzy?e? gang o nazwie %s (id gangu: %d)", name, idx);
SendClientMessage(playerid, ZIELONY, string);
SendClientMessage(playerid, FIOLETOWY, "U?yj /gang zapr [id gracza] by zaprosi? kogo? do gangu");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == G_DIALOG1) {
if(response == 1)
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid, CZERWONY, "111212");
new id = GetPVarInt(playerid, "GANG") - 1;
new mm;
SendClientMessageToAll(-1,"11111");
for(new i; i < G_MEMBERS; i++)
if(gang[id][mem][i] != -1)
SendClientMessageToAll(-1,"3333333");
mm++;
SendClientMessageToAll(-1,"4444444");
format(sts, 400, "{A5F017}Nazwa gangu: %s\nKasa gangu: %d\nCz?onk?w: %d + Lider: %s\nSamob?jstw w gangu: %d\nZapitych pomi?dzy cz?onkami: %d\nZabitych innych ludzi: %d\nZabitych naszych cz?onk?w przez innych:%d", gang[id][G_Name], gang[id][G_Kasa], mm, PlayerName(gang[id][Lider]), gang[id][G_Kill][1], gang[id][G_Kill][0], gang[id][G_Kill][2], gang[id][G_Kill][3]);
SendClientMessageToAll(-1,"5555555");
ShowPlayerDialog(playerid, 1111, 0, "Statystyki", sts, "OK", "");
SendClientMessageToAll(-1,"666666666");
return 1;
}
case 1:
{
new id = GetPVarInt(playerid, "GANG") - 1;
new name[116];
SendClientMessageToAll(-1,"777777777777");
if(!strlen(name))
{
SendClientMessageToAll(-1,"88888888");
new s[400];
format(string, 50, "Stan konta gangu: %d $ \n", gang[id][G_Kasa]);
strcat(s, string);
strcat(s, "GWp?a? - wp?acasz do kasy gangu\n");
strcat(s, "GWyp?a? - wyp?acasz z kasy gangu");
ShowPlayerDialog(playerid, 1124, DIALOG_STYLE_MSGBOX, "Kasa Gangu", s, "Ok", "");
SendClientMessageToAll(-1,"99999999999999");
}
}
case 2:
{
new s[800];
strcat(s,"/gangauto - Przywo?ujesz gangowe auto \n");
strcat(s,"/gangpanel - Panel lidera gangu \n");
strcat(s,"/gangs - Spis gang?w \n");
ShowPlayerDialog(playerid, 1123, DIALOG_STYLE_MSGBOX, "Komendy Gangu", s, "Ok", "Wyjdz");
return 1;
}
}
}
}
return 1;
}
To jest ca?y kod mo?e znajdzie kto? ten b??d dlaczego to nie dzia?a ;f
Wysłany: 2013-06-22, 18:14
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
U mnie ten kod dzia?a ; )
Stworzyles gang?
Wysłany: 2013-06-22, 18:19
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
Lol No tworzy?em i nie dzia?a ;/ ale to jest dziwne bo te znaki od Cb mi te? nie dzia?a?y a jak doda?em na hosting to wszystkim innym dzia?a?y a mi nie wtf?
Tak samo mo?e by? z tymi gangami Wie kto? mo?e o co chodzi?:D
@EDIT
Dobra dzia?a mi na osobnym folderze z pustym serwerem Najwyra?niej co? blokuje mi dialogi oO
Wysłany: 2013-06-22, 18:42
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Moze mieszaja sie dialogi z jakimis z FS'ow
Tagi: gui :: gangów
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: