Kako trebam definisati

Započeo Roby Mapper, Februar 17, 2019, 23:28:23 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Kako trebam definisati if( PlayerInfo za Spec Admina da pise kad ulazi ingame probao sam i ne ide kako trebam napraviti da pise kada ulazi spec admin na server dole sam napravio za specadmin?
Dio skripte: https://pastebin.com/HLrg5fzK
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
#ROBY
#ONLINE !
----- NIKAD PORAZ SAMO LEKCIJA! -----

Napravi nesto kao AdminPoruka primjer AdminSpecadminPoruka te stavi da se i njima prikazuje poruka

Citat: Miki11 poslato Februar 17, 2019, 23:35:27 POSLE PODNE
Napravi nesto kao AdminPoruka primjer AdminSpecadminPoruka te stavi da se i njima prikazuje poruka
Mozes mi ti staviti ne ide mi bas ovo @Miki11
#ROBY
#ONLINE !
----- NIKAD PORAZ SAMO LEKCIJA! -----

Probaj nezz dal ce radit

[pawn]AdminSpecAdminPoruka( color, string[] ) {
    for( new i = 0; i < MAX_PLAYERS; i++) {
      if( IsPlayerConnected( i ) ) {
          if( PlayerInfo[ i ][ xAdmin ] >= 1 || PlayerInfo[ i ][ xSpecAdmin] == 1 ) {
            SCM( i, color, string ); } } }
    return true;
}[/pawn]

i tamo zamjeni AdminPoruka sa AdminSpecAdminPoruka

Citat: Miki11 poslato Februar 17, 2019, 23:45:59 POSLE PODNE
Probaj nezz dal ce radit

[pawn]AdminSpecAdminPoruka( color, string[] ) {
    for( new i = 0; i < MAX_PLAYERS; i++) {
      if( IsPlayerConnected( i ) ) {
          if( PlayerInfo[ i ][ xAdmin ] >= 1 || PlayerInfo[ i ][ xSpecAdmin] == 1 ) {
            SCM( i, color, string ); } } }
    return true;
}[/pawn]

i tamo zamjeni AdminPoruka sa AdminSpecAdminPoruka
Ubacio sam i opet isto
#ROBY
#ONLINE !
----- NIKAD PORAZ SAMO LEKCIJA! -----

Zna li neko neki dobar nacin ?
#ROBY
#ONLINE !
----- NIKAD PORAZ SAMO LEKCIJA! -----

zameni za svojim samo

[pawn]if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pTestAdmin] >= 1)
   {
        new org[20];
      if(PlayerInfo[id][pAdmin] >= 1) { org = "admin"; }
      else if(PlayerInfo[id][pTestAdmin] >= 1) { org = "test admin"; }
      format(string,sizeof(string),""CRVENA"[SA:RP Admin System] "ZELENA"Igrac %s je %s level %d!", GetName(playerid),org,PlayerInfo[playerid][pAdmin]);
      SendAdminMessage(-1, string);
         }
new org[20];
        if(PlayerInfo[id][pAdmin] >= 1) { org = "admin"; }
        else if(PlayerInfo[id][pTestAdmin] >= 1) { org = "test admin"; }
        format(string,sizeof(string),""CRVENA"[SA:RP Admin System] "ZELENA"Igrac %s je %s level %d!", GetName(playerid),org,PlayerInfo[playerid][pAdmin]);
        SendAdminLoginMassage(-1, string);

///////////////////////////////////////////////////////////////////////////
forward SendAdminLoginMassage(color, string[]);
public SendAdminLoginMassage(color, string[])
{
    foreach(Player,i)
    {
        if(PlayerInfo[pAdmin] >= 1 || PlayerInfo[pVlasnikV] == 1 || PlayerInfo[pTAdmin] == 1 || PlayerInfo[pMaper] == 1)
        {
            SendClientMessage(i, color, string);
        }
    }[/pawn]
Poslednja Izmena: Februar 20, 2019, 04:22:09 PRE PODNE od Agency

Nisam te bas razumeo kad udje taj specadmin da izbacu njemu ili serveru celom ili svim spec adminima?
GAD SAM JA

POsalji kod gdje mu postavljas spec admina, takodje
ako je taj admin u isto vrijeme spec admin i xAdmin izbacice ti samo poruku za xAdmina
Sto znaci komanda npr dajadmina bi trebala izgeldati ovako
[pawn]

CMD:daj admina
PlayerInfo[id][xAdmin] = 0;
PlayeriInfo[id][xspecAdmin] = 1; // e sada ce ti ocitat ono else if. Prekopruka koristi samp wiki
PlayerInfo[id][xScriptaAdmin] =0; // takodje zbog if provjere

/*
Sada da ti objasnim malo sta si ti uradio
ti sa else if provjera ide redom od prve do zadnje i zaustavlja se na prvom TRUE odgovoru
sto znaci da ako je tebi admin xAdmin i scriptadmin i spec admin
nece mu izbacity poruku za specAdmina jer je vec dobio TRUE(tacan) odgovor iznad znaci za takve situacije koristi samo if bez else if, ali opet moja preporuka ti je da xAdmina u davanju admina postavljas na 0, a spec admina postavljas na 1

*/

[/pawn]

Na telefonu pišem kod izvini ako ima grešku...
[pawn]public OnPlayerConnect(playerid)
{
    SendLoginMessage(0xFF0000FF, "[JOIN] {FFFFFF}Igrac %s se ulogovao na server!", GetName(playerid));
    return 1;
}[/pawn]
[pawn]static stock SendLoginMessage(boja, const fmt[], va_args<>)
{
    new str[145];
    va_format(str, sizeof str, fmt, va_start<2>);
    foreach( new i : Player)
    {
         if(PI[pSpecAdmin] > 0)
         {
              SCM(i, boja, str);
         }
    }
    return 1;
}[/pawn]
[pawn]static stock GetName(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    return name;
} [/pawn]
Ukoliko imaš bilo šta od YSI paketa includeovano ovo će ti raditi al svakako update YSI na 5x jer 5x supportuje Just In Time compiler koji ubrzava celu skriptu za oko 300%