Jump to content

Stellet

Uživatel
  • Příspěvků

    392
  • Registrován

  • Aktivní

Příspěvky posted by Stellet

  1. No nedělal:

    Nahoře

    new PlayerText3D:dnamelabel;

    Příkaz:

    CMD:dname(playerid, params[])
    {
    if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!");
    if(PlayerInfo[playerid][pDNamed] == 0)
    {
    new Float: Pos[3];
    GetPlayerPos( playerid, Pos[0], Pos[1], Pos[2]);
    dnamelabel = CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, Pos[0], Pos[1], Pos[2], 40.0);
    SendClientMessage(playerid,B_WARN,"> Od nyní máš modrej nick. ( Nezapomeň používej to jen když třeba učíš RP nebo řešíš REPORT! )");
    SetPlayerColor(playerid,COLOR_ADMINSI);
    PlayerInfo[playerid][pDNamed] = 1;
    Attach3DTextLabelToPlayer(dnamelabel, playerid, 0.0, 0.0, 0.7);
    }else{
    SetPlayerColor(playerid,COLOR_NEVIDITELNA);
    SendClientMessage(playerid,B_WARN," > Odteď máš normální barvu nicku a můžeš RPit !");
    PlayerInfo[playerid][pDNamed] = 0;
    DeletePlayer3DTextLabel(playerid, dnamelabel);
    }
    return true;
    }

    A Attach3DTextlabelToPlayer chce: Text3D a né PlayerText3D

  2. ,playerid,INVALID_VEHICLE_ID,
    ~> Why?

     

    CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, X, Y, Z, 40.0);
    ~> Dáváš tam zbytečnosti. A taky bylo fajn, kdyby si v tom dělal mezery, je to přehlednější

     

     

     

    ~> Protože ty řádky kopíruješ ze bbcodes, kde je to sice tabované, ale jakmile to přeneseš, z tabování se udělají mezery (jde to vidět například ve ST3 nebo Notepad++).

     

    Když to udělám

    CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, X, Y, Z, 40.0);

    Tak to nepůjde Attachnout..

    A  ani nejde tak jak jsi řekl protože pak to píše:

     

    (2232) : warning 213: tag mismatch

    řádek:

     

    (2229)new Float:X, Float:Y, Float:Z;
             (2230)GetPlayerPos( playerid, X, Y, Z );
             (2231)label = CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, X, Y, Z, 40.0);
             (2232)Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
  3.  

    ehh, tak to skus podle: https://wiki.sa-mp.com/wiki/DeletePlayer3DTextLabel

    odepínat

     

    neboly 

    DeletePlayer3DTextLabel(playerid, label);
    

    Nejde

    CMD:dname(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] <= 0) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!");
        else
    {
    new PlayerText3D:label;
    if(PlayerInfo[playerid][pDNamed] == 0)
    {
    if(PlayerInfo[playerid][pAdmin] > 0)
        {
            new Float:X, Float:Y, Float:Z;
         GetPlayerPos( playerid, X, Y, Z );
            label = CreatePlayer3DTextLabel(playerid,"(( Jsem tu OOCly ! ))",0x008080FF,X,Y,Z,40.0,playerid,INVALID_VEHICLE_ID,0);
       new str[300];
    format(str,sizeof(str)," > Od nyní máš modrej nick. (( Nezapomeň používej to jen když třeba učíš RP nebo řešíš REPORT! ))");
    SendClientMessage(playerid,B_WARN,str);
    SetPlayerColor(playerid,COLOR_ADMINSI);
    PlayerInfo[playerid][pDNamed] = 1;
    return 1;
    }
    }
    if(PlayerInfo[playerid][pDNamed] == 1)
    {
    if(PlayerInfo[playerid][pAdmin] > 0)
    {
       DeletePlayer3DTextLabel(playerid, label);
    SetPlayerColor(playerid,COLOR_NEVIDITELNA);
    SendClientMessage(playerid,B_WARN," > Odteď máš normální barvu nicku a můžeš RPit !");
    PlayerInfo[playerid][pDNamed] = 0;
    return 1;
    }
    }
    }
    return 1;
    }

    zkusil jsem to i takto ale nejde (PS: Natabované to mám, nevím proč mi to tady na pawnu rozhází)

  4. Skus jestly by to nefungovalo že:

    Attach3DTextLabelToPlayer(Text3D:label, playerid, 0.0, 0.0, 0.7);
    
    Delete3DTextLabel(Text3D:label);
    

    Jelikož máš:

    new Text3D:label = Create3DTextLabel("(( Jsem tu OOCly! ))", 0xFF9F00FF, 30.0, 40.0, 50.0, 40.0, 0);
    

    Tak mi příde že vytváříš vlastně: Text3D:label

     

    Ale...

    Podívej se na Wiki, tam podle toho jsem koukal a vše funguje, jen se nechce ,,Odepnout" když se to smaže..

  5. Ahoj udělal jsem si:

    new Text3D:label = Create3DTextLabel("(( Jsem tu OOCly! ))", 0xFF9F00FF, 30.0, 40.0, 50.0, 40.0, 0);

    a pak:

    Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);

    a jak udělám aby to už neměl připlý k sobě ? Dal jsem

    Delete3DTextLabel(label);

    ale nad hlavou to furt má

  6. Zdravím mám jednoduchý příkaz co každý server, ale nefunguje jak má :d

    CMD:spec(playerid,params[])
    {
    new id;
    if(PlayerInfo[playerid][pAdmin] <= 1)
    {
       InfoText(playerid,"LVRP","Tento prikaz nemuzes ~n~pouzivat!",5000);
    }
    else if(sscanf(params,"u",id)) return SendClientMessage(playerid,-1,"Použití: /spec [id]");
    else
    {
    TogglePlayerSpectating(playerid,1);
    PlayerSpectatePlayer(playerid, id);
    }
    return 1;
    }
     
    CMD:specoff(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] <= 1)
    {
       InfoText(playerid,"LVRP","Tento prikaz nemuzes ~n~pouzivat!",5000);
    }
    else
    {
    TogglePlayerSpectating(playerid, 0);
    }
    return 1;
    }
    Když dá /specoff tak ho to nevrátí na místo kde byl.. Poradí mi někdo jak udělat aby ho vrátilo kde byl ? :)
  7. Ahoj, dělám RP, ale potřebuju poradit. Je: Jmeno_Prijmeni nešlo by udělat Jmeno Prijmeni ? že by prostě ve hře se smazalo "_

    Teď tam mám např:

     

    Scott_Stevens vyhodil hráče Scott_Stevens ze serveru [Důvod: Test]

     

    Ale aby to bylo takto:

     

    Scott Stevens vyhodil hráče Scott Stevens ze serveru [Důvod: Test]
  8. No tak jsem to předělal podle tvé pomoci:

    forward P_Propust(playerid);
    public P_Propust(playerid)
    {
        new string[100]; // stačí
        new Pname[MAX_PLAYER_NAME];
        if(prisonTime[playerid] != 0)
        {
         prisonTime[playerid]--;
        } else {
        if(PlayerInfo[playerid][pAjail] == 1) // pokud je v base a skončil mu čas
        {
         GetPlayerName(playerid, Pname, sizeof(Pname));
         format(string, sizeof(string), "/Hraci/%s.ini",Pname);
    PlayerInfo[playerid][pAjail] = 0;
    DOF2_SetString(string,"PJmeno","");
    DOF2_SetString(string,"PDuvod","");
    DOF2_SetString(string,"PHodnost","");
    DOF2_SetInt(string,"PrisonTime", 0);
    SetPlayerPos(playerid,1673.8040,1447.8599,10.7844);
           }
        }
    }

    OnPlayerSpawn:

     

    public OnPlayerSpawn(playerid)
    {
    StopAudioStreamForPlayer(playerid);
    if(PlayerInfo[playerid][pAjail] == 0)
    {
       new string[500];
    new Pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Pname, sizeof(Pname));
    format(string, sizeof(string), "/Hraci/%s.ini",Pname);
      SetPlayerPos(playerid,DOF2_GetInt(string,"PoziceX"),DOF2_GetInt(string,"PoziceY"),DOF2_GetInt(string,"PoziceZ"));
    } else {
    new str[300];
    new string[500];
    new Pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Pname, sizeof(Pname));
    format(string, sizeof(string), "/Hraci/%s.ini",Pname);
      SetPlayerPos(playerid, -1790.7722, 567.2419, 333.3382);
      new Cas,Hodnost[300],Jmeno[300],Duvod[300];
    Cas = DOF2_GetInt(string,"PrisonTime");
    Hodnost = DOF2_GetString(string,"PHodnost");
    Jmeno = DOF2_GetString(string,"PJmeno");
    Duvod = DOF2_GetString(string,"PDuvod");
    SetTimer("P_Propust", Cas, true);
      format(str,sizeof(str)," V prisonu ti zbývá %i minut, zatkl tě %s %s z důvodu %s.",Cas,Hodnost,Jmeno,Duvod);
      SendClientMessage(playerid,B_CERVENA,str);
    }
    return 1;
    }
    ale nastaví mu ten timer P_Propust ten Cas, na sekundy.. A já bych potřeboval na minuty, díky za každou pomoc.  :help:
  9. Ahoj, když dám /prison [id] [čas] [důvod] Vše jde, funguje ale když se odpojí uloží se a když se připojí je tam cca 3sekundy a propustí ho to..

     

    OnGameModeInit:

    SetTimer("P_Propust", 60000, true);

    Public P_Propust:

    public P_Propust()
    {
        new string[100]; // stačí
        new Pname[MAX_PLAYER_NAME];
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
           if(prisonTime[i] != 0)
           {
                prisonTime[i]--;
           } else {
                if(PlayerInfo[i][pAjail] == 1) // pokud je v base a skončil mu čas
                {
                    GetPlayerName(i, Pname, sizeof(Pname));
                    format(string, sizeof(string), "/Hraci/%s.ini",Pname);
    PlayerInfo[i][pAjail] = 0;
                    DOF2_SetString(string,"PJmeno","");
    DOF2_SetString(string,"PDuvod","");
    DOF2_SetString(string,"PHodnost","");
    DOF2_SetInt(string,"PrisonTime", 0);
    SetPlayerPos(i,1673.8040,1447.8599,10.7844);
                }
           }
        }
    }

    Když ho dám do vězení vše jde, když se odpojí a připojí pustí ho to cca za 3sekundy, má to být v minutách (Jinak mu to normálně načte ten čas že tam má být ještě tolik a tolik minut)

  10. Ahoj mám /prison [id] [cas] [duvod] ale jde to jen když je ve hře, ale potřebuju Offline Prison když se hráč odpojí třeba Uprostřed RP Akce, nebo poruší pravidlo tak ho musím potrestat i když je offline, jenže nevím jak na to. Mám DOF2.

    CMD:prison(playerid, params[])
    {
        new string[500];
        new Pname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Pname, sizeof(Pname));
        format(string, sizeof(string), "/Hraci/%s.ini",Pname);
        new ID,Cas,str[128];
        if(PlayerInfo[playerid][pAdmin] <= 1) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!");
        else if(sscanf(params,"uis",ID,Cas,params)) return SendClientMessage(playerid,-1,"/prison [ID] [CAS] [DUVOD]");
        else  if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,-1,"Tento hráč není na serveru.");
        else if(ajail[ID] == 1) return SendClientMessage(playerid,-1,"Tento hráč už je v prisonu.");
        else
        {
    new AdminText[100];
            if(PlayerInfo[playerid][pAdmin] == 2){ AdminText = "Moderátor"; }
    if(PlayerInfo[playerid][pAdmin] == 3){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 4){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 5){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 6){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 7){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 8){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 9){ AdminText = "Administrátor"; }
        
         format(str,sizeof(str),"%s %s udělil prison hráči %s na %i minut [Důvod: %s ]",AdminText,GetName(playerid),GetName(ID),Cas,params);
    SendClientMessageToAll(B_CERVENA,str);
    DOF2_SetString(string,"PJmeno",GetName(playerid));
    DOF2_SetString(string,"PDuvod",params);
    DOF2_SetString(string,"PHodnost",AdminText);
    ajail[ID] = 1;
    SetPlayerPos(ID, -1790.7722, 567.2419, 333.3382);
    prisonTime[ID] = Cas; // uložíme, jak dlouho má být hráč v base
         DOF2_SetInt(string, "PrisonTime", Cas);
    }
    return 1;
    }

    Pomůžete mi to předělat na offline ? Prostě na /prison [jméno] [cas][důvod] Díky moc za každou pomoc :)

  11. Já bych to udělal takto:

    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if(!strcmp(cmdtext, "/adm", true))
      {
          if(!IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "{92e9ff}Admin Příkazy","{FF0000}Nejsi Rcon Admin", "Zavrit", "");
          else
          {
              ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "{92e9ff}Admin Příkazy","{FF0000}Admin příkazy pouze pro rcon: {008000}/godmode", "Zavrit", "");
          }
    return 1;
       }
       return 0;
    }

    Já to mám bez erroru a funguje mi to :d  :)

  12. Ahoj, když dám do OnPlayerConnect:

    RemoveBuildingForPlayer(playerid, 8936, 2467.3906, 1283.2266, 14.3516, 6000.0);
    RemoveBuildingForPlayer(playerid, 8976, 2448.0000, 1291.7422, 16.5156, 6000.0);
    RemoveBuildingForPlayer(playerid, 8412, 2439.5625, 1302.6094, 14.4688, 6000.0);
    RemoveBuildingForPlayer(playerid, 9114, 2448.0000, 1291.7422, 16.5156, 6000.0);
    RemoveBuildingForPlayer(playerid, 9163, 2467.3906, 1283.2266,Ahoj, když dám do OnPlayerConnect:
     
     a ve hře je to vidět takto:

    sa-mp-063.png

     
    a v Map Editoru:

    
    [img=http://imageshack.cz/images/2015/05/27/11356172_472691259554346_1909036093_n.jpg][/spoiler] 14.3516, 6000.0);

     

     

  13. Ahoj, mám dotaz jak udělat aby to nedávalo bonusy a peníze viz. screen:

     

    sa-mp-057.png

     

     

    A dále, mám problém s psaním pro administrátoři.. Když mám u dotazu ukáže to adminům všem co jsou na serveru a v /admins.

     

     

    CMD:dotaz (playerid,params[])
    {
        if(sscanf(params,"s",params)) return SendClientMessage(playerid, -1,"Použití: /dotaz [text]");
        else if(UzMaDotaz[playerid] > 0) return SendClientMessage(playerid,-1,"Už máš dotaz, vyčkej až ti na něj Administrátor odpoví Nebo ho zruš a podej znova /zrusitdotaz.");
    else
    {
       UzMaDotaz[playerid] = 1;
    DeletePVar(playerid,GetName(playerid));
    SetPVarString(playerid,GetName(playerid),params);
    new str[256],str2[256];
    format(str,256,"Hráč %s [ID %i] se ptá [%s] Odpovedet můžete /odpoved",GetName(playerid),playerid,params);
    format(str2,256,"Zeptal Jste se Administrátorů na [%s], Administrátor nemusí odpovědět hned (Pro zrušení dotazu zadej /zrusitdotaz).",params);
    SendClientMessage(playerid,-1,str2);
    for(new i; i < MAX_PLAYERS; i++)
    {
       if(IsPlayerConnected(i))
       {
    if(PlayerInfo[i][pAdmin] == 0)
    {
    }else{
    SendClientMessage(i,-1,str);
    }
    }
    }
    }
        return 1;
    }

     

    To odešle normálně, ale když jsem si udělal Admin Warn tak to ukáže jen mě a nevím proč.

     

    CMD:freeze(playerid,params[])
    {
    new id,str[300];
    if(PlayerInfo[playerid][pAdmin] <= 1) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!");
    else if(sscanf(params,"u",id)) return SendClientMessage(playerid,-1,"Použití: /freeze [id]");
    else
    {
       new AdminText[100];
    if(PlayerInfo[playerid][pAdmin] == 2){ AdminText = "Moderátor"; }
    if(PlayerInfo[playerid][pAdmin] == 3){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 4){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 5){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 6){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 7){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 8){ AdminText = "Administrátor"; }
    if(PlayerInfo[playerid][pAdmin] == 9){ AdminText = "Administrátor"; }
     
    TogglePlayerControllable(id,0);
    format(str,sizeof(str)," > %s %s tě freeznul.",AdminText,GetName(playerid));
    SendClientMessage(id,B_WARN,str);
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
       if(PlayerInfo[i][pAdmin] == 0 || PlayerInfo[i][pAdmin] == 1)
       {
           }else{
           new warn[300];
    format(warn,sizeof(warn),"Admin Warn: %s %s freeznul hráče %s.",AdminText,GetName(playerid),GetName(id));
    SendClientMessage(i,COL_WARN,warn);
    return 1;
       }
    }
    }
    }
    return 1;
    }

    A ten admin Warn neukáže..

     
    A poslední help:
    Jak smažu všechny základní Checkpointy ?

    sa-mp-056.png

  14. Ahoj mám tu příkaz pro admin: /aprace, ale chci aby to mohl hráč kterej má Admin level větší jak 0 takže od 1lvl... Jsem Admin Level 5 (Hlavní Administrátor) a nejde to :d

    Příkaz:

    CMD:aprace(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] >= 1) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!");
    else
    {
    ShowPlayerDialog(playerid, D_A_DELA,DIALOG_STYLE_LIST,"Vyber co právě děláš","Odpovídám na dotazy\nŘeším Reporty\nPřipravuju Akci","Ok","");
    }
    return 1;
    }
    screeny:
    sa-mp-024.png
    sa-mp-025.png
     
    //Edit natabované to mám nevím proč v code to tak není -_-
×
×
  • Create New...