Szerző Téma: Börtön System  (Megtekintve 1873 alkalommal)

Nem elérhető sza23

  • 346
    • Profil megtekintése
Börtön System
« Dátum: 2012. április 26. - 19:43:58 »
0 Show voters
Üdv!
Egy börtön System kellene a playert tellézze ide: 780.4083,1681.8748,5.2813
Még azt kellene megcsinálni hogy a palyer ne tudjon mozogni és ne tudjon parancsokat irni sem
a parancsa: /lecsuk <ID> <IDÕ> <INDOK>
ha player akarná használni a parancsot:Nincs jogod a parancs használatához Szin: 0xFB0000FF
és akkor a nevet igy killene kiirja SendClienMessageToAll ba:%s Lecsukta %s idõ Indok
és aki lelett csukva annak ezt:Le Lettél Csukva!! csak admin kellene tudja használni a parancsot (LuxAdminom van)
És mikor a parancsot akarná használni:pl.: /lvair // Börtönben Nem Használhatsz Parancsokat Szin: 0xFB0000FF
Ennyi lenne remélem nem nagy gond  :D
ELÕRE IS KÖSZÖNÖM   :) :)   
« Utoljára szerkesztve: 2012. április 26. - 19:46:14 írta sza23 »

Börtön System
« Válasz #1 Dátum: 2012. április 26. - 21:50:21 »
+1 Show voters
Az alapjait megcsináltam:
 
