Warn minirendszer Üdv all!
Mostanában \"rákaptam\" arra, hogy \"megscripteljek\" olyan dolgokat mint ami ezen a fórumon található. Már 1 munkám megtalálható a fórumon, és ez lesz a második.
Ez egy játékos figyelmeztetõ script, ahol %-ban figyelmeztetheti az admin a játékost, indokkal írva és ha kigyûlt a 100% warn, akkor a rendszer kidobja a játékost a szerverrõl.
A scriptnek 3 parancsa van: - /warn - Játékos figyelmeztetése
- /unwarn - Játékos figyelmeztetéseinek törlése
- /warns - Dialogba kilistázza az összes játékost akin figyelmeztetés van
Információk:
Script készítõ: Flash(én)
Sorok száma: 69 :3
Elkészítési idõ: ~5 perc
Maga a script:
#include a_samp
#include sscanf2
#include zcmd
#define DIALOG_WARNS 123
new
id,
str[128]
;
public OnPlayerConnect(playerid) {
SetPVarInt(playerid, \"Warn\", 0);
return 1;
}
CMD:warn(playerid, params[]) {
if(!GetPVarInt(playerid, \"Admin\")) return 0;
new szazalek;
if(sscanf(params, \"us[64]i\", id, params, szazalek)) return SendClientMessage(playerid, -1, \"Használat: /warn [playerid/név] [indok] [százalék(15,25,50)]\");
if(!(1 < strlen(params) < 65)) return SendClientMessage(playerid, -1, \"Hiba. Az indoknak min. 2, max. 64 karakternek kell lennie!\");
if(szazalek != 15 || szazalek != 25 || szazalek != 50) return SendClientMessage(playerid, -1, \"Figyelmeztetése szintek: 15, 25 vagy 50\");
SetPVarInt(id, \"Warn\", GetPVarInt(id, \"Warn\")+szazalek);
if(GetPVarInt(id, \"Warn\") >= 100) {
format(str, sizeof(str), \"%s-nak/nek kigyûlt a 100 százalék figyelmeztetése, ezért kickelve lett a szerverrõl!\", Name(id));
SendClientMessageToAll(-1, str);
Kick(id);
return 1;
}else{
format(str, sizeof(str), \"Admin %s %i százalék figyelmeztetésben részesítette %s-t! Indok: %s\", Name(playerid), szazalek, Name(id), params);
SendClientMessageToAll(-1, str);
}
return 1;
}
CMD:unwarn(playerid, params[]) {
if(!GetPVarInt(playerid, \"Admin\")) return 0;
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid, -1, \"Használat: /warn [playerid/név]\");
if(GetPVarInt(id, \"Warn\") > 0) return SendClientMessage(playerid, -1, \"Hiba. Ennek a játékosnak nincs figyelmeztetése\");
SetPVarInt(id, \"Warn\", 0);
format(str, sizeof(str), \"Admin, %s levette a figyelmeztetést %s alól!\", Name(playerid), Name(id));
SendClientMessageToAll(-1, str);
return 1;
}
CMD:warns(playerid) {
new count, string[512];
for(new i; i < MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i)) continue;
if(GetPVarInt(i, \"Warn\") > 0) {
format(str, sizeof(str), \"%i. %s - %i százalék\\n\", count, Name(i), GetPVarInt(i, \"Warn\"));
strcat(string, str);
count ++;
}
}
ShowPlayerDialog(playerid, DIALOG_WARNS, DIALOG_STYLE_MSGBOX, \"Figyelmeztetések:\", string, \"Oké\", \"\");
return 1;
}
Name(playerid) {
new n[24];
GetPlayerName(playerid, n, 24);
return n;
}
Használjátok egészséggel!