Hali all. Jókedvemben összedobtam egy stopper scriptet a pawn tanulóknak.
Ebben a scriptben saját magad állíthatod be hogy meddig mérjen a stopper perc, másodperc pontosan.
A stoppert csakis RCON admin állíthatja le a /sstopper parancsal.
A textdraw a térkép felett található meg.Információk a scriptrõl: - Készítõ: Flash(Én)
- A scriptet tartalmazó parancsok: /stopper, /sstopper
- Sorok száma: 82
- A scripthez szükséges: gvar, sscanf, zcmd, és alapvetõen a_samp
- A scriptet 10 percembe tartott megalkotni, teszteléssel együtt.
A script:
#include <a_samp>
#include <gvar>
#include <sscanf2>
#include <zcmd>
new
Text: StopperTD,
m,
s,
sTimer,
sString[16]
;
public OnFilterScriptInit() {
StopperTD = TextDrawCreate(88.000000, 314.000000, \"~b~~h~Betoltes~w~..\");
TextDrawAlignment(StopperTD, 2);
TextDrawBackgroundColor(StopperTD, 255);
TextDrawFont(StopperTD, 3);
TextDrawLetterSize(StopperTD, 0.529999, 1.100000);
TextDrawColor(StopperTD, -1);
TextDrawSetOutline(StopperTD, 1);
TextDrawSetProportional(StopperTD, 1);
SetGVarInt(\"Perc\", 0);
SetGVarInt(\"mPerc\", 0);
return 1;
}
public OnPlayerDisconnect(playerid, reason) {
TextDrawHideForPlayer(playerid, StopperTD);
return 1;
}
CMD:stopper(playerid, params[]) {
if(GetGVarInt(\"mPerc\") != 0 || GetGVarInt(\"Perc\") != 0) return SendClientMessage(playerid, 0xE60000FF, \"Hiba! A stopper már mûködésben van!\");
if(sscanf(params, \"ii\", m, s)) return SendClientMessage(playerid, 0xffff99AA, \"Használat: {ffffff}/stopper [Perc] [Másodperc]\");
if(!(0 < m < 11)) return SendClientMessage(playerid, 0xE60000FF, \"Hiba! A perc 1 és 10 szám között lehet!\");
if(!(-1 < s < 60)) return SendClientMessage(playerid, 0xE60000FF, \"Hiba! A másodperc 0 és 59 szám között lehet!\");
TextDrawShowForAll(StopperTD);
SetGVarInt(\"Perc\", 0);
SetGVarInt(\"mPerc\", 0);
sTimer = SetTimer(\"Stopperr\", 1000, true);
new str[128], n[64];
str[0] = EOS;
GetPlayerName(playerid, n, 64);
format(str, sizeof(str), \"%s elindított egy idõzítõt! (%02d:%02d)\", n, m, s);
SendClientMessageToAll(0xffff99AA, str);
return 1;
}
CMD:sstopper(playerid) {
if(!IsPlayerAdmin(playerid)) return 0;
if(GetGVarInt(\"mPerc\") == 0 && GetGVarInt(\"Perc\") == 0) return SendClientMessage(playerid, 0xE60000FF, \"Hiba! A stopper már mûködésben van!\");
KillTimer(sTimer);
SetGVarInt(\"Perc\", 0);
SetGVarInt(\"mPerc\", 0);
TextDrawHideForAll(StopperTD);
SendClientMessageToAll(0xffff99AA, \"Egy admin leállította a stopper-t!\");
return 1;
}
forward Stopperr();
public Stopperr() {
SetGVarInt(\"mPerc\", GetGVarInt(\"mPerc\") +1);
format(sString, sizeof(sString), \"%02d:%02d\", GetGVarInt(\"Perc\"), GetGVarInt(\"mPerc\"));
TextDrawSetString(StopperTD, sString);
if(GetGVarInt(\"Perc\") == m && GetGVarInt(\"mPerc\") == s) {
KillTimer(sTimer);
SetGVarInt(\"Perc\", 0);
SetGVarInt(\"mPerc\", 0);
TextDrawHideForAll(StopperTD);
SendClientMessageToAll(0xffff99AA, \"A stopper véget ért!\");
}
if(GetGVarInt(\"mPerc\") == 60) {
SetGVarInt(\"Perc\", GetGVarInt(\"Perc\") +1);
SetGVarInt(\"mPerc\", 0);
}
return 1;
}
vagy:
http://www.solidfiles.com/d/dcabe14323/sscanfgvarZCMDV2-es verzióban várható: Részidõk
Kritikákat, véleményeket tessék.