Wysłany: 2015-01-30, 19:35
Nors
Wszystko wiem.
Wiek: 30 Na forum: 4600 dni Posty: 223
Nick w MP: Nors
Piwa : 10
Cze?? mam problem z komend?. Poniewa? gdy wpisuje /zmien_frakcja to nic si? nie dzieje. Prosz? o pomoc.
Kod:
Kod: CMD:zmien_frakcja(playerid, params[])
{
if(IsPlayerAdmin(playerid)){
new string[300];
new id;
new frakcja;
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(string, sizeof(string), "/Gracze/%s.txt",Gname);
if(dini_Exists(string))
{
if(sscanf(params, "ui", id, frakcja))
{
SendClientMessage(playerid, COLOR_WHITE, "U?yj /zmien_frakcja [IDGRACZA] [FRAKCJA]");
return 1;
}
else if(id == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, COLOR_RED, "Gracz nie istnieje !");
return 1;
}
else if(gGracz[id][Frakcja] == frakcja)
{
SendClientMessage(playerid, COLOR_RED, "Gracz ma juz ta frakcje !");
return 1;
}
else
{
new message[64];
gGracz[id][Frakcja] = frakcja;
dini_IntSet(string, "Frakcja", gGracz[id][Frakcja]);
format(message,sizeof(message),"Zatrudniles gracza do %s",frakcja);
SendClientMessage(playerid,COLOR_GREEN,message);
format(message,sizeof(message),"Zostales zatrudniony do %s !\n{FFFFFF}Powodzenia ",frakcja);
SendClientMessage(id,COLOR_RED,message);
}
}
}
return 1;
}
Podpis
Daj piweczko. Pić się chce.
Wysłany: 2015-01-31, 13:26
kazami
Pawner/PTG
Wiek: 27 Na forum: 4596 dni Posty: 405
Nick w MP: adi888
Piwa : 43
ja gdy mam takie problemy to wstawiam printa w klika miejsc i patrz? na konsoli do kt?rego miejsca dochodzi kod i wtedy mamy pokazany b??d gdzie jest
Radz? ci wstawi? w kilka miejsc print("jestem tutaj i tutaj");
ale pierwszy warunek napewno masz spe?niony ?
Wysłany: 2015-01-31, 15:32
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
Nors , Jeste? zalogowany na RCON podczas wpisywania tej komendy?
Wysłany: 2015-02-01, 17:01
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
Sprawd? teraz:
Kod: CMD:zmien_frakcja(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new string[300];
new id;
new frakcja;
if(sscanf(params, "ui", id, frakcja))
{
SendClientMessage(playerid, COLOR_WHITE, "U?yj /zmien_frakcja [IDGRACZA] [FRAKCJA]");
return 1;
}
if(id == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, COLOR_RED, "Gracz nie istnieje !");
return 1;
}
if(gGracz[id][Frakcja] == frakcja)
{
SendClientMessage(playerid, COLOR_RED, "Gracz ma juz ta frakcje !");
return 1;
}
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(string, sizeof(string), "/Gracze/%s.txt",Gname);
if(dini_Exists(string))
{
new message[64];
gGracz[id][Frakcja] = frakcja;
dini_IntSet(string, "Frakcja", gGracz[id][Frakcja]);
format(message,sizeof(message),"Zatrudniles gracza do %s",frakcja);
SendClientMessage(playerid,COLOR_GREEN,message);
format(message,sizeof(message),"Zostales zatrudniony do %s !\n{FFFFFF}Powodzenia ",frakcja);
SendClientMessage(id,COLOR_RED,message);
}
}
return 1;
}
tak poza tym
Kod: new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(string, sizeof(string), "/Gracze/%s.txt",Gname);
if(dini_Exists(string))
{
new message[64];
gGracz[id][Frakcja] = frakcja;
dini_IntSet(string, "Frakcja", gGracz[id][Frakcja]);
powinno by? w zapisie gracza po co za?mieca? sobie zb?dnym kodem. Robisz tak:
Kod:
new UstawFrakcja;
new frakcja[MAX_PLAYERS];
zapis Gracza
dini_IntSet(string, "Frakcja", UstawFrakcja);
Odczyt gracza
frakcja[playerid] = dini_IntSet(string, "Frakcja", UstawFrakcja);
Wysłany: 2015-02-01, 18:15
kazami
Pawner/PTG
Wiek: 27 Na forum: 4596 dni Posty: 405
Nick w MP: adi888
Piwa : 43
w komendach zmieniasz tylko zmienne a przy zapisie robisz zapis zmiennej od frakcji , bo zmienic w pliku frakcje podczas wykonania komendy to nieoptymalne
Wysłany: 2015-02-01, 18:54
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
kazami , serio? Lepiej to robi? przy zapisie stat gracza, czy lepiej raz zapisa? gdy wpisze komende? W komendzie najlepiej, up wprowadza w b??d
Wysłany: 2015-02-01, 19:51
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
"ToxiC`" napisał/a :kazami , serio? Lepiej to robi? przy zapisie stat gracza, czy lepiej raz zapisa? gdy wpisze komende? W komendzie najlepiej, up wprowadza w b??d
Id?c Twoim tokiem rozumowania:
- gracz zmienia w czasie gry 500 razy frakcj?,
; logicznie my?l?c:
#x500 fOpen,
#x500 fWrite.
vs to co napisa? ten tam wy?ej ^ kt?remu z trudem przyznaje racje bo to jednak g??b,
#x1 fOpen,
#x1 fWrite.
=> Jego rozwi?zanie jest lepsze.
[ Komentarz dodany przez: ToxiC` : 2015-02-01, 19:56 ]
Tylko komenda jest dla admina, i w?tpie aby ustawia? jednemu graczowi tysi?ce razy inn? frakcje. =)
Tagi: komenda :: nie :: działa :: jak :: powinna
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: