-
Ü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 :) :)
-
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;
}
-
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;
}
-
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?
-
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
-
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/
-
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)
-
ezel csak egy baj van
minden parancsot blockol
akárhol vagy
-
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;
}
-
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
-
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.
-
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 :)