Wysłany: 2013-10-12, 09:37
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Witam.Mam pewien problem z dodaniem do pewnej komendy 2 rangi.Gdy komenda jest na admina(rcona) to nie ma problemu,a gdy dodam do niej kolejn? range(mod) to pisze,?e nie jeste? adminem/modem.Na przyk?adnie poka?e jak doda?em rang? moda.
Kod: CMD:cos(playerid, params[])
{
if(!IsPlayerAdmin(playerid) || (!moder[playerid]))
return SendClientMessage(playerid, -1, "brak admina lub moda");
return 1;
}
Dodam,?e komenda dzia?a na rconie.
Za pomoc piwko i respekt.
Wysłany: 2013-10-12, 09:50
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
tu jest okej, co? masz ze zmienn? moder. Ustawiasz gdzie? zmienn? moder na 1?
Zr?b logowanie osobne:
Kod:
CMD:loginm(playerid, params[])
{
moder[playerid] = 1;
return 1;
}
i p??niej spr?buj u?y? tej komendy cos
Wysłany: 2013-10-12, 09:54
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Tak mam takie logowanie.Tylko komenda jakby 'wyczuwa?a' tylko pierwszego rcona(jak si? nie jest zalogowany to od razu pisze,?e nie masz admina/moda)2 rangi jakby w og?le nie by?o.Spr?buje jeszcze odwrotnie mo?e to co? da...
[ Dodano : 2013-10-12, 09:58 ]
Niestety zamiana obu rang powoduje error pawno.
Wysłany: 2013-10-12, 10:06
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
Rumun , Nie jestem pewien ale zobacz tak:
Kod: CMD:cos(playerid, params[])
{
if(!IsPlayerAdmin(playerid) || (moder[playerid]==0))
{
SendClientMessage(playerid, -1, "brak admina lub moda");
return 1;
}
//Reszta komendy...
return 1;
}
Ustalasz przy logowaniu warto?? moder na 1 ?
Wysłany: 2013-10-12, 10:08
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Wysłany: 2013-10-12, 10:18
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
Rumun , W takim razie zobacz komend? kt?r? Ci poda?em
Wysłany: 2013-10-12, 10:24
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Niestety nadal to samo.Jest si? zalogowanym na moda to brak moda lub admina.na rconie wszystko dzia?a.
Wysłany: 2013-10-12, 10:33
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
Hmm... A zobacz ten kod:
Kod: CMD:cos(playerid, params[])
{
if(!IsPlayerAdmin(playerid) && (moder[playerid]==0))
{
SendClientMessage(playerid, -1, "brak admina lub moda");
return 1;
}
//Reszta komendy...
return 1;
}
Wysłany: 2013-10-12, 11:35
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Tak zrobi?em:
Kod: if(!IsPlayerAdmin(playerid) && (moder[playerid]== 1))
w pierwszej chwili si? ucieszy?em,bo zadzia?a?o.Lecz nie zalogowa?em si? na moda i jako zwyk?y gracz te? mog?em u?ywa? cmd.
Wysłany: 2013-10-12, 11:39
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
A mo?e w taki spos?b:
Kod: if(!IsPlayerAdmin(playerid) && (!moder[playerid]))
Metoda pr?b i b??d?w
Wysłany: 2013-10-12, 12:40
IgrexolonO
Wiek: 34 Na forum: 6810 dni Posty: 1386
Piwa : 1062
Tutaj nie ma metody pr?b i b??d?w. Szybki poradnik dla was koledzy.
Przyjmijmy, ?e chcemy co? sprawdzi?. Ostatecznie w przypadku b??du returnujemy wy?wietlany tekst -> "nie jeste? administratorem b?d? moderatorem".
Kod: if(!IsPlayerAdmin(playerid) && !moder[playerid]) return SendClientMessage(playerid, -1, "Nie jeste? administratorem b?d? moderatorem."), true;
^ Je?li gracz nie jest zalogowany jako RCON admin I jako moderator, wy?wietlamy tekst.
Kod: if(IsPlayerAdmin(playerid) && !moder[playerid]) return SendClientMessage(playerid, -1, "Nie jeste? administratorem b?d? moderatorem."), true;
^ Je?li gracz jest zalogowany na RCON admina, ale nie jest moderatorem, wy?wietlamy tekst.
Kod: if(!IsPlayerAdmin(playerid) && moder[playerid]) return SendClientMessage(playerid, -1, "Nie jeste? administratorem b?d? moderatorem."), true;
^ Je?li gracz nie jest zalogowany na RCON admina, ale jest moderatorem, wy?wietlamy tekst.
Kod: if(IsPlayerAdmin(playerid) && moder[playerid]) return SendClientMessage(playerid, -1, "Nie jeste? administratorem b?d? moderatorem."), true;
^ Je?li gracz jest administratorem, b?d? moderatorem, wy?wietlamy tekst; przydatne dla "komend tylko dla graczy".
_________________________________________________________________________________
Teraz zaczynamy nowy rozdzia?, wcze?niej "obydwie" warto?ci by?y wymagane. Teraz postaramy si? o wym?g jednej.
Kod: if(IsPlayerAdmin(playerid) || moder[playerid]) return SendClientMessage(playerid, -1, "Nie jeste? administratorem b?d? moderatorem."), true;
^ Je?li gracz jest zalogowany na RCON admina LUB na moderatora, wy?wietlamy tekst; przydatne dla "komend tylko dla graczy".
Kod: if(!IsPlayerAdmin(playerid) || moder[playerid]) return SendClientMessage(playerid, -1, "Nie jeste? administratorem b?d? moderatorem."), true;
^ Je?li gracz nie jest zalogowany na RCON admina LUB jest zalogowany na moderatora, wy?wietlamy tekst.
Kod: if(IsPlayerAdmin(playerid) || !moder[playerid]) return SendClientMessage(playerid, -1, "Nie jeste? administratorem b?d? moderatorem."), true;
^ Je?li gracz jest zalogowany na RCON admina LUB jest niezalogowany na moderatora, wy?wietlamy tekst.
To co przedstawi?em opiera si? o m?j ulubiony system uk?adania kodu.
- Je?li *co? nie pasuje* nie przechodzisz dalej.
- Reszta kodu.
Natomiast to co Ty tutaj masz nie sprawdzi si? w praktyce. Najlepiej zastosowa? nast?puj?c? metod?:
Kod: if(IsPlayerAdmin(playerid) || moder[playerid])
{
//reszta kodu
} else SendClientMessage(playerid, -1, "Nie jeste? ani moderatorem ani administratorem!");
Pr?b by?o wiele, ale ja poprawi? wasz? pr?b? na:
Kod: if(!IsPlayerAdmin(playerid) && !moder[playerid]) return SendClientMessage(playerid, -1, "Sorry Gregory"), true;
// reszta kodu
^ Powy?sze sprawdzi czy gracz nie jest zalogowany jako RCON admin ani jako moderator. Je?li tak jest, jedyne co zobaczy to wiadomo?? "Sorry Gregory"; reszta kodu si? nie wykona.
Zatem Twoja komenda powinna wygl?da? w nast?puj?cy spos?b:
Kod: CMD:cos(playerid, p[])
{
if(!IsPlayerAdmin(playerid) && !moder[playerid]) return SendClientMessage(playerid, -1, "Brak admina lub moda"), true;
return true;
}
Wysłany: 2013-10-12, 13:07
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
Niestety nie dzia?a.Po zalogowaniu na moda te? pisze 'brak admina lub moda"Nie wiem co mo?e by? ?le.
Wysłany: 2013-10-12, 13:10
IgrexolonO
Wiek: 34 Na forum: 6810 dni Posty: 1386
Piwa : 1062
Poka? logowanie na moderatora.
Wysłany: 2013-10-12, 13:16
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
CMD:mod(playerid, params[])
{
moder[playerid]=1;
SendClientMessage(playerid, -1, "zalogowano");
return 1;
}
Wysłany: 2013-10-12, 13:36
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Kod:
CMD:cos(playerid, params[])
{
if(!IsPlayerAdmin(playerid) && (moder[playerid] == 0)) return SendClientMessage(playerid, -1, "brak admina lub moda");
//Reszta cmd
//np;
SendClientMessage(playerid, "Wys?ano wiadomosc");
return 1;
}
Logowanie:
Kod:
CMD:mod(playerid, params[])
{
moder[playerid]=1;
SendClientMessage(playerid, -1, "zalogowano");
return 1;
}
Tagi: komenda :: dla :: rang
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: