Doboz plugin:
[ablak]SMA Forráskód: [ Mindet kijelol ]#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <amxmisc>
#include <colorchat>
#include <nvault>
new felszedett[33]
new dobozszam
new cvar
new counter = 0
new bool:megvan
new bool:generalva
new g_vault
new eltunes
new const ET_model[][] = {
"models/cyan.mdl",
"models/zold.mdl",
"models/narancs.mdl",
"models/pink.mdl",
"models/minden.mdl",
"models/voros.mdl",
"models/sarga.mdl"
}
public lekeres(id){
return felszedett[id]
}
public plugin_precache()
{
precache_model("models/cyan.mdl")
precache_model("models/zold.mdl")
precache_model("models/narancs.mdl")
precache_model("models/pink.mdl")
precache_model("models/minden.mdl")
precache_model("models/voros.mdl")
precache_model("models/sarga.mdl")
}
public plugin_init()
{
register_plugin("Karacsonyi dobozok", "1.0", "qKKKJ")
set_task(30.0, "keszit",_,_,_,"b")
set_task(1.0, "szamlalo",_,_,_,"b")
register_touch("nyeremendoboz","player","remove")
set_task(random_float(30.0,60.0), "hirdetes",_,_,_,"b")
cvar = register_cvar("sv_maxdoboz", "1")
eltunes = register_cvar("sv_eltunes", "30")
g_vault = nvault_open("dobozok")
}
public szamlalo(id)
{
if(generalva == true) {
counter++
}
if(megvan == true) {
counter = 0
}
if(counter > get_pcvar_num(eltunes) && generalva == true)
{
new target = find_ent_by_class(target, "nyeremendoboz")
engfunc(EngFunc_RemoveEntity, target)
dobozszam--
counter = 0
generalva = false
switch(random_num(1,5)) {
case 1: {
ColorChat(0, RED, "Ezt a dobozt sajnos nem sikerult megtalalnotok <!-- s:( --><img src=\"{SMILIES_PATH}/icon_e_sad.gif\" alt=\":(\" title=\"szomorú\" /><!-- s:( -->")
}
case 2: {
ColorChat(0, GREEN, "Ezt a dobozt sajnos nem sikerult megtalalnotok <!-- s:( --><img src=\"{SMILIES_PATH}/icon_e_sad.gif\" alt=\":(\" title=\"szomorú\" /><!-- s:( -->")
}
case 3: {
ColorChat(0, BLUE, "Ezt a dobozt sajnos nem sikerult megtalalnotok <!-- s:( --><img src=\"{SMILIES_PATH}/icon_e_sad.gif\" alt=\":(\" title=\"szomorú\" /><!-- s:( -->")
}
case 4: {
ColorChat(0, GREY, "Ezt a dobozt sajnos nem sikerult megtalalnotok <!-- s:( --><img src=\"{SMILIES_PATH}/icon_e_sad.gif\" alt=\":(\" title=\"szomorú\" /><!-- s:( -->")
}
case 5: {
ColorChat(0, NORMAL, "Ezt a dobozt sajnos nem sikerult megtalalnotok <!-- s:( --><img src=\"{SMILIES_PATH}/icon_e_sad.gif\" alt=\":(\" title=\"szomorú\" /><!-- s:( -->")
}
}
}
}
public keszit(id)
{
if(dobozszam < get_pcvar_num(cvar)) {
new inifile[192], map[32]
get_mapname(map, 31)
formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
new Float:origin[3]
new elsopoz[8], masodikpoz[8], harmadikpoz[8]
new lines = file_size(inifile, 1)
if(lines > 0)
{
new randomLine = random(lines);
new lineBuffer[256], len;
read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
origin[0] = str_to_float(elsopoz)
origin[1] = str_to_float(masodikpoz)
origin[2] = str_to_float(harmadikpoz)
}
new ent = create_entity("info_target")
set_pev(ent, pev_classname, "nyeremendoboz")
entity_set_model(ent, ET_model[random(sizeof(ET_model))])
set_pev(ent,pev_solid, SOLID_BBOX)
set_pev(ent, pev_movetype, MOVETYPE_TOSS)
engfunc(EngFunc_SetOrigin, ent, origin)
engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
engfunc(EngFunc_DropToFloor, ent)
fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
switch(random_num(1,5)) {
case 1: {
ColorChat(0, RED, "Uj doboz jelent meg keressetek!!!!!!!")
}
case 2: {
ColorChat(0, GREEN, "Uj doboz jelent meg keressetek!!!!!!!")
}
case 3: {
ColorChat(0, BLUE, "Uj doboz jelent meg keressetek!!!!!!!")
}
case 4: {
ColorChat(0, GREY, "Uj doboz jelent meg keressetek!!!!!!!")
}
case 5: {
ColorChat(0, NORMAL, "Uj doboz jelent meg keressetek!!!!!!!")
}
}
dobozszam++
megvan = false
generalva = true
}
return PLUGIN_CONTINUE
}
public client_PreThink(id)
{
set_hudmessage(127, 255, 170, 0.0, 0.19, 0, 6.0, 1.0)
show_hudmessage(id, "Megtalalt dobozok: %d", felszedett[id])
}
public hirdetes()
{
ColorChat(0, GREEN, "A Nyeremenyjatek plugint ^3qKKKJ;> ^4keszitette!")
}
public remove(ent, id)
{
if(is_user_alive(id)) {
felszedett[id]++
dobozszam--
new nev[32]
get_user_name(id, nev, 31)
switch(random_num(1,5)) {
case 1: {
ColorChat(0, RED, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
}
case 2: {
ColorChat(0, GREEN, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
}
case 3: {
ColorChat(0, BLUE, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
}
case 4: {
ColorChat(0, GREY, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
}
case 5: {
ColorChat(0, NORMAL, "%s megtalalt egy ajandek dobozt gratulalunk!", nev)
}
}
engfunc(EngFunc_RemoveEntity, ent)
megvan = true
generalva = false
}
return PLUGIN_HANDLED
}
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
static Float:color[3]
color[0] = float(r)
color[1] = float(g)
color[2] = float(b)
set_pev(entity, pev_renderfx, fx)
set_pev(entity, pev_rendercolor, color)
set_pev(entity, pev_rendermode, render)
set_pev(entity, pev_renderamt, float(amount))
}
public client_connect(id)
{
betoltes(id)
}
public client_disconnect(id)
{
mentes(id)
}
public mentes(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s_dobozok", name)
format(vaultdata,255,"%i",felszedett[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public betoltes(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s_dobozok", name)
format(vaultdata,255,"%i",felszedett[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new szedett[32]
parse(vaultdata, szedett, 31)
felszedett[id] = str_to_num(szedett)
return PLUGIN_CONTINUE
}[/ablak]
Név+Doboz kiírás akire ránézel:
[ablak]SMA Forráskód: [ Mindet kijelol ]#include <amxmodx>
#define DOBOZ_PLUGIN_NAME "amxmodx-13173-Karacsonyi_dobozok.amxx"
public client_PreThink(id){
new cid , bdy
new name[ 32 ]
get_user_aiming(id , cid , bdy)
get_user_name(cid , name , charsmax(name))
set_hudmessage(255, 0, 0, -1.0, 0.87, 0, 6.0, 4.0)
show_hudmessage(id, "%s | Dobozok: %d",name,get_user_doboz(id))
}
stock get_user_doboz(client){
if(callfunc_begin("felszedett",DOBOZ_PLUGIN_NAME) == 1)
{
callfunc_push_int(client)
callfunc_end()
}
return 1
}[/ablak]
FONTOS!:A DOBOZ_PLUGIN_NAME helyén az legyen ami a crazyboy pluginja neve!
Illetve ha nem működik akkor van egy még egyszerűbb mód,csak így könnyebben lehetne rá kiegészítőket írni