#include <a_samp>
#include <zcmd>
#include <sscanf2>
new BlockCMD[MAX_PLAYERS];
public OnPlayerText(playerid, text[])
{
if(BlockCMD[playerid] == 1) return SendClientMessage(playerid, COLOR_ERROR, \"Hiba: Nem használhatsz parancsot!\");
return 1;
}
CMD:lecsuk(playerid, params[])
{
    if(GetPlayerAdminLevel(playerid) <= 2) return SendClientMessage(playerid, COLOR_ERROR, \"Nem használhatod ezt a parancsot!\");
    {
new player, ido, indok;
if(sscanf(params, \"uis[128]\", player, ido, indok)) return SendClientMessage(playerid, COLOR_ERROR, \"Használat: /lecsuk [Név/ID] [idõ] [indok]\");
else if(!IsPlayerConnected(gotoplayer)) return SendClientMessage(playerid, COLOR_ERROR, \"A játékos nincs csatlakozva!\");
{
   BlockCMD[player] = 1;
   SetPlayerPos(player, 780.4083, 1681.8748, 5.2813);
}
}
return true;
}

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Börtön System
« Válasz #2 Dátum: 2012. április 26. - 22:08:45 »
0 Show voters
Az egy picit hibás úgy.
 
#include <a_samp>
#include <zcmd>
#include <sscanf2>
public OnPlayerConnect(playerid)
{
     SetPVarInt(playerid, \" Bortonben \", 0);
     return 1;
}
public OnPlayerText(playerid, text[])
{
      if(GetPVarInt(playerid,\"Bortonben\") == 1) return SendClientMessage(playerid, 0xFB0000FF, \"Börtönben vagy, nem tudsz írni chatbe!\"); // Elvileg így nem engedi írni a chatbe
      return 0;
}
 
CMD:lecsuk(playerid, params[])
{
      if(IsPlayerAdmin(playerid)) // Csak RCON admin tudja használni, ezt kedvedre átírhatod
      {
   
            new PID, ido, indok[128], string[128], lecsukoname[MAX_PLAYER_NAME], lecsukottname[MAX_PLAYER_NAME];
            if(sscanf(params, \"uis[128]\", PID, ido, indok)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /lecsuk <ID / Játékos név> <Perc> <Indok>\");
            if(PID == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz ID / Név\");
           
            SetPVarInt(playerid, \" Bortonben \", 1);
            SetPlayerPos(playerid, 780.4083,1681.8748,5.2813 );
            ido *= 60000;
            SetTimerEx( \" Jail \", ido, false, \" i \", PID);
            GetPlayerName(playerid, lecsukoname, MAX_PLAYER_NAME);
            GetPlayerName(PID, lecsukottname, MAX_PLAYER_NAME);
            format(string, sizeof(string), \"*** Admin %s Lecsukta %s-t! Perc: %d | Indok: %s\", lecsukoname, lecsukottname, ido, indok);
            SendClientMessageToAll(0xFF0000AA, string);
            SendClientMessage(playerid, 0xFF0000AA, \"Lelettél csukva!\");
      }
      else SendClientMessage(playerid, 0xFF000AA, \"Nem vagy Rcon admin!\");
      return 1;
}
 
forward Jail(playerid);
public Jail(playerid)
{
       SetPVarInt(playerid, \"Bortonben\", 0);
       SpawnPlayer(playerid);
       return 1;
}
« Utoljára szerkesztve: 2012. április 26. - 22:15:54 írta Gabor.. »

Nem elérhető sza23

  • 346
    • Profil megtekintése
Börtön System
« Válasz #3 Dátum: 2012. április 27. - 12:12:18 »
0 Show voters
Pedig jó lenne de ezt irja
 

C:\\DOCUME~1\\filo\\Asztal\\RPGSZE~1\\FILTER~1\\car.pwn(3) : fatal error 100: cannot read from file: \"sscanf\"
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Error.

 
Van sscanf om és akkor miért irja ki?
« Utoljára szerkesztve: 2012. április 28. - 09:42:36 írta Benceee »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Börtön System
« Válasz #4 Dátum: 2012. április 27. - 12:20:25 »
0 Show voters
Ezt tölsd le: http://www.solidfiles.com/d/44bba/
Majd szerver mappa ---> pawno ----> include mappa --->> Majd tedd bele amit letöltöttél!
Majd a server.cfg -be írd be plugins sscanf

Nem elérhető sza23

  • 346
    • Profil megtekintése
Börtön System
« Válasz #5 Dátum: 2012. április 27. - 12:58:30 »
0 Show voters
Ez mellé kellene egy cella.amx csak valaki complinezze le ha hibás javitsa ki majd töltse fel. köszönöm
http://www.solidfiles.com/d/c516ae8b77/
« Utoljára szerkesztve: 2012. április 27. - 13:12:39 írta sza23 »

Nem elérhető zeteni

  • 1970
  • Ex-Scripter
    • Profil megtekintése
Börtön System
« Válasz #6 Dátum: 2012. április 27. - 14:19:33 »
0 Show voters
Az nem kell hozzá, hogyha kilép akkor mentse le a maradék idõt és amikor visszalép a maradék idõvel induljon? :D (Nekem is ez kéne xD)

Nem elérhető sza23

  • 346
    • Profil megtekintése
Börtön System
« Válasz #7 Dátum: 2012. április 28. - 09:21:55 »
0 Show voters
ezel csak egy baj van
 minden parancsot blockol
 akárhol vagy

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Börtön System
« Válasz #8 Dátum: 2012. április 28. - 09:40:41 »
0 Show voters
Akkor van egy másik megoldás:
 
#include <a_samp>
#include <zcmd>
#include <sscanf2>
public OnPlayerConnect(playerid)
{
     SetPVarInt(playerid, \" Bortonben \", 0);
     return 1;
}
 
CMD:lecsuk(playerid, params[])
{
      if(IsPlayerAdmin(playerid)) // Csak RCON admin tudja használni, ezt kedvedre átírhatod
      {
   
            new PID, ido, indok[128], string[128], lecsukoname[MAX_PLAYER_NAME], lecsukottname[MAX_PLAYER_NAME];
            if(sscanf(params, \"uis[128]\", PID, ido, indok)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /lecsuk <ID / Játékos név> <Perc> <Indok>\");
            if(PID == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz ID / Név\");
           
            SetPVarInt(playerid, \" Bortonben \", 1);
            SetPlayerPos(playerid, 780.4083,1681.8748,5.2813 );
            ido *= 60000;
            SetTimerEx( \" Jail \", ido, false, \" i \", PID);
            GetPlayerName(playerid, lecsukoname, MAX_PLAYER_NAME);
            GetPlayerName(PID, lecsukottname, MAX_PLAYER_NAME);
            format(string, sizeof(string), \"*** Admin %s Lecsukta %s-t! Perc: %d | Indok: %s\", lecsukoname, lecsukottname, ido, indok);
            SendClientMessageToAll(0xFF0000AA, string);
            SendClientMessage(playerid, 0xFF0000AA, \"Lelettél csukva!\");
      }
      else SendClientMessage(playerid, 0xFF000AA, \"Nem vagy Rcon admin!\");
      return 1;
}
 
forward Jail(playerid);
public Jail(playerid)
{
       SetPVarInt(playerid, \"Bortonben\", 0);
       SpawnPlayer(playerid);
       return 1;
}

 
Így lekérdezed minden paracsod ellõt, hogy börtönben van-e a játékos:
 
CMD:pistike(playerid, params[])
{
     if(GetPVarInt(playerid, \" Bortonben \") == 0)
     {
           // Ide rakd a parancsaid többi részét, tehát ha nincs börtönben, akkor mit csináljon
     }
     else SendClientMessage(playerid, 0xFF0000AA, \"HIBA: Börtönben vagy, nem használhatsz parancsokat!
     return 1;
}
« Utoljára szerkesztve: 2012. április 28. - 09:52:06 írta Gabor.. »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Börtön System
« Válasz #9 Dátum: 2012. április 28. - 09:52:17 »
0 Show voters
Hát én még ilyen rendszert sose csináltam, de a fejembe benne volt, így megvalósítottam!
 
#include <a_samp>
#include <zcmd>
#include <sscanf2>
new timer;
public OnPlayerConnect(playerid) return SetPVarInt(playerid, \"Jail\", 0);
public OnPlayerText(playerid, text[])
{
if(GetPVarInt(playerid,\"Jail\") == 1) {
SendClientMessage(playerid, 0xE60000FF, \"Hiba! Börtönben vagy, nem tudsz írni chatbe!\");
return 0;
}
return 1;
}
CMD:lecsuk(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFB0000FF, \"Hiba! Nincs jogod a parancs használatához!\");// Ez most rcon al tud jail-ozni de majd írd át luxadminosra!
new id, ido, aname[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], str[256];
if(sscanf(params, \"uis[256]\", id, ido, params)) return SendClientMessage(playerid, 0x33AA33FF, \"Használata: /lecsuk [Player ID / Player név] [Perc] [indok]\");
if(ido < 1 || ido > 30) return SendClientMessage(playerid, 0xE60000FF, \"Hiba! A játékost csak 1-30 perc között lehet lecsukni!\");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xE60000FF, \"Hiba! A játékos nincs csatlakozva!\");
SetPlayerPos(id, 780.4083,1681.8748,5.2813);
timer = SetTimerEx(\"JailOff\", ido * 1000, false, \"d\", id);
SetPVarInt(id, \"Jail\", 1);
GetPlayerName(playerid, aname, sizeof(aname));
GetPlayerName(id, name, sizeof(name));
format(str, 256, \"Te: %s bebörtönözted %s-t %d percre!\", aname, name, ido);
SendClientMessage(playerid, 0x33AA33FF, str);
format(str, 256, \"Te: %s be lettél börtönözve %d percre! Indok: %s\", name, ido, params[2]);
SendClientMessage(id, 0xE60000FF, str);
return 1;
}
public
OnPlayerCommandPerformed ( playerid, cmdtext[], success) {
if(GetPVarInt(playerid,\"Jail\") == 1) return SendClientMessage(playerid, 0xE60000FF, \"Hiba! Börtönben nem használhatsz parancsokat!\");
return 1;
}
forward JailOff(playerid);
public
JailOff(playerid) {
SetPVarInt(playerid, \"Jail\", 0);
SpawnPlayer(playerid);
KillTimer(timer);
return 1;
}

 


Ja és ez:
 
    #include <a_samp>
    #include <zcmd>
    #include <sscanf2>
     
    public OnPlayerConnect(playerid)
    {
         SetPVarInt(playerid, \" Bortonben \", 0);
         return 1;
    }
     
    public OnPlayerText(playerid, text[])
    {
          if(GetPVarInt(playerid,\"Bortonben\") == 1) return SendClientMessage(playerid, 0xFB0000FF, \"Börtönben vagy, nem tudsz írni chatbe!\"); // Elvileg így nem engedi írni a chatbe
          return 0;
    }
     
     
    CMD:lecsuk(playerid, params[])
    {
          if(IsPlayerAdmin(playerid)) // Csak RCON admin tudja használni, ezt kedvedre átírhatod
          {
       
                new PID, ido, indok[128], string[128], lecsukoname[MAX_PLAYER_NAME], lecsukottname[MAX_PLAYER_NAME];
     
                if(sscanf(params, \"uis[128]\", PID, ido, indok)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /lecsuk <ID / Játékos név> <Perc> <Indok>\");
     
                if(PID == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz ID / Név\");
               
                SetPVarInt(playerid, \" Bortonben \", 1);
                SetPlayerPos(playerid, 780.4083,1681.8748,5.2813 );
     
                ido *= 60000;
                SetTimerEx( \" Jail \", ido, false, \" i \", PID);
     
                GetPlayerName(playerid, lecsukoname, MAX_PLAYER_NAME);
                GetPlayerName(PID, lecsukottname, MAX_PLAYER_NAME);
     
                format(string, sizeof(string), \"*** Admin %s Lecsukta %s-t! Perc: %d | Indok: %s\", lecsukoname, lecsukottname, ido, indok);
                SendClientMessageToAll(0xFF0000AA, string);
     
                SendClientMessage(playerid, 0xFF0000AA, \"Lelettél csukva!\");
          }
          else SendClientMessage(playerid, 0xFF000AA, \"Nem vagy Rcon admin!\");
          return 1;
    }
     
     
    forward Jail(playerid);
    public Jail(playerid)
    {
           SetPVarInt(playerid, \"Bortonben\", 0);
     
           SpawnPlayer(playerid);
           return 1;
    }

 
Teli van buggal!
E: gabor.. tied is elég hiányos, mert a timer meg se áll. :S
« Utoljára szerkesztve: 2012. április 28. - 09:53:55 írta Flash »

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Börtön System
« Válasz #10 Dátum: 2012. április 28. - 10:05:13 »
0 Show voters
De megáll, mert a repeat-nek \'false\' értéke van, így csak egyszer fut le. Ha \'true\' értéke van, akkor többször fut le, magyarán ameddig megnem állítod.
« Utoljára szerkesztve: 2012. április 28. - 10:10:46 írta Gabor.. »

Nem elérhető sza23

  • 346
    • Profil megtekintése
Börtön System
« Válasz #11 Dátum: 2012. április 28. - 10:11:16 »
0 Show voters
Ja ésmég aza baj h irom /lecsuk 1 1 Cheat
akkor *Név* Lecsukta *Név* et Perc:60000 Indok:Cheat
igy kellene legyen nem?
*Név* Lecsukta *Név* et Perc:1 Indok:Cheat

Dupla hozzászólás automatikusan összefûzve. ( 2012. április 28. - 10:17:11 )

ö
de asszem ez ugyvan hogy pl: sziasztok
és nekem ugy kellet volna hogy parancsot netudjon irni  :)
« Utoljára szerkesztve: 2012. április 28. - 10:17:11 írta sza23 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal