Koliko sam te skontao
Kod provjere kad palis duty dodaj SetPlayerColor(playerid, 0xFF0000FF);
Pomoc oko Admin Duty IC Chat-a.
752
pregleda
3
postova
2. Jan. 2025.
public OnPlayerText(playerid, text[]) {
if(adminDuty) { //proveravamo da li ne duty
new str; //deklrisemo promenljivu koja ce da cuva kompletan tekst
format(str, sizeof(str), "(( Admin %s: {FFFFFF}%s {1C76FC}))", ImeIgraca(playerid), text); //formatiramo tekst onako kako hocemo
//funkcija ImeIgraca je da izvuce ime igraca na osnovu ID-a, ostavicu dole primer
PorukaRadius(25.0, playerid, str, 0x1C76FCFF); //Funkcija koja salje poruku svim igracima koji su u range-u, isto kao ProxDetector
//U nju unosimo sledece argumente ( range, ime igraca koji salje poruku, poruku koju salje, boja teksta)
return 0; //vracamo 0 da ne bi poslalo jos jednu poruku
}
return 1;
}
PorukaRadius( Float:radi, playerid, string[ ], col1) //ovo je sama funkcija, izvucena iz SM moda
{
if(IsPlayerConnected( playerid ) ) //proveravamo da li je playerid(onaj koji salje poruku) connect-ovan
{
foreach( Player, i ) { //ove koristimo loop kroz sve igrace koristeci y_iterate, mada mozes i klasican for(new i = 0; i < MAX_PLAYERS; i++)...
if( IsPlayerNearPlayer( 25.0, playerid, i ) ) { //ostavicu dole ovu funkciju, proverava da li se igrac nalazi u odredjenom range-u drugog igraca
SendClientMessage( i, col1, string ); //posalje poruku
}
}
}
return 1;
}
ImeIgraca( id ) { //funkcija koja vraca string ime igraca na osnovu id-a
new ime[ 32 ];
GetPlayerName( id, ime, sizeof ime);
return ime;
}
IsPlayerNearPlayer(Float:radi, playerid, targetid) //ukradena funkcija koja proverava da li je neki igrac u range-u drugog igraca ( range navodimo mi )
{
if( IsPlayerConnected( playerid ) && IsPlayerConnected( targetid ) ) {
if( GetPlayerVirtualWorld( playerid ) == GetPlayerVirtualWorld( targetid ) ) {
new Float:posx,
Float:posy,
Float:posz,
Float:oldposx,
Float:oldposy,
Float:oldposz,
Float:tempposx,
Float:tempposy,
Float:tempposz;
GetPlayerPos( playerid, oldposx, oldposy, oldposz);
GetPlayerPos(targetid, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
}
return 0;
}ovo je neki primer kako bi trebalo da radi, nije najbolje ali klasicno nesto
2. Jan. 2025.
Uradi proveru ako admin salje poruku da izadje sa bojom koji zelis, prosto i jednostavno.
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava
