Wysłany: 2015-10-26, 20:31
GreeN.
Wiek: 27 Na forum: 4652 dni Posty: 137
Nick w MP: GreeN.
Piwa : 50
Chce zrobi? sklejke vipa czasowego :3 tzn tu mam jeden skrypt na vipa czasowego:
Kod: /*
Title: Skrypt czasowego konta premium w systemie zapisu danych DOF2
Author: DraKoN
*/
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dof2>
#define DIALOG_KONTO_PREMIUM 789
#define SCM SendClientMessage
#define IsPlayerVIP(%0) PlayerInfo[%0][pPremium]
enum pInfo{
pPremium,
pPremiumRok,
pPremiumMiesiac,
pPremiumDzien,
pPremiumGodzina,
pPremiumMinuta
}
new PlayerInfo[MAX_PLAYERS][pInfo];
// ====================================================================== //
public OnFilterScriptInit(){
print("======================================");
print("Skrypt na konto premium w systemie zapisu danych DOF2");
print("Autor: DraKoN");
print("...wczytano!");
print("======================================");
SetTimer("TimerCheckPremium", 60000, true);
return 1;
}
public OnFilterScriptExit(){
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid){
if(PlayerInfo[playerid][pPremium] == 1){
new string[100];
format(string, sizeof(string), "{FF0000}Konto premium wa?ne do {17E3B7}%02d.%02d.%04d{FF0000}r godz. {17E3B7}%02d:%02d", PlayerInfo[playerid][pPremiumDzien], PlayerInfo[playerid][pPremiumMiesiac], PlayerInfo[playerid][pPremiumRok], PlayerInfo[playerid][pPremiumGodzina], PlayerInfo[playerid][pPremiumMinuta]);
SCM(playerid, -1, string);
}
return 1;
}
forward TimerCheckPremium();
public TimerCheckPremium(){
for(new a; a < GetMaxPlayers(); a++){
if(PlayerInfo[a][pPremium] == 1){
new godzina, minuta;
new rok, miesiac, dzien;
gettime(godzina, minuta);
getdate(rok, miesiac, dzien);
if(PlayerInfo[a][pPremiumRok] <= rok && PlayerInfo[a][pPremiumMiesiac] <= miesiac && PlayerInfo[a][pPremiumDzien] <= dzien && PlayerInfo[a][pPremiumGodzina] <= godzina && PlayerInfo[a][pPremiumMinuta] < minuta){
PlayerInfo[a][pPremium] = 0;
PlayerInfo[a][pPremiumRok] = 0;
PlayerInfo[a][pPremiumMiesiac] = 0;
PlayerInfo[a][pPremiumDzien] = 0;
PlayerInfo[a][pPremiumGodzina] = 0;
PlayerInfo[a][pPremiumMinuta] = 0;
printf("[PREMIUM]Czas VIP'a gracza %s dobiegl konca!", PlayerName(a));
ShowPlayerDialog(a, DIALOG_KONTO_PREMIUM, DIALOG_STYLE_MSGBOX, "Koniec premium:", "W tym momencie w?a?nie sko?czy? si? czas wa?no?ci Twojego konta premium!\nSerdecznie zapraszamy do zakupu nowego statusu premium!", "Rozumiem", "");
}
}
}
return 1;
}
// ====================================================================== //
CMD:dajpremium(playerid, params[]){
new string[256], id, rok[2], miesiac, dzien, godzina, minuta;
gettime(rok[1]);
if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "{FF0000}Nie masz do tego uprawnie?!");
if(sscanf(params, "uiiiii", id, rok[0], miesiac, dzien, godzina, minuta)) return SCM(playerid, -1, "{BEC4B1}U?yj: {FF0000}/dajpremium [id] [rok] [miesi?c] [dzie?] [godzina] [minuta]");
if(!IsPlayerConnected(id)) return SCM(playerid, -1, "Nie ma gracza o podanym ID.");
if(rok[0] < rok[1] || miesiac > 12 || dzien > 31 || (miesiac == 2 && dzien > 28) || godzina >= 24 || minuta >= 60) return SCM(playerid, -1, "{FF8000}Niepoprawne dane!");
if(PlayerInfo[id][pPremium] == 1) return SCM(playerid, -1, "{FF8000}Ten gracz posiada ju? aktywne konto premium!");
format(string, 256, "{BEC4B1}Da?e? konto premium graczowi {B5DE3C}%s[%d]!", PlayerName(id), id);
SCM(playerid, -1, string);
format(string, 256, "{BEC4B1}Otrzyma?e? od admina {B5DE3C}%s {BEC4B1}konto premium\nwa?ne do\ngodz. {FF0000}%02d:%02d\n%02d.%02d.%02dr!", PlayerName(playerid), godzina, minuta, dzien, miesiac, rok[0]);
ShowPlayerDialog(id, DIALOG_KONTO_PREMIUM, DIALOG_STYLE_MSGBOX, "Konto premium:", string, "Dzi?ki", "");
PlayerInfo[id][pPremium] = 1;
PlayerInfo[id][pPremiumRok] = rok[0];
PlayerInfo[id][pPremiumMiesiac] = miesiac;
PlayerInfo[id][pPremiumDzien] = dzien;
PlayerInfo[id][pPremiumGodzina] = godzina;
PlayerInfo[id][pPremiumMinuta] = minuta;
//tutaj wypisujemy co ma otrzyma? gracz po otrzymaniu konta premium
printf("[PREMIUM]%s otrzymal VIP'a od %s do %02d:%02d - %02d.%02d.%04d", PlayerName(id), PlayerName(playerid), godzina, minuta, dzien, miesiac, rok[0]);
return 1;
}
CMD:zabierzpremium(playerid, params[]){
new string[256], id;
if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "{FF0000}Nie masz do tego uprawnie?!");
if(sscanf(params, "u", id)) return SCM(playerid, -1, "{BEC4B1}U?yj: {FF0000}/zabierzpremium [id]");
if(!IsPlayerConnected(id)) return SCM(playerid, -1, "{FF8000}Nie ma gracza o podanym ID.");
if(PlayerInfo[id][pPremium] == 0) return SCM(playerid, -1, "{FF8000}Ten gracz nie posiada aktywnego konta premium!");
format(string, 256, "{BEC4B1}Zabra?e? konto premium graczowi {B5DE3C}%s.", PlayerName(id));
SCM(playerid, -1, string);
format(string, 256, "{BEC4B1}Admin {B5DE3C}%s {BEC4B1}zabra? Ci konto premium!", PlayerName(playerid));
ShowPlayerDialog(id, DIALOG_KONTO_PREMIUM, DIALOG_STYLE_MSGBOX, "Konto premium:", string, "Rozumiem", "");
PlayerInfo[id][pPremium] = 0;
PlayerInfo[id][pPremiumRok] = 0;
PlayerInfo[id][pPremiumMiesiac] = 0;
PlayerInfo[id][pPremiumDzien] = 0;
PlayerInfo[id][pPremiumGodzina] = 0;
PlayerInfo[id][pPremiumMinuta] = 0;
printf("[PREMIUM]%s stracil VIP'a od %s", PlayerName(id), PlayerName(playerid));
return 1;
}
// ====================================================================== //
stock PlayerName(p){
new N[MAX_PLAYER_NAME];
GetPlayerName(p, N, sizeof(N));
return N;
}
// ====================================================================== //
Chce tu doda? jakie? komendy z innego skryptu. Gdzie je najlepiej doda? ? i jak zrobic by by?a ranga vip ? tzn SectoR(vip) co? w tym stylu :3
Wysłany: 2015-10-26, 23:23
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Komendy poza innymi publicami, np przed linijk?
Kod: CMD:dajpremium(playerid, params[]){
Dodajesz kolejne komendy.
Aby ranga by?a, musisz doda? to, te? gdzie? na ko?cu, albo przed UP.
Kod:
public OnPlayerText(playerid, text[])
{
if(PlayerInfo[playerid][pPremium] == 1)
{
new svr[138];
format(svr, sizeof(svr), "%s (ViP): %s", PlayerName(playerid), text);
SendClientMessageToAll(-1, svr);
return 0;
}
return 0;
}
Tagi: vip
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: