Wysłany: 2012-05-07, 17:12
kamil445
:D
Wiek: 29 Na forum: 6151 dni Posty: 119
Nick w MP: Czechu
Piwa : 882
witam,
znalaz?em taki "skrypt"
Kod: #include <a_samp>
new bool:jesta[MAX_PLAYERS]; //Tworzymy tablice dzi?ki kt?rej nie b?dzie spamowa? pewien tekst.
public OnPlayerConnect(playerid){
jesta[playerid] = false; //ustawiamy tablice przy po??czeniu na false (0), na wszelki wypadek
return 1;
}
public OnPlayerDisconnect(playerid, reason){
jesta[playerid] = false; //ustawiamy tablice przy roz??czeniu na false (0), aby nastepny gracz na tym id nie mia? true przypisanego
return 1;
}
public OnPlayerUpdate(playerid){
if(IsPlayerAdmin(playerid) && jesta[playerid] == true){ //je?eli gracz wpisa? rcon i si? zalogowa?(jesta - dzieki temu nie bedzie spamu na chacie tekstem poni?ej)
new string[256];
new name[MAX_PLAYER_NAME];//tablica kt?ra pomo?e nam pobra? nick admina
GetPlayerName(playerid,name, sizeof(name));//fukcja pobieraj?ca nick
format(string, sizeof(string), "[INFO] Mi?o ?e jeste?, %s (ID: %d) A teraz BANUJ ", name, playerid);
SendClientMessage(playerid, 0x45D150FF, string);
format(string, sizeof(string), "[INFO] Gracz %s (ID: %d) zalogowa?(a) si? jako Administrator", name, playerid);//sformatowany(z znickiem) tekst do WSZYSTKICH graczy
SendClientMessageToAll(0xFF0000AA,string);
SetPlayerColor(playerid, 0xFF0000AA);
SoundForAll(1133);
jesta[playerid] = false; //zn?w ustawiamy tablice na false, po to b
}
return 1;
}
public OnRconLoginAttempt(ip[], password[], success){
if(success) {//je?eli has?o jest prawid?owe
for(new i=0; i<MAX_PLAYERS; i++) {//p?tla dla wszystkich graczy
jesta[i] = true;//ustawiamy tablice na true, by zadzia?a?o nam to co jest w publicu OnPlayerUpdate
}}
return 1;
}
problem w tym ze jak jest 1 osoba zalogowana jako admin, i zaloguje si? 2-ga to pokazuje 2x to samo tylko z innymi nickami (tak jakby dwoje graczy zalogowa?o sie w tej chwili na adma)
za pomoc
Wysłany: 2012-05-07, 17:21
Michalec
Dokładnie.
Wiek: 30 Na forum: 6405 dni Posty: 163
Nick w MP: []Damianos[]
Piwa : 99
OnPlayerUpdate ? Wtf?
Tak wystarczy:
Kod: public OnRconLoginAttempt(ip[], password[], success)
{
if(success)
{
new playerid = GetPlayerIDFromIP(ip);
//Tutaj dodaj message itd.
}
return 1;
}
Oraz funkcja jak bys nie mial:
Kod: stock GetPlayerIDFromIP(ip[])
{
new
pIp[16]
;
for(new i; i != MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
GetPlayerIP(i, pIp, sizeof(pIp));
if(!strcmp(ip, pIp, true)) return i;
}
}
return INVALID_PLAYER_ID;
}
Wysłany: 2012-05-07, 17:54
kamil445
:D
Wiek: 29 Na forum: 6151 dni Posty: 119
Nick w MP: Czechu
Piwa : 882
wszystko pi?knie, tylko ja bym chcia? by by?o :
Kod: format(string, sizeof(string), "[INFO] Gracz %s (ID: %d) zalogowa?(a) si? jako Administrator", name, playerid);//sformatowany(z znickiem) tekst do WSZYSTKICH graczy
a tutaj nie bd dzia?a?a?o (playerid)
EDIT: zwracam honor, nie zauwa?y?em ?e jest new playerid
Ostatnio zmieniony przez kamil445 2012-05-07, 18:08, w całości zmieniany 2 razy
Wysłany: 2012-05-07, 17:58
Seboo
Wiek: 30 Na forum: 5515 dni Posty: 124
Nick w MP: Sebo
Piwa : 1228
Kod: format(string, sizeof(string), [INFO] Gracz %s (ID: %d) zalogowa?(a) si? jako Administrator", name, playerid);
SendClinetMessageToAll(COLOR_GREEN, string);
Powinno dzia?a?, mi dzia?a.
Wysłany: 2012-05-07, 18:10
kamil445
:D
Wiek: 29 Na forum: 6151 dni Posty: 119
Nick w MP: Czechu
Piwa : 882
@UP dzia?a to co Michalec napisa?, bo niezauwa?y?em ?e jest "new playerid "
Macie moze definicje GetPlayerIP ?
bo mam 1 errorek:
Kod: error 017: undefined symbol "GetPlayerIP"
Wysłany: 2012-05-07, 18:22
__.A.__
Wiek: 30 Na forum: 5170 dni Posty: 151
Piwa : 855
dodaj :
Kod: stock PlayerIP(playerid)
{
new IP[16];
GetPlayerIp(playerid, IP, sizeof(IP));
return IP;
}
Podpis
new map test beta:
ip serwera: 80.72.36.203:4056
Wysłany: 2012-05-07, 18:53
kamil445
:D
Wiek: 29 Na forum: 6151 dni Posty: 119
Nick w MP: Czechu
Piwa : 882
Eh. Nadal nie dzia?a, ten sam error:
Kod: error 017: undefined symbol "GetPlayerIP"
Wysłany: 2012-05-07, 19:38
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Zamie? GetPlayerIP na GetPlayerIp
Wysłany: 2012-05-07, 19:52
kamil445
:D
Wiek: 29 Na forum: 6151 dni Posty: 119
Nick w MP: Czechu
Piwa : 882
dzia?a THX..
by nie robi? new tematu jak zrobi?...
je?li kto? wejdzie do pojazdu (ale jako kierowca! to ma pokaza? mu si?
tekst kt?ry tam wpisze.
kod:
Kod: new gracz = GetPlayerState(playerid);
if(gracz == PLAYER_STATE_DRIVER)
{
//jaki? tam fajny kodzik
return 1;
}
to mam w tym publicu :
Kod: public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
//kod
return 1;
}
Wysłany: 2012-05-07, 21:44
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Musisz sw?j kod umie?ci? w OnPlayerStateChange
Kod: public OnPlayerStateChange(playerid, newstate, oldstate)
{
switch(newstate)
{
case PLAYER_STATE_DRIVER:
{
//Tutaj Tw?j kod
}
}
return 1;
}
Tagi: zalogował :: się :: jako :: admin
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: