Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Témák - [Nickki]

Oldalak: [1]
1
SA-MP: Szerverfejlesztés / TD-s AFK script
« Dátum: 2014. december 30. - 13:17:59 »
Sziasztok!
Debütálásképpen készítettem egy textdraw-s AFK scriptet.
Készítő: én, [Nickki]
Készítés dátuma: 2014.12.29
Elkészítési idő: kb. 1óra (TD-kkal együtt)
Sorok száma: 248 (ezesetben a 18. sortól számítva)
Tesztelve: igen (0.3e-n)
Desc.: Textdraw-os AFK rendszer, időzített és figyelmeztető üzenettel ki/belépéskor. A játékosok státusza (AFK vagy nem) a Scoreboard-on ellenőrizhető, a nevek kattintásával. Az AFK bekapcsolásakor egy textdraw jelenik meg, ami az AFK kikapcsolásáig a képernyőn van. Kikapcsolás után is megjelenik egy td, viszont 4 sec után eltűnik.
A letölthető csomag tartalmazza a .pwn és a .amx fájlokat. Mellékeltem zcmd és fixchars include-ot, hátha valakinek hiányzik valamelyik.  :)



Kép 1
Kép 2
 


#include <a_samp>
#include <zcmd>
#include <fixchars>
#define MSGcolor 0x03EF9CFF
#define Voros 0xFF0606FF
#define Zold 0x00FF40FF
#define TDHFP TextDrawHideForPlayer
new Text:Textdraw0;
new Text:Textdraw1;
new Text:Textdraw2;
new Text:Textdraw3;
new Text:Textdraw4;
new Text:Textdraw5;
new Text:Textdraw6;
new Text:Textdraw7;
new Text:Textdraw8;
new Text:Textdraw9;
new Text:Textdraw10;
new Text:Textdraw11;
new TDhide[MAX_PLAYERS];
new AFK[MAX_PLAYERS];
forward OnTDHide(playerid);
forward InfoMSG();
public OnTDHide(playerid)
{
TDHFP(playerid, Textdraw6), TDHFP(playerid, Textdraw7), TDHFP(playerid, Textdraw8), TDHFP(playerid, Textdraw9), TDHFP(playerid, Textdraw10), TDHFP(playerid, Textdraw11), KillTimer(TDhide[playerid]);
return 1;
}
new ScriptInfo[][] =
{
\"*** Elmennél a géptől? Akkor használd az /afkon parancsot, és biztonságban hagyd itt a játékot!\",
\"*** AFK parancsok: /afkon és /afkoff\",
\"*** A játékosok státuszát a Scoreboard-on [Tab] felsorolt nevek kattintásával ellenőrizheted!\"
};
public InfoMSG()
{
new SIMSG = random(sizeof(ScriptInfo));
SendClientMessageToAll(MSGcolor, ScriptInfo[sIMSG]);
}
public OnFilterScriptInit()
{
print(\"AFK szkript\\nKészítette: [Nickki]\");
SetTimer(\"InfoMSG\", 600000, true);
Textdraw0 = TextDrawCreate(-20.000000, 200.000000, \"~n~~n~~n~~n~\");
TextDrawBackgroundColor(Textdraw0, 255);
TextDrawFont(Textdraw0, 1);
TextDrawLetterSize(Textdraw0, 0.910000, 1.500000);
TextDrawColor(Textdraw0, 102);
TextDrawSetOutline(Textdraw0, 0);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetShadow(Textdraw0, 1);
TextDrawUseBox(Textdraw0, 1);
TextDrawBoxColor(Textdraw0, 119);
TextDrawTextSize(Textdraw0, 862.000000, 0.000000);
TextDrawSetSelectable(Textdraw0, 0);
Textdraw1 = TextDrawCreate(-21.000000, 192.000000, \"--------------------------------------------------------------------------------------------------------------------------------\");
TextDrawBackgroundColor(Textdraw1, -1);
TextDrawFont(Textdraw1, 1);
TextDrawLetterSize(Textdraw1, 0.500000, 1.000000);
TextDrawColor(Textdraw1, 255);
TextDrawSetOutline(Textdraw1, 0);
TextDrawSetProportional(Textdraw1, 1);
TextDrawSetShadow(Textdraw1, 0);
TextDrawSetSelectable(Textdraw1, 0);
Textdraw2 = TextDrawCreate(-7.000000, 250.000000, \"--------------------------------------------------------------------------------------------------------------------------------\");
TextDrawBackgroundColor(Textdraw2, -1);
TextDrawFont(Textdraw2, 1);
TextDrawLetterSize(Textdraw2, 0.500000, 1.000000);
TextDrawColor(Textdraw2, 255);
TextDrawSetOutline(Textdraw2, 0);
TextDrawSetProportional(Textdraw2, 1);
TextDrawSetShadow(Textdraw2, 0);
TextDrawSetSelectable(Textdraw2, 0);
Textdraw3 = TextDrawCreate(246.000000, 201.000000, \"AFK-ban vagy!\");
TextDrawBackgroundColor(Textdraw3, -1);
TextDrawFont(Textdraw3, 0);
TextDrawLetterSize(Textdraw3, 0.759999, 2.399999);
TextDrawColor(Textdraw3, 255);
TextDrawSetOutline(Textdraw3, 1);
TextDrawSetProportional(Textdraw3, 1);
TextDrawSetSelectable(Textdraw3, 0);
Textdraw4 = TextDrawCreate(166.000000, 233.000000, \"Ha ki szeretnél lépni belőle, használd az /afkoff parancsot!\");
TextDrawBackgroundColor(Textdraw4, 255);
TextDrawFont(Textdraw4, 2);
TextDrawLetterSize(Textdraw4, 0.230000, 0.899999);
TextDrawColor(Textdraw4, -1);
TextDrawSetOutline(Textdraw4, 0);
TextDrawSetProportional(Textdraw4, 1);
TextDrawSetShadow(Textdraw4, 1);
TextDrawSetSelectable(Textdraw4, 0);
Textdraw5 = TextDrawCreate(261.000000, 224.000000, \"-\");
TextDrawBackgroundColor(Textdraw5, 255);
TextDrawFont(Textdraw5, 0);
TextDrawLetterSize(Textdraw5, 9.620000, 0.799999);
TextDrawColor(Textdraw5, -1);
TextDrawSetOutline(Textdraw5, 0);
TextDrawSetProportional(Textdraw5, 1);
TextDrawSetShadow(Textdraw5, 1);
TextDrawSetSelectable(Textdraw5, 0);
Textdraw6 = TextDrawCreate(-60.000000, 200.000000, \"~n~~n~~n~~n~\");
TextDrawBackgroundColor(Textdraw6, 255);
TextDrawFont(Textdraw6, 1);
TextDrawLetterSize(Textdraw6, 0.500000, 1.000000);
TextDrawColor(Textdraw6, -1);
TextDrawSetOutline(Textdraw6, 0);
TextDrawSetProportional(Textdraw6, 1);
TextDrawSetShadow(Textdraw6, 1);
TextDrawUseBox(Textdraw6, 1);
TextDrawBoxColor(Textdraw6, 119);
TextDrawTextSize(Textdraw6, 900.000000, 0.000000);
TextDrawSetSelectable(Textdraw6, 0);
Textdraw7 = TextDrawCreate(-35.000000, 192.000000, \"--------------------------------------------------------------------------------------------------------------------------------\");
TextDrawBackgroundColor(Textdraw7, 255);
TextDrawFont(Textdraw7, 1);
TextDrawLetterSize(Textdraw7, 0.500000, 1.000000);
TextDrawColor(Textdraw7, 255);
TextDrawSetOutline(Textdraw7, 0);
TextDrawSetProportional(Textdraw7, 1);
TextDrawSetShadow(Textdraw7, 1);
TextDrawSetSelectable(Textdraw7, 0);
Textdraw8 = TextDrawCreate(-239.000000, 231.000000, \"--------------------------------------------------------------------------------------------------------------------------------\");
TextDrawBackgroundColor(Textdraw8, 255);
TextDrawFont(Textdraw8, 1);
TextDrawLetterSize(Textdraw8, 0.500000, 1.000000);
TextDrawColor(Textdraw8, 255);
TextDrawSetOutline(Textdraw8, 0);
TextDrawSetProportional(Textdraw8, 1);
TextDrawSetShadow(Textdraw8, 1);
TextDrawSetSelectable(Textdraw8, 0);
Textdraw9 = TextDrawCreate(234.000000, 200.000000, \"Visszajöttél AFK-ból!\");
TextDrawBackgroundColor(Textdraw9, -1);
TextDrawFont(Textdraw9, 0);
TextDrawLetterSize(Textdraw9, 0.629999, 1.800000);
TextDrawColor(Textdraw9, 255);
TextDrawSetOutline(Textdraw9, 1);
TextDrawSetProportional(Textdraw9, 1);
TextDrawSetSelectable(Textdraw9, 0);
Textdraw10 = TextDrawCreate(265.000000, 218.000000, \"-\");
TextDrawBackgroundColor(Textdraw10, 255);
TextDrawFont(Textdraw10, 0);
TextDrawLetterSize(Textdraw10, 8.929998, 0.799999);
TextDrawColor(Textdraw10, -1);
TextDrawSetOutline(Textdraw10, 0);
TextDrawSetProportional(Textdraw10, 1);
TextDrawSetShadow(Textdraw10, 1);
TextDrawSetSelectable(Textdraw10, 0);
Textdraw11 = TextDrawCreate(259.000000, 225.000000, \"További jó játékot!\");
TextDrawBackgroundColor(Textdraw11, 255);
TextDrawFont(Textdraw11, 2);
TextDrawLetterSize(Textdraw11, 0.270000, 0.899999);
TextDrawColor(Textdraw11, -1);
TextDrawSetOutline(Textdraw11, 0);
TextDrawSetProportional(Textdraw11, 1);
TextDrawSetShadow(Textdraw11, 1);
TextDrawSetSelectable(Textdraw11, 0);
return 1;
}
public OnPlayerSpawn(playerid)
{
AFK[playerid] = 0;
return 1;
}
public OnPlayerConnect(playerid)
{
AFK[playerid] = 0;
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
new string[64];
new inAFK = GetPlayerName(clickedplayerid, string, sizeof(string));
if(AFK[clickedplayerid] == 1) return format(string, sizeof(string), \"%s - AFK, nem elérhető!\", inAFK), SendClientMessage(playerid, Voros, string);
if(AFK[clickedplayerid] == 0) return format(string, sizeof(string), \"%s - nem AFK, elérhető!\", inAFK), SendClientMessage(playerid, Zold, string);
return 1;
}
CMD:afk(playerid, params[])
{
SendClientMessage(playerid, Voros, \"AFK:\");
SendClientMessage(playerid, Voros, \"Használd az /afkon és az afkoff parancsokat!\");
return 1;
}
CMD:afkon(playerid, params[])
{
if(AFK[playerid] == 1) return SendClientMessage(playerid, Voros, \"*** Már AFK-ban vagy! Használd az /afkoff parancsot, ha kilépnél belőle!\"), PlayerPlaySound(playerid, 1053, 0.0, 0.0, 10.0);
AFK[playerid] = 1;
new string[128];
new nev = GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string), \"Infó: %s AFK-ba lépett, nem elérhető!\", nev);
SendClientMessageToAll(Voros, string);
TogglePlayerControllable(playerid, false);
PlayerPlaySound(playerid, 1058, 0.0, 0.0, 10.0);
TextDrawShowForPlayer(playerid, Textdraw0);
TextDrawShowForPlayer(playerid, Textdraw1);
TextDrawShowForPlayer(playerid, Textdraw2);
TextDrawShowForPlayer(playerid, Textdraw3);
TextDrawShowForPlayer(playerid, Textdraw4);
TextDrawShowForPlayer(playerid, Textdraw5);
return 1;
}
CMD:afkoff(playerid, params[])
{
if(AFK[playerid] == 0) return SendClientMessage(playerid, Voros, \"*** Nem vagy AFK-ban! Használd az /afkon parancsot, ha belépnél!\"), PlayerPlaySound(playerid, 1053, 0.0, 0.0, 10.0);
AFK[playerid] = 0;
TextDrawHideForPlayer(playerid, Textdraw0);
TextDrawHideForPlayer(playerid, Textdraw1);
TextDrawHideForPlayer(playerid, Textdraw2);
TextDrawHideForPlayer(playerid, Textdraw3);
TextDrawHideForPlayer(playerid, Textdraw4);
TextDrawHideForPlayer(playerid, Textdraw5);
TextDrawShowForPlayer(playerid, Textdraw6);
TextDrawShowForPlayer(playerid, Textdraw7);
TextDrawShowForPlayer(playerid, Textdraw8);
TextDrawShowForPlayer(playerid, Textdraw9);
TextDrawShowForPlayer(playerid, Textdraw10);
TextDrawShowForPlayer(playerid, Textdraw11);
new string[128];
new nev = GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string), \"Infó: %s kilépett az AFK-ból, újra elérhető!\", nev);
SendClientMessageToAll(Zold, string);
TogglePlayerControllable(playerid, true);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
TDhide[playerid] = SetTimerEx(\"OnTDHide\", 4000, 1, \"i\", playerid);
return 1;
}

 
A parancsok használatának megtagadásához szükséges sor:
 
if(AFK[playerid] == 1) return SendClientMessage(playerid, Voros, \"*** AFK-ban nem használhatsz parancsokat! Használd az /afkoff parancsot, ha kilépnél belőle!\", PlayerPlaySound(playerid, 1053, 0.0, 0.0, 10.0);

 
Letöltés itt.
Használjátok egészséggel!  :)

Oldalak: [1]
SimplePortal 2.3.7 © 2008-2024, SimplePortal