Introducción al SourceMod Scripting
#26
(10/06/2015, 04:34 AM)volrath escribió: wiD muchísimas gracias por contestar tan pronto, es una pena que no estes ya en "estos mundillos" seguro que podía haber aprendido mucho de ti en otra época. Últimamente no tengo mucho tiempo libre , pero el viernes compilaré tu código y lo probaré en un servidor de csgo. Si hace lo que necesito, intentaré rehacer tu código con el menú mio y te iré contando si funciona o no. Luego dependiendo de las ganas que tengas puedes ayudarme o no ( eso lo eliges tu ) en algo un poco mas ambicioso que sería el siguiente paso. No es algo que tenga que ser para "ya" y toda ayuda será agradecida y x su puesto seré yo el que se adapte a ti y no al revés. gracias por tu tiempo y tus conocimientos.

Te ayudaré en lo que pueda y con el tiempo que tenga.

Sino, podes consultar en la wiki del sourcemod que tiene todo lo que necesitas bien detallado:

https://wiki.alliedmods.net/index.php/Ca...evelopment
Responder
#27
(10/06/2015, 03:50 PM)wiD escribió:
(10/06/2015, 04:34 AM)volrath escribió: wiD muchísimas gracias por contestar tan pronto, es una pena que no estes ya en "estos mundillos" seguro que podía haber aprendido mucho de ti en otra época. Últimamente no tengo mucho tiempo libre , pero el viernes compilaré tu código y lo probaré en un servidor de csgo. Si hace lo que necesito, intentaré rehacer tu código con el menú mio y te iré contando si funciona o no. Luego dependiendo de las ganas que tengas puedes ayudarme o no ( eso lo eliges tu ) en algo un poco mas ambicioso que sería el siguiente paso. No es algo que tenga que ser para "ya" y toda ayuda será agradecida y x su puesto seré yo el que se adapte a ti y no al revés. gracias por tu tiempo y tus conocimientos.

Te ayudaré en lo que pueda y con el tiempo que tenga.

Sino, podes consultar en la wiki del sourcemod que tiene todo lo que necesitas bien detallado:

https://wiki.alliedmods.net/index.php/Ca...evelopment

Cuando compilo tu código me da estos errores:

/home/groups/sourcemod/upload_tmp/phpdPvkJT.sp(9) : error 021: symbol already defined: "OnPluginStart"
/home/groups/sourcemod/upload_tmp/phpdPvkJT.sp(11) : error 100: function prototypes do not match

2 Errors.


519476 successful compiles to date.
387879 failed compiles to date.
Responder
#28
Puse el código de esta manera:

#include <sourcemod>
#include <sdktools>

public OnPluginStart()
{
HookEvent("player_spawn",SpawnEvent);
RegConsoleCmd("menu_test1", Menu_Test1);
}


y el primer error desaparece pero aun me sigue diciendo:

"/home/groups/sourcemod/upload_tmp/phpXOfsWc.sp(7) : error 100: function prototypes do not match

1 Error."
Responder
#29
No tengo idea de ese error, fijate buscandolo en am ingles: alliedmods.net
Responder
#30
(11/06/2015, 02:44 PM)volrath escribió:
(10/06/2015, 03:50 PM)wiD escribió:
(10/06/2015, 04:34 AM)volrath escribió: wiD muchísimas gracias por contestar tan pronto, es una pena que no estes ya en "estos mundillos" seguro que podía haber aprendido mucho de ti en otra época. Últimamente no tengo mucho tiempo libre , pero el viernes compilaré tu código y lo probaré en un servidor de csgo. Si hace lo que necesito, intentaré rehacer tu código con el menú mio y te iré contando si funciona o no. Luego dependiendo de las ganas que tengas puedes ayudarme o no ( eso lo eliges tu ) en algo un poco mas ambicioso que sería el siguiente paso. No es algo que tenga que ser para "ya" y toda ayuda será agradecida y x su puesto seré yo el que se adapte a ti y no al revés. gracias por tu tiempo y tus conocimientos.

Te ayudaré en lo que pueda y con el tiempo que tenga.

Sino, podes consultar en la wiki del sourcemod que tiene todo lo que necesitas bien detallado:

https://wiki.alliedmods.net/index.php/Ca...evelopment

Cuando compilo tu código me da estos errores:

/home/groups/sourcemod/upload_tmp/phpdPvkJT.sp(9) : error 021: symbol already defined: "OnPluginStart"
/home/groups/sourcemod/upload_tmp/phpdPvkJT.sp(11) : error 100: function prototypes do not match

2 Errors.


519476 successful compiles to date.
387879 failed compiles to date.

Arreglado:
Código PHP:
#include <sourcemod>
#include <sdktools>

public OnPluginStart()
{
    
HookEvent("player_spawn",SpawnEvent);
    
RegConsoleCmd("menu_test1"Menu_Test1);
}
 
public 
MenuHandler1(Handle:menuMenuAction:actionparam1param2)
{
    
/*Si una opción fue seleccionada, le avisamos al cliente lo que eligió. */
    
if (action == MenuAction_Select)
    {
        new 
String:info[32];
        new 
bool:found GetMenuItem(menuparam2infosizeof(info));
        
PrintToConsole(param1"You selected item: %d (found? %d info: %s)"param2foundinfo);
    }
    
/* Si el menú fue cancelado, le enviamos un mensaje al servidor. */
    
else if (action == MenuAction_Cancel)
    {
        
PrintToServer("Client %d's menu was cancelled.  Reason: %d"param1param2);
    }
    
/* Cuando el menú fue finalizado, lo destruimos. */
    
else if (action == MenuAction_End)
    {
        
CloseHandle(menu);
    }
}
 
public 
Action:Menu_Test1(clientargs)
{
    new 
Handle:menu CreateMenu(MenuHandler1);
    
SetMenuTitle(menu"Do you like apples?");
    
AddMenuItem(menu"yes""Yes");
    
AddMenuItem(menu"no""No");
    
SetMenuExitButton(menufalse);
    
DisplayMenu(menuclient20);
 
    return 
Plugin_Handled;


public 
Action:SpawnEvent(Handle:event,const String:name[],bool:dontBroadcast)
{
    new 
client_id GetEventInt(event"userid");
    new 
client GetClientOfUserId(client_id);
    
    
Menu_Test1(client0);



Los errores eran que se duplicó "OnPluginStart" y que faltaba un parámetro en la llamada de retorno.
Atentamente,
[Imagen: 76561198011608644.png]
Mis plugins públicos en SourceMod
Seguidme en Twitter! @Franc1sco13
Responder
#31
(14/06/2015, 01:20 AM)Franc1sco escribió:
(11/06/2015, 02:44 PM)volrath escribió:
(10/06/2015, 03:50 PM)wiD escribió:
(10/06/2015, 04:34 AM)volrath escribió: wiD muchísimas gracias por contestar tan pronto, es una pena que no estes ya en "estos mundillos" seguro que podía haber aprendido mucho de ti en otra época. Últimamente no tengo mucho tiempo libre , pero el viernes compilaré tu código y lo probaré en un servidor de csgo. Si hace lo que necesito, intentaré rehacer tu código con el menú mio y te iré contando si funciona o no. Luego dependiendo de las ganas que tengas puedes ayudarme o no ( eso lo eliges tu ) en algo un poco mas ambicioso que sería el siguiente paso. No es algo que tenga que ser para "ya" y toda ayuda será agradecida y x su puesto seré yo el que se adapte a ti y no al revés. gracias por tu tiempo y tus conocimientos.

Te ayudaré en lo que pueda y con el tiempo que tenga.

Sino, podes consultar en la wiki del sourcemod que tiene todo lo que necesitas bien detallado:

https://wiki.alliedmods.net/index.php/Ca...evelopment

Cuando compilo tu código me da estos errores:

/home/groups/sourcemod/upload_tmp/phpdPvkJT.sp(9) : error 021: symbol already defined: "OnPluginStart"
/home/groups/sourcemod/upload_tmp/phpdPvkJT.sp(11) : error 100: function prototypes do not match

2 Errors.


519476 successful compiles to date.
387879 failed compiles to date.

Arreglado:
Código PHP:
#include <sourcemod>
#include <sdktools>

public OnPluginStart()
{
    
HookEvent("player_spawn",SpawnEvent);
    
RegConsoleCmd("menu_test1"Menu_Test1);
}
 
public 
MenuHandler1(Handle:menuMenuAction:actionparam1param2)
{
    
/*Si una opción fue seleccionada, le avisamos al cliente lo que eligió. */
    
if (action == MenuAction_Select)
    {
        new 
String:info[32];
        new 
bool:found GetMenuItem(menuparam2infosizeof(info));
        
PrintToConsole(param1"You selected item: %d (found? %d info: %s)"param2foundinfo);
    }
    
/* Si el menú fue cancelado, le enviamos un mensaje al servidor. */
    
else if (action == MenuAction_Cancel)
    {
        
PrintToServer("Client %d's menu was cancelled.  Reason: %d"param1param2);
    }
    
/* Cuando el menú fue finalizado, lo destruimos. */
    
else if (action == MenuAction_End)
    {
        
CloseHandle(menu);
    }
}
 
public 
Action:Menu_Test1(clientargs)
{
    new 
Handle:menu CreateMenu(MenuHandler1);
    
SetMenuTitle(menu"Do you like apples?");
    
AddMenuItem(menu"yes""Yes");
    
AddMenuItem(menu"no""No");
    
SetMenuExitButton(menufalse);
    
DisplayMenu(menuclient20);
 
    return 
Plugin_Handled;


public 
Action:SpawnEvent(Handle:event,const String:name[],bool:dontBroadcast)
{
    new 
client_id GetEventInt(event"userid");
    new 
client GetClientOfUserId(client_id);
    
    
Menu_Test1(client0);



Los errores eran que se duplicó "OnPluginStart" y que faltaba un parámetro en la llamada de retorno.

Muchisimas gracias fráncisco, he visto que has creado 3 plugins almenos los que he encontrado, ¿ estarías dispuesto a echarme una mano en este embrollo que me he metido ? como pongo arriba me faltan conocimientos pero me sobran ganas para hacerlo funcionar. Ayudaría en todo lo que pueda.

Voy a intentar aplicar tu código al menú mio, a ver si lo hago andar y si no funciona te lo muestro a ver que pudo estar poniendo mal. gracias nuevamente.
Responder
#32
(13/09/2015, 08:36 PM)Codex escribió: una pregunta,
que valor retornas con
Código PHP:
return Plugin_Handled
a que retorna?

Es como retornar un 0 en C, termina la ejecución de esa función.
Responder
#33
Me esta gustando mas el sourcemod Gran sonrisa empezaré a buscar mas[emoji7]
* Ing. Informático * Mapper * Venezolano
Responder
#34
Ahí se los actualice agregando timers.

Diganme que quieren que agregue, porque no tengo ganas de poner todo...
Responder
#35
Iniciar una recopilación de guías y tutoriales.

V: sourcemod

Explicamos de como registrar el evento de que muere un user si es por cuchilla o hs si no es mucha molestia

Explicanos*
* Ing. Informático * Mapper * Venezolano
Responder
#36
(18/09/2015, 12:42 PM)Nazi.- escribió: Iniciar una recopilación de guías y tutoriales.

V: sourcemod

Explicamos de como registrar el evento de que muere un user si es por cuchilla o hs si no es mucha molestia

Explicanos*

Listo.
Responder
#37
Gracias me gusto la guía es decir que es igual al del cs 1.6 si quiere que gane exp al matar le pongo exp[client]++ ?

Perdón xd exp[attacker]++ es igual?
* Ing. Informático * Mapper * Venezolano
Responder
#38
(18/09/2015, 03:16 PM)Nazi.- escribió: Gracias me gusto la guía es decir que es igual al del cs 1.6 si quiere que gane exp al matar le pongo exp[client]++ ?

Perdón xd exp[attacker]++ es igual?
Si. Es pawn, la sintaxis y la mayor parte se las cosas son iguales.
Responder
#39
Ya no es id a hora es user? O client?
* Ing. Informático * Mapper * Venezolano
Responder
#40
Podes ponerle como quieras, client es un entero que representa a un jugador. Ponele como vos quieras.
Responder
#41
Gracias entonces pacman Oh god why
* Ing. Informático * Mapper * Venezolano
Responder
#42
Cita:Para utilizar los eventos hay que llamarlos previamente en PluginStart. Por ejemplo nosotros llamaremos al evento cuando muere un player

No será cuando spawnea?
Responder
#43
(20/04/2016, 03:51 AM)Hernandez escribió:
Cita:Para utilizar los eventos hay que llamarlos previamente en PluginStart. Por ejemplo nosotros llamaremos al evento cuando muere un player

No será cuando spawnea?

Listo, arreglado. grax
Responder
#44
una pregunta wid , si yo tengo un menu que tiene 8 opciones y quiero hacer desaparecer los botones 8 y 9 anterior y siguiente para que el menu tenga una sola pagina , como seria ?
Responder
#45
(28/06/2016, 05:59 AM)Nelo escribió: una pregunta wid , si yo tengo un menu que tiene 8 opciones y quiero hacer desaparecer los botones 8 y 9 anterior y siguiente para que el menu tenga una sola pagina , como seria ?

Es como en amx, se ponen default los botones de siguiente y anterior si pones mas de x opciones.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)