Skripta koju koristim:CroSerbia
Detaljan opis problema:Ima njeki bug al neznam kako da ga sklnim... znaci kad ide /aoff (tj adminoffduty) nece da se makne pancir kako da to ispravim????
Dio skripte: if (strcmp(cmd,"/aoff",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
new sMsg[ 128 ];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, COLOR_WHITE);
SetPlayerHealth(playerid, 100);
format( sMsg, sizeof( sMsg ), "*Administrator %s vise nije na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 1;
Neke slike/video za lakse dobivanje pomoci(neobavezno):
f (strcmp(cmd,"/aoff",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
new sMsg[ 128 ];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, COLOR_WHITE);
SetPlayerHealth(playerid, 100);
format( sMsg, sizeof( sMsg ), "*Administrator %s vise nije na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 1;
SetPlayerArmour(playerid, 0);
To će ti maknut armor.
Nece :S Probo sam kad idem /aon i onda opet /aoff ostaje Pancir :S i imam jos jedan problem : znaci kad idem /restart pie nisam autoriziran a head xD evo dio skripte
if(strcmp(cmdtext,"/restart",true)==0)
{
if(IsPlayerAdmin(playerid,4))
{
SendRconCommand("gmx");
return 1;
}
SendClientMessage(playerid,BLUE,"Niste ovlasteni za ovu komandu!.");
return 1;
}
Citat: Zenga1998 poslato Maj 14, 2011, 22:53:26 POSLE PODNE
Nece :S Probo sam kad idem /aon i onda opet /aoff ostaje Pancir :S i imam jos jedan problem : znaci kad idem /restart pie nisam autoriziran a head xD evo dio skripte
if(strcmp(cmdtext,"/restart",true)==0)
{
if(IsPlayerAdmin(playerid,4))
{
SendRconCommand("gmx");
return 1;
}
SendClientMessage(playerid,BLUE,"Niste ovlasteni za ovu komandu!.");
return 1;
}
if(IsPlayerAdmin - to je funkcija samo za RCON admine , da ti jednostavnije objasnim , moraš biti ulogiran kao RCON admin u igri , tek onda možeš koristiti tu komandu.
Ali možeš je i zamijenit sa svojom var. za provjeru admina.
Daj komande /aon i /aoff
evo /aon
if (strcmp(cmd,"/aon",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
new sMsg[ 128 ];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, 0xFF0019FF);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100);
format( sMsg, sizeof( sMsg ), "*Administrator %s je sada na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 1;[code=c]
i evo /aoff
[code=c]if (strcmp(cmd,"/aoff",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
new sMsg[ 128 ];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, COLOR_WHITE);
SetPlayerHealth(playerid, 100);
format( sMsg, sizeof( sMsg ), "*Administrator %s vise nije na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 0;
}[code=]
[/code][/code]
Pokusaj ovako
if (strcmp(cmd,"/aoff",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
new sMsg[ 128 ];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, COLOR_WHITE);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 1)
format( sMsg, sizeof( sMsg ), "*Administrator %s vise nije na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 1;
Nece ni to :S probavo sam prvo kod jednog 1 a kod drugog 0 nece pa suprotno pa sam kod oba probo prvo sa 0 pa onda sa 1... necee :S
if (strcmp(cmd,"/aoff",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
new sMsg[ 128 ];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, COLOR_WHITE);
SetPlayerHealth(playerid, 100.0);
SetPlayerArmour(playerid, 0.0)
format( sMsg, sizeof( sMsg ), "*Administrator %s vise nije na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 1;
}
}
return 1;
}
??
Ovako mora raditi:
if (strcmp(cmd,"/aon",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
new sMsg[40+MAX_PLAYER_NAME];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, 0xFF0019FF);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100.0);
format( sMsg, sizeof( sMsg ), "*Administrator %s je sada na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 1;
if (strcmp(cmd,"/aoff",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
new sMsg[40+MAX_PLAYER_NAME];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, COLOR_WHITE);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 0.0);
format( sMsg, sizeof( sMsg ), "*Administrator %s vise nije na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 0;
}
BTW: Malo sam ti optimizirao kod. Nadam se da se ne ljutis.
Evo probaj ovako meni radi
if(strcmp(cmd, "/adoff", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
SetPlayerArmour(playerid, 0.0);
SetPlayerHealth(playerid, 100.0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Admin %s vise nije na duznosti!",sendername);
BroadCast(SVETLOPLAVA, string);
SetPlayerChatBubble(playerid, " ", 0xFF000001,0,0);
SetPlayerColor(playerid, COLOR_WHITE); // blue
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Nisi admin!");
}
}
return 1;
}
Koristi bool...
Na vrh skripte
new bool:AdminDuty[MAX_PLAYERS];
if (strcmp(cmd,"/aduty",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(AdminDuty[playerid] == false)
{
AdminDuty[playerid] = true;
new sMsg[40+MAX_PLAYER_NAME];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, 0xFF0019FF);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100.0);
format( sMsg, sizeof( sMsg ), "*Administrator %s je sada na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 1;
}
else
{
AdminDuty[playerid] = false;
new sMsg[40+MAX_PLAYER_NAME];
GetPlayerName( playerid, sMsg, MAX_PLAYER_NAME );
SetPlayerColor(playerid, COLOR_WHITE);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 0.0);
format( sMsg, sizeof( sMsg ), "*Administrator %s vise nije na duznosti.", sMsg );
SendClientMessageToAll(COLOR_LIGHTRED, sMsg);
OnDuty[playerid] = 0;
}
}
return SendClientMessage(playerid, -1, " Nisi Admin");
}
return 1;
}
ide sada.... Hvala vam . :)