PDA

View Full Version : [AMXX] WarGods Dynamic MOTD



Tiger
24-03-2014, 12:14 PM
Descriere: Cu acest plugin puteti crea un motd dinamic la intrarea pe server!

Nume plugin: WarGods Dynamic MOTD
Autor: Tiger
Versiune: 1.0
Credits: Exolent (pentru blocarea primului MOTD - link: <b>You have to register to ba able to see this link</b> )

Sursa:

#include <amxmodx>
#include <csstats>

#define MOTD_FLAG_ARG 1
#define MOTD_FLAG_END 1

new bool:g_bSawMotd[33];

#define WEBSITE "<b>You have to register to ba able to see this link</b>"
#define DNS "DNS.WarGods.ro"

new original_motd[300];

public plugin_init()
{
register_plugin("WarGods Dynamic MOTD", "1.0", "Tiger");

register_message(get_user_msgid("MOTD"), "message_MOTD");

new server_ip[32];
get_user_ip(0, server_ip, charsmax(server_ip));

formatex(original_motd, charsmax(original_motd) ,"<body bgcolor=^"#000000^"><font color=#87cefa><pre> \
<font color=^"#00baff^"><center><h1>%s</h1></center>\
<h2>Salut si bine ai venit pe %s</h2><br><br>\
DNS: <font color=^"white^">%s</font><br>\
IP: <font color=^"white^">%s</font><br><br>", DNS, DNS, DNS, server_ip);
}

public client_connect(id)
{
g_bSawMotd[id] = false;
}

dynamic_motd(id)
{
static stats[8], stats2[4], body[8]
new rank_pos = get_user_stats(id, stats, body);
new max_rank = get_statsnum();

get_user_stats2(id, stats2);

static name[32], authid[32], ip[32];

get_user_name(id, name, charsmax(name));
get_user_authid(id, authid, charsmax(authid));
get_user_ip(id, ip, charsmax(ip), 1);

static motd[1000];

formatex(motd, charsmax(motd), "%sAbout you:<br>\
Name: <font color=^"white^">%s</font><br>\
IP: <font color=^"white^">%s</font><br>\
Authid (SteamID): <font color=^"white^">%s</font><br>", original_motd, name, ip, authid);

formatex(motd, charsmax(motd),"%sRank: <font color=^"white^">%d / %d [Kills: %d] [Deaths: %d] [HS: %d]</font><br><br>\
Bombs: <font color=^"white^">[Defused: %d] [Planted: %d] [Exploded: %d]</font><br><br>\
-----------------------------------------------------<br>\
<br> > Website <font color=^"white^">%s</font>", motd, rank_pos, max_rank, stats[0], stats[1], stats[2], stats2[1], stats2[2], stats2[3], WEBSITE);

show_motd(id, motd);
}

public message_MOTD(msgid, dest, id)
{
if(!g_bSawMotd[id])
{
if(get_msg_arg_int(MOTD_FLAG_ARG) == MOTD_FLAG_END)
{
g_bSawMotd[id] = true;
dynamic_motd(id);
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}



Un alt exemplu, in locul afisarii unor statistici, este sa afisati aleatoriu imagini motd. Il customizati voi cum doriti.

custom motd, rank motd, info motd, plugin, amxx, show motd, info motd, dynamic motd, server motd

bbb
24-03-2014, 03:38 PM
Foarte interesant:)

Mihai07
19-04-2014, 05:15 PM
Foarte Intersenat;) Bv Tiger :D

Studentul
09-04-2018, 04:16 PM
Nu prea am inteles. La fiecare conectare pe server arata motd diferit?

Tiger
09-04-2018, 08:11 PM
Acest plugin se refera doar la MOTD-ul cand dai join.

Deci, MOTD-ul in principiu este static dar iti permite sa pui un link catre un webserver cu PHP, de exemplu, pentru a genera continut dinamic.

Cu acest plugin poti genera din plugin continut dinamic pentru MOTD (gen: sa afisezi diverse statistici - rank, ore jucate, nume, etc.). Totodata iti va permite sa construiesti query string pentru paginiile externe astfel incat sa le poti personaliza pentru fiecare jucator.