Wysłany: 2018-01-26, 11:17
kitekat
Wiek: 27 Na forum: 4886 dni Posty: 35
Nick w MP: matrioszka.
Witam mam pytanie posiadam komendy na dodanie szefa policji i dodanie pracownika po dodaniu szefa policji za pomoca komendy w pliku gracza gdzie powinno byc Policja=0 zmienione na Policja=2. wykonuje sie tylko Policja= dalej nic nie ma po r?wna si? kto? pomo?e ?
Kod: CMD:szef_poli(playerid, params[])
{
if(!JestRanga(playerid, RANGA_ADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
{
if(sscanf(params, "d[64]", playerid))
return SendClientMessage(playerid, COLOR_WHITE, "Wpisz: /dajszef_policja [id]");
if(!IsPlayerConnected(playerid))
return SendClientMessage(playerid, COLOR_RED, "Zle id");
else
{
DGracza[playerid][RangaPolicja] = 2;
new s[256];
format(s, sizeof(s), "{999999}Dostales lidera policji od {FFFFFF}%s", PlayerName(playerid));
SendClientMessage(playerid, COLOR_WHITE, s);
SendClientMessage(playerid, COLOR_GRAY, "Wykonano pomyslnie.");
ZapisGracza(playerid);
}
}
return 1;
}
CMD:dodaj_poli(playerid, params[])
{
if(DGracza[playerid][RangaPolicja] == 2)
{
if(sscanf(params, "d[64]", playerid))
return SendClientMessage(playerid, COLOR_WHITE, "Wpisz: /dodaj_policja [id]");
if(!IsPlayerConnected(playerid))
return SendClientMessage(playerid, COLOR_RED, "Zle id");
else
{
DGracza[playerid][RangaPolicja] = 1;
new s[256];
format(s, sizeof(s), "{999999}zostales zatrudniony do policji przez {FFFFFF}%s", PlayerName(playerid));
SendClientMessage(playerid, COLOR_WHITE, s);
SendClientMessage(playerid, COLOR_GRAY, "Wykonano pomyslnie.");
ZapisGracza(playerid);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Nie mozesz uzyc tej komendy!");
}
return 1;
}
Kod: To mam w stockach:
Rejestruj: dfile_WriteInt("Policja", 0);
Zapis Gracza: dfile_WriteString("Policja", DGracza[playerid][RangaPolicja]);
Wczytaj: DGracza[playerid][RangaPolicja] = dfile_ReadInt("Policja");
Wysłany: 2018-01-26, 20:55
MG303
Wiek: 30 Na forum: 6418 dni Posty: 654
Piwa : 2990
Niepoprawnie tworzysz komendy.
Kod: if(sscanf(params, "d[64]", playerid))
Je?eli pobierasz ID to wystarczy samo d lub u . 64 dodajesz w stringu.
Kolejny b??d to playerid w sscanf. Nie pobierasz swojego id, lecz drugiego gracza. Zastosuj np. giveplayerid . Wtedy wsz?dzie zmieniasz, np.
Kod: if(!IsPlayerConnected(giveplayerid))
return SendClientMessage(playerid, COLOR_RED, "Zle id");
Kod: DGracza[giveplayerid][RangaPolicja] = 2;
Kod: ZapisGracza(giveplayerid);
Wysłany: 2018-01-27, 08:58
kitekat
Wiek: 27 Na forum: 4886 dni Posty: 35
Nick w MP: matrioszka.
Wysłany: 2018-01-27, 15:53
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Najpierw w kodzie masz
Kod: dfile_WriteInt("Policja", 0);
A dalej
Kod: dfile_WriteString("Policja", DGracza[playerid][RangaPolicja]);
Jeszcze dalej
Kod: DGracza[playerid][RangaPolicja] = dfile_ReadInt("Policja");
Warto?? trzymana w DGracza[playerid][RangaPolicja] to raczej liczba (int), wi?c dlaczego podczas zapisu u?ywasz funkcji WriteString?
Wysłany: 2018-01-27, 15:54
Zamek
Wiek: 26 Na forum: 3788 dni Posty: 168
Nick w MP: Zamek
Piwa : 276
"dfile_WriteString("Policja", DGracza[playerid][RangaPolicja]); "
RangaPolicja zapisana jest zapewne jako int a ty u?ywasz funkcji kt?ra zapisuje ci?g tekstowy czyli String, by? mo?e to jest powodem b??dnego zapisu, nie wiem jak dzia?a dfile ale musisz poszuka? funkcje typu dfile_WriteInt.
Wysłany: 2018-01-27, 16:19
kitekat
Wiek: 27 Na forum: 4886 dni Posty: 35
Nick w MP: matrioszka.
Dobra zobacz? jak wygl?da u mnie zapis pod rangi mo?liwe ze jest tak jak piszecie dam zna?. Dzi?ki
Tagi: frakcja :: czytanie :: pliku
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: