Te hago plugins de lo que necesites
#1
Buenas, ofrezco mis servicios para hacer plugins personalizados de lo que andes necesitando. Tengo conocimiento en Pawn desde hace mas de 6 años, algo de conocimiento en MYSQL y HTLM.

Una parte de un plugin actual que hice hace 1 semana para una comunidad, asi ven como hago mis codigos...
Código PHP:
//===================================
//========= GRUPOS v3.0 ===========
//===================================

/* CHANGELOG */
// v1.0: Lanzamiento del Plugin
// v1.5: Menus re-diseñados, adaptado para bots y arreglo de bugs
// v2.0: Codigo renovado y se agrego la funcion de pedir unirse a un grupo y bloquear solicitudes!
// v2.5: Fix de bug en el say, combo renovado y es optimizo el codigo
// v3.0: Se removió el tiempo de invitación y se agregó recompensa al suprear 10millones de daño en combo (ZU ADAPTATION)

/*[ LIBRERIAS ]*/
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <zombie_universo>

/*[ PLUGIN ]*/
#define CREADOR "Emanuelitop15"
#define PLUGIN "[ZU-X] Grupos"
#define VERSION "3.0"

/*[ DEFINES ]*/
#define TAG "^x04[GRUPO]^x01"
#define usuario_valido_conectado(%1) (1 <= %1 <= g_max_jugadores && g_conectado[%1])
#define MAX_GRUPOS 10

#define TASK_COMBO 7555
#define ID_COMBO (taskid - TASK_COMBO)

/*[ VARIABLES ]*/
new g_texto[850], g_max_jugadores
new g_conectado[33], g_nombre[33][32], g_nombre_creador[MAX_GRUPOS+1][32]
new 
g_combo[33][2][MAX_GRUPOS+1], g_combo_dmg[33][2][MAX_GRUPOS+1], g_msgsync_combo

/*[ GRUPOS ]*/
enum __grupitos
{
 
G_NOMBRE[16],
 
G_CREADOR,
 
G_MIEMBROS,
 
G_SOLICITUDES,
 
G_GANANCIA,
}
new 
i_grupo[MAX_GRUPOS+1][_grupitos], g_grupo[33], g_creando_grupo[33], g_invitacion[33], g_bloquear_solicitud[33]

/*[ COMBO ]*/
enum __combito
{
 
COMBO_NOMBRE[33], /*Texto del combo que estas haciendo*/
 
COMBO_DMG/*Daño necesario para subir el multiplicador del combo*/
 
COMBO_MULTI/*Multiplica la ganancia que acumulas cada vez que superes el daño requerido*/
 
COMBO_COLOR_ROJO/*Color rojo del hud*/
 
COMBO_COLOR_VERDE/*Color verde del hud*/
 
COMBO_COLOR_AZUL /*Color azul del hud*/
}
new const 
combo[8][_combito] =
{
 { 
"Empezando"1000000150150150 }, 
 { 
"Combeador Novato"1000000160255},
 { 
"Cazadores"250000022000200 },
 { 
"Asesinos"450000030100255 },
 { 
"Leyenda"75000004255100},
 { 
"Exterminadores"100000005090255 },
 { 
"Descomunal"500000006100255},
 { 
"INALCANZABLES"2000000008150255}
}

/*[ CVARS ]*/
new cvar_grupos_botscvar_max_miembroscvar_ganancia_totalcvar_drop_de_rangos

/*[ PLUGIN INIT ]*/
public plugin_init()
{
 
register_plugin(PLUGINVERSIONCREADOR)
 
RegisterHam(Ham_TakeDamage"player""fw_danyo")
 
 
cvar_grupos_bots register_cvar("grupos_bots_activado""1"// Los bots tambien puedes usar los grupos (esto es medio beta asi que capaz tenga bugs xd)
 
cvar_max_miembros register_cvar("grupos_maximo_de_miembros""3"// Maximo de miembros permitido por grupo
 
cvar_ganancia_total register_cvar("grupos_ganancia_total_division""490"// Basicamente divide el daño total hecho que es la ganancia 
 
cvar_drop_de_rangos register_cvar("grupos_drop_de_rangos""1"// Esto de los rangos lo adaptan dependiend sus flags

 
g_msgsync_combo CreateHudSyncObj()
 
g_max_jugadores get_maxplayers()
 
 
register_clcmd("CREAR_GRUPO""crear__grupo")
 
register_clcmd("say_team""say_grupo")
 
register_clcmd("say /grupo""menu_grupos")
}
/*[ NATIVES ]*/
public plugin_natives()
{
 
register_native("zu_menu_grupo""native_menu_grupo"1)
 
register_native("zu_en_grupo""native_en_grupo"1)
}
public 
native_en_grupo(id)
{
 return 
g_grupo[id];
}
 
public 
native_menu_grupo(id)
{
 return 
menu_grupos(id0);
}
 
/*[ PLUGIN CFG ]*/
public plugin_cfg()
{
 for (new 
grupo 1grupo <= MAX_GRUPOSgrupo++)
 {
 
copy(i_grupo[grupo][G_NOMBRE], 15"Crear un Grupo")
 
copy(g_nombre_creador[grupo], 31"Ninguno")
 
i_grupo[grupo][G_MIEMBROS] = 0
 i_grupo
[grupo][G_CREADOR] = 0
 i_grupo
[grupo][G_GANANCIA] = 0
 
}
}
 
/*[ PUTIN SERVER ]*/
public client_putinserver(id)
{
 
g_conectado[id] = true
 get_user_name
(idg_nombre[id], charsmax(g_nombre[]))
 
 
g_grupo[id] = 
 g_invitacion
[id] = false
 g_creando_grupo
[id] = 0
 g_bloquear_solicitud
[id] = 0
 
 
for (new grupo 1grupo <= MAX_GRUPOSgrupo++)
 {
 
g_combo[id][0][grupo] = 0
 g_combo
[id][1][grupo] = 0
 g_combo_dmg
[id][0][grupo] = 0
 g_combo_dmg
[id][1][grupo] = 0
 
}


Algunos mini-plugins que hice para ayudar a usuarios:
- Respawn Reverso
Código PHP:
// =====================================================|
// ================ RESPAWN REVERSO 1.0 ================|
// =====================================================|
// ================== EMANUELITOP15 ====================|
// =====================================================|

// [ LIBRERIAS ] 
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta_util>

// [ PLUGIN ]
#define PLUGIN "Respawn Reverso [R-R]"
#define VERSION "1.0"
#define AUTHOR "Emanuelitop15"

// [ TASK ]
#define TASK_RESURECCION 85500
#define ID_RESURRECCION (taskid - TASK_RESURECCION)

// [ VARIABLE/CVARS/ENUM ]
new g_reverso[33]
new 
cvar_rr_activadocvar_rr_tiempocvar_rr_inverso
enum
{
    
iCS_SIN_EQUIPO 0,
    
iCS_EQUIPO_T,
    
iCS_EQUIPO_CT,
    
iCS_EQUIPO_ESPECTADOR
}

// [ PLUGIN INIT ]
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
RegisterHam(Ham_Killed"player""jugador_asesinado")
    
//RegisterHam(Ham_Spawn, "player", "aparicion_del_jugador", 1) 
    
    
cvar_rr_activado register_cvar("rr_activar""1"// Activa el respawn (la reaparicion del jugador)
    
cvar_rr_tiempo register_cvar("rr_tiempo""3.0"// Tiempo que debe esperar para volver a reaparecer
    
cvar_rr_inverso register_cvar("rr_inverso""1"// Para que reviva en el equipo contrario (si sos CT reviivar como T y viceversa)
}

// [ PUTIN SERVER / USUARIO DESCONECTADO ]
public client_putinserver(idg_reverso[id] = false
public client_disconnect(idg_reverso[id] = false

// [ FUNCIONES ]
public jugador_asesinado(victimaatacante){
    if (!
get_pcvar_num(cvar_rr_activado)) return
    
    
remove_task(victima+TASK_RESURECCION)
    
    if (
get_pcvar_num(cvar_rr_inverso)){
        if (
fm_cs_get_user_team(victima) != fm_cs_get_user_team(atacante)){
            
g_reverso[victima] = true
            set_task
(get_pcvar_float(cvar_rr_tiempo), "revivir_jugadores"victima+TASK_RESURECCION)
        }
    }else{
        
g_reverso[victima] =false
        set_task
(get_pcvar_float(cvar_rr_tiempo), "revivir_jugadores"victima+TASK_RESURECCION)
    }    
}
public 
revivir_jugadores(taskid){
    new 
idid ID_RESURRECCION
    
    
if (is_user_alive(id)) return;
    
    if (
g_reverso[id]){
        if (
fm_cs_get_user_team(id) == iCS_EQUIPO_CTfm_cs_set_user_team(idiCS_EQUIPO_T)
        else if (
fm_cs_get_user_team(id) == iCS_EQUIPO_Tfm_cs_set_user_team(idiCS_EQUIPO_CT)
    }else{
        if (
fm_cs_get_user_team(id) == iCS_EQUIPO_CTfm_cs_set_user_team(idiCS_EQUIPO_CT)
        else 
fm_cs_set_user_team(idiCS_EQUIPO_T)
    }
    
ExecuteHamB(Ham_CS_RoundRespawnid)
}
    
// [ STOCKS ]
stock fm_cs_get_user_team(id)
{
    return 
get_pdata_int(id114,5);
}
stock fm_cs_set_user_team(idteam)
{
    
set_pdata_int(id114team5)


- Menu de Armas por flags
Código PHP:
// [ LIBRERIAS ]
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <fakemeta_util>
#include <fun>

 // [ MENU DE ARMAS PARA ADMIN - EMANUELITOP15 ]
#define PLUGIN "Emanuelito15"
#define VERSION "1.0"
#define AUTHOR "ARMAS DE ADMIN"

// [ FLAGS ]
#define FLAG_ADMIN ADMIN_LEVEL_A // Aca le pones el flag que quieras!

// [ CONSTANTES ]
const iARMAS_PRIMARIAS = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const 
iARMAS_SECUNDARIAS = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
new const 
MAXBPAMMO[] = { -152, -1901321100901120100100909090100120301202003290120902359090, -1100 }
new const 
AMMOTYPE[][] = { """357sig""""762nato""""buckshot""""45acp""556nato""""9mm""57mm""45acp",
"556nato""556nato""556nato""45acp""9mm""338magnum""9mm""556natobox""buckshot""556nato""9mm""762nato""""50ae""556nato""762nato""""57mm"  }

// [ CVARS ]
new cvar_menu_armas_de_admin

// [ PLUGIN INIT ]
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
RegisterHam(Ham_Spawn"player""aparicion_de_usuario"1
    
    
cvar_menu_armas_de_admin register_cvar("menu_de_armas_admin""1"// Acivar el menu?
}
// [ APARICION DEL JUGADOR (PLAYER SPAWN) ]
public aparicion_de_usuario(id){
    if (!
is_user_alive(id)) return;
    if (!(
get_user_flags(id) & FLAG_ADMIN) || !get_pcvar_num(cvar_menu_armas_de_admin)) return;
    
    
mArmasAdmin(id)
}
// [ FUNCIONES ]
public mArmasAdmin(id) {
    new 
Menu menu_create("\yArmas de Admin^t^t^t^t^t^t\d""hmArmasAdmin")
    
    
menu_additem(Menu"AK CS-GO""1")
    
menu_additem(Menu"XM1014 CS-GO""2")
    
menu_additem(Menu"MACHINE GUN""3")
    
    
menu_setprop(MenuMPROP_EXITMEXIT_NORMAL)
    
menu_display(idMenu0)
}
public 
hmArmasAdmin(idmenuboton) {
    if (!(
get_user_flags(id) & FLAG_ADMIN) || !get_pcvar_num(cvar_menu_armas_de_admin)) return PLUGIN_HANDLED;
    if(
boton == MENU_EXIT) {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    switch(
boton){
        case 
0:{
            
tirar_armas(id,1)
            
give_item(id"weapon_ak47")
            
ExecuteHamB(Ham_GiveAmmoidMAXBPAMMO[CSW_AK47], AMMOTYPE[CSW_AK47], MAXBPAMMO[CSW_AK47])
        }case 
1:{
            
tirar_armas(id,1)
            
give_item(id"weapon_xm1014")
            
ExecuteHamB(Ham_GiveAmmoidMAXBPAMMO[CSW_XM1014], AMMOTYPE[CSW_XM1014], MAXBPAMMO[CSW_XM1014])
        }case 
2:{
            
tirar_armas(id,1)
            
give_item(id"weapon_m249")
            
ExecuteHamB(Ham_GiveAmmoidMAXBPAMMO[CSW_M249], AMMOTYPE[CSW_M249], MAXBPAMMO[CSW_M249])
        }
    }
    return 
PLUGIN_HANDLED;
}

// [ STOCKS ]
stock tirar_armas(idarma)
{
    static 
armas[32], numeroiid_del_arma
    numero 
0
    get_user_weapons
(idarmasnumero)
    
    for (
0numeroi++)
    {
        
id_del_arma armas[i]
        if ((
arma == && ((1<<id_del_arma) & iARMAS_PRIMARIAS)) || (arma == && ((1<<id_del_arma) & iARMAS_SECUNDARIAS)))
        {
            static 
nombre_del_arma[32], entidad_del_arma
            get_weaponname
(id_del_armanombre_del_armacharsmax(nombre_del_arma))
            
entidad_del_arma find_ent_by_owner(-1nombre_del_armaid)
            
            
set_pev(entidad_del_armapev_iuser1cs_get_user_bpammo(idid_del_arma))
            
            
engclient_cmd(id"drop"nombre_del_arma)
            
cs_set_user_bpammo(idid_del_arma0)
        }
    }


Si el plugin es complejo y lleva tiempo el precio será mas caro. En mi perfil pueden ver alguno de los "aportes" que hice (sin embargo codeaba mal en ese entonces asi que no recomiendo usarlos xd)

PD: Soy de argentina
___________________________________
SI NECESITAS UN PLUGIN TE LO HAGO $$$
COMUNICATE A MI DISCORD: emanuelitop15
Responder
#2
te envie mp
Responder
#3
(27/04/2021, 08:52 PM)carlos23123 escribió: te envie mp

when vendes zetapes + nibeles but contactas a otro scripter para comprarle un plugin.

[Imagen: 6fdd7767e5f2df7bedf9ee18d1880b25.jpg]
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#4
(28/04/2021, 12:02 AM)Hypnotize escribió: when vendes zetapes + nibeles but contactas a otro scripter para comprarle un plugin.

[Imagen: 6fdd7767e5f2df7bedf9ee18d1880b25.jpg]
para que me voy a matar editando si puedo pagar xD¿?
Responder
#5
(28/04/2021, 08:58 AM)carlos23123 escribió: para que me voy a matar editando si puedo pagar xD¿?

Para que vas a gastar dinero se lo podés hacer vos Whatdone
Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)