Jump to content
View in the app

A better way to browse. Learn more.

Forum Supreme-Elite

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Plugin de gift (cadeau au hasard) - v0.3

Featured Replies

  • Replies 99
  • Views 12.5k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Nouvelle version. Encore a tester si vous en avez l'occasion   Ajout d'un gift : Double Jump Permet d'effectuer durant tout le round un deuxième saut (une fois en l'air) si on a gagné ce gift.   Pour

  • Bah comme j'ai dis, ya pas mal de warning, c'est surtout ca. Puis quelques bugs. Donc je publierais ici et Sourcemod je pense lors de la 1.0 .

  • Prochainement je mettrais une dernière version de ce plugin a disposition, une version nettement plus avancée que celle-ci. Assez complète, customisable (ajout de gift assez simple si on sait un peu c

Posted Images

  • 2 weeks later...
Salut, enfaite je voudrais savoir si une adaptation pour un serveur minecraft dédié etait possible ? même chose il taperais !gift | /gift
  • 3 months later...

Bonjours j'ai trouver 2 erreurs sur ton plugin

 

J'ai fait le !gift il mon dit que j'avais gagner une AWP et a la place j'ai gagner un DEAGLE U_u

Et le second bug et que quand on perd 15hp a la place de nous les retirer sa nous les ajoute

Donc a la place de faire 100 - 15 sa nous fait 100 + 15

  • 1 month later...

Salut tout le monde !

D'abord merci au créateur de ce plugin (j'en avais besoin) et juste, j'ai installé gift.smx dans .../cstrike/addons/sourcemod/plugin , et gift.phrases.txt dans .../cstrike/addons/sourcemod/translation, et j'ai configuré le plugin_gift.cfg pour qu'on ait besoin du flag "p" pour etre VIP et j'ai activé tous les gift. Mais en jeu, quand je tape /gift, il ne ce passe absolument rien. coté console, ca me met que le plugin a crashé alors que ca fait 5 fois que je le réinstalle. HELP !!!

 

cordialement

Edited by cacaman

  • 1 month later...
  • Author

Prochainement je mettrais une dernière version de ce plugin a disposition, une version nettement plus avancée que celle-ci. Assez complète, customisable (ajout de gift assez simple si on sait un peu coder), et donc avec les sources.

Il faut juste que je récupère un serveur de test, et que je finis ce que j'ai commencé il y a de cela un moment (un ou 2 problèmes d'algo et ca devrait être opérationnel).

  • 8 months later...
  • 3 months later...

Bonjour,

 

Possibilité d'avoir le .sp pour une configurer sans avoir besoin de la cfg?

Cordialement,

Bonjour,

 

Car j'en aurais besoin pour changer la commande de base :/

a cause du store ? car le store, tu peux modifier la commande que tu utilises, ce serait plus simple. Si ce n'est pas pour ça, tu peux toujours faire un petit plugin avec une commande "cadeaux" qui appellera la commande "gift".

Comment modifier correctement le !store ? (pour la commande)

fichier gifting.cfg dans addons/sourcemod/configs/store/    :

"Gifting" 
{
    "gifting_commands"			"!cadeau /cadeau"
	"credits_choices"			"10 20 30 50 70 90 100 120 150 180 200 250 300 400 500 600 700 800 900 1000 1200 1400 1500 1600 1800 2000 3000 4000 5000 6000 7000 8000 9000 10000"
}

dac, merci tu pourrais voir ma demande vip (pas besoin de rep a ce message).

  • 6 months later...

Salut,

 

Déjà merci pour ton plugin mais il y a 2bug actuel ! Quand on a un malus de vie, on en gagne au lieu d'en perdre et la commande medik ne marche pas ! Merci d'essayer de corriger ceci :'P

 

Cordialement,

 

Had3s99

  • 6 months later...

J'aurais aimé ce plugin pour tout le monde à la place du vip, dommage ....

Edited by Takuro

C'est pas compliqué à modifier, suffit de rendre la commande publique en retirant les tests pour voir si un client est admin/root/vip.

 

 

 

 

 

Sent from my iPhone using Tapatalk

Non enfaîte elle est public ça va, le problème c'est que j'aimerais changer le tag des messages automatique, car [VIP] pas très cool :P

Ah tu veux juste retirer la balise [VIP] du chat ? C'est facile, il faut juste que tu me donne la liste des gifts que tu as actuellement.

  • 8 months later...

Merci ! :D

Edit : je peut pas le dl :(
 

Oups ! Quelque chose s'est mal passé !

 

[#10173]

Nous ne pouvons pas trouver la pièce jointe que vous avez tenté de voir.


Help ?

Edited by Eox

 

 

#include <sdktools>
#include <sourcemod>
#include <sdkhooks>
#include <colors>

#pragma semicolon 1

new gift[MAXPLAYERS+1]; /* création de la fonction gift qui prend en compte tout les joueurs sur le serveur*/
new medik[MAXPLAYERS+1];/* création de la fonction medik qui prend en compte tout les joueurs sur le serveur*/
new g_packhe[MAXPLAYERS+1]; /* création de la fonction packhe qui prend en compte tout les joueurs sur le serveur*/
new g_bKnife[MAXPLAYERS+1];
new bool:g_bCutdammage[MAXPLAYERS+1] = false; 

public Plugin:myinfo = 
{
	name = "Gift",
	author = "Dertione",
	description = "Plugin Gift",
	version = "0.5",
	url = "http://forum.supreme-elite.fr"
}


public OnPluginStart()
{
	RegConsoleCmd("sm_gift", Command_Gift); /* création de la commande gift */
	RegConsoleCmd("sm_medik", Command_Medik);/* création de la commande medik */
	RegConsoleCmd("sm_packhe", Command_PackHe); /* création de la commande packhe */
	
	HookEvent("player_spawn", OnPlayerSpawn); /*partie qui se passe à chaque spawn d'un joueur */
	
	for (new client = 1; client <= MaxClients; client++) /* ca oublie pour l'instant ^^ */
        {
                if (IsClientInGame(client))/* ca oublie pour l'instant ^^ */
                {
                        SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);/* ca oublie pour l'instant ^^ */
                }
        } 
}

public OnClientPutInServer(client) /* fonction s'executant quand un joueur se connecte sur le serveur */
{
  if (client > 0)
{
  SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);  /* ca oublie pour l'instant ^^ */
}
}


public OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast) /*partie qui se passe à chaque spawn d'un joueur */
{
	new client = GetClientOfUserId(GetEventInt(event, "userid")); /* on récupere le steam id d'un joueur */
	g_bCutdammage[client] = false; 
	medik[client]=0;  /* on autorise la commande gift 0 fois */
	g_packhe[client]=0; /* on autorise la commande gift 0 fois */
	g_bKnife[client]=0; /* on autorise la commande gift 0 fois */
	if (GetUserFlagBits(client) & ADMFLAG_CUSTOM6 || GetUserFlagBits(client) & ADMFLAG_BAN) /* si le joueur est admin ou vip, on fait ce que ce passe entre parenthese sinon on passe a la suite*/
	{
		CPrintToChat(client, " {green}[VIP] : Vous pouvez taper !gift."); /* ecrit au joueur seulement*/
		gift[client] = 1; /* on autorise la commande gift 1 fois */
	}
}

public Action:Command_Gift(client, args) /* commande gift*/
{
	if ((GetUserFlagBits(client) & ADMFLAG_CUSTOM6 || GetUserFlagBits(client) & ADMFLAG_BAN)&&IsPlayerAlive(client))
	{
		if (gift[client] > 0) /* si gift =1 ou est superieur alors on autorise la commane*/
		{
			new bonus = GetRandomInt(1, 200); /* on met un nombre au hasard dans le variable bonus entre 1 et 200*/
			new team = GetClientTeam(client);
			if(team==2||team==3) /* si le joueurs est en anti ou en terro */
			{
					if(bonus<=10)  // si le nombre tiré au hasard est inférieur ou égal a 10 sinon on passe au "else if" ligne 84
					{
							new health = GetClientHealth(client); /* on prend le valeur de la vie du joueur*/
							new nowhealth = health + 15; /* on lui ajoute 15 */
							SetEntityHealth(client, nowhealth); /* on applique la nouvelle vie donc on ajoute 15 Hp */
							CPrintToChat(client, " {green}[VIP] : Vous avez gagner 15 HP.");
							gift[client]--; /* gift ne sera plus utilisable */
							return Plugin_Handled;
					}
				
					else if (bonus<=20) // si le nombre tiré au hasard est inférieur ou égal a 20 sinon on passe au "else if" ligne 94
					{
						new health = GetClientHealth(client);
						new nowhealth = health - 15;
						SetEntityHealth(client, nowhealth);
						CPrintToChat(client, " {green}[VIP] : Vous avez perdu 15 HP.");
						gift[client]--;
						return Plugin_Handled;
					}
				
					else if (bonus<=30)  // si le nombre tiré au hasard est inférieur ou égal a 30  sinon on passe au "else if" ligne 105
					{
						GivePlayerItem(client, "weapon_awp"); /* on donne un usp a un joueur */
						SetWeaponAmmo(client, 7); /* on lui donne 7 balles */
						SetWeaponClipAmmo(client, 2, 0); /* 0 balle dans le chargeur */
						medik[client]=1; /* la commande medik est utilisable */
						CPrintToChat(client, " {green}[VIP] : Vous avez gagner 1 USP et un !medik.");
						gift[client]--;
						return Plugin_Handled;
					}
				
					else if (bonus<=38)  // si le nombre tiré au hasard est inférieur ou égal a 38 sinon on passe au "else if" ligne 115
					{
						g_packhe[client]=1;/* la commande packhe est utilisable */
						medik[client]=1;/* la commande medik est utilisable */
						CPrintToChat(client, " {green}[VIP] : Vous avez gagner un !packhe et un !medik.");
						gift[client]--;
					
						return Plugin_Handled;
					}
				
					else if (bonus<=55)  // si le nombre tiré au hasard est inférieur ou égal a 55  sinon on passe au "else if" ligne 123
					{
						CPrintToChat(client, " {green}[VIP] : Vous avez gagner un cut oneshoot.");
						gift[client]--;
						g_bCutdammage[client] = true; 
						return Plugin_Handled;
					}
				
					else if (bonus<=60)  // si le nombre tiré au hasard est inférieur ou égal a 60  sinon on passe au "else if" ligne 134
					{
						new Float:speed = GetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue"); /* on prend la valeur de la vitesse du joueur */
						new Float:nowspeed = speed + 0.1; /* on lui ajoute 0.1 donc normalement 1+0.1 */
						
						SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", nowspeed); /* on applique cette nouvelle vitesse */
						CPrintToChat(client, " {green}[VIP] : Vous avez gagner de la vitesse pendant 15sec.");
						gift[client]--;
						CreateTimer(15.0, Timer_Gift_speed2, client) ; /* au bout de 15 secondes, on execute ce qui a dans le fonction timer_gift_speed2 */
						return Plugin_Handled;
					}
					else if (bonus<=65)  // si le nombre tiré au hasard est inférieur ou égal a 65  sinon on passe au "else if" ligne 145
					{
						new Float:speed = GetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue");
						new Float:nowspeed = speed - 0.1;
						
						SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", nowspeed);
						CPrintToChat(client, " {green}[VIP] : Vous avez gagner de la vitesse pendant 15sec.");
						gift[client]--;
						CreateTimer(15.0, Timer_Gift_speed1, client) ;
						return Plugin_Handled;
					}
					else if (bonus<=75)  //// si le nombre tiré au hasard est inférieur ou égal a 75  sinon on passe au "else" ligne 152
					{
						CPrintToChat(client, " {green}[VIP] : Vous avez gagner 3 lancer de couteau.");
						g_bKnife[client]=3;
						gift[client]--;
						return Plugin_Handled;
					}
					else  //sinon
					{
						CPrintToChat(client, " {green}[VIP] : Pas de chance vous avez perdu !.");
						gift[client]--;
					}
			}
			else
			{
				CPrintToChat(client, " {green}[VIP] : Erreur le plugin ne fonctionne que pour les terroristes.");
			}	
		}
		
		else  // si le gift =0
		{
			CPrintToChat(client, " {green}[VIP] : Vous avez déjà utilisé votre !gift.");
				
			return Plugin_Handled;
		}
	}
	
	else  // si la personn est morte ou non-vip
	{
		CPrintToChat(client, " {green}[VIP] : Vous devez etre vivant ou vip.");
		
		return Plugin_Handled;
	}
	return Plugin_Continue;
}


public Action:Command_Medik(client, args)
{
	if(medik[client]==1)
	{
		new health = GetClientHealth(client);
		if(health>=70)
		{
			CPrintToChat(client, " {green}[VIP] : Vous avez deja plus de 70 Hp.");
			return Plugin_Handled;
		}
		else
		{
		new nowhealth = health + 40;
		SetEntityHealth(client, nowhealth);
		CPrintToChat(client, " {green}[VIP] : Vous avez gagner 40 Hp.");
		medik[client]=0;
		return Plugin_Handled;
		}
	}
	else
	{
		CPrintToChat(client, " {green}[VIP] : Vous n'avez pas acces a cette commande.");
		return Plugin_Handled;
	}
	return Plugin_Continue;
}

public Action:Timer_Gift_speed1(Handle:timer, any:client) /* en gros on remet la vitesse initiale */
{
	new Float:speed1 = GetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue");
	new Float:nowspeed1 = speed1 + 0.1;
	SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", nowspeed1);
	CPrintToChat(client, " {green}[VIP] : Vous avez perdu votre bonus vitesse !");
}  

public Action:Timer_Gift_speed2(Handle:timer, any:client) /* en gros on remet la vitesse initiale */
{
	new Float:speed1 = GetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue");
	new Float:nowspeed1 = speed1 - 0.1;
	SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", nowspeed1);
	CPrintToChat(client, " {green}[VIP] : Vous avez perdu votre bonus vitesse !");
}  



public Action:Command_PackHe(client, args)
{
	if ((GetUserFlagBits(client) & ADMFLAG_CUSTOM6 || GetUserFlagBits(client) & ADMFLAG_BAN)&&IsPlayerAlive(client))
	{
		if(g_packhe[client]==1)
		{
			CPrintToChat(client, " {green}[VIP] : Vous avez gagné un pack HE !");
			GivePlayerItem(client, "weapon_hegrenade"); /* on donne les trois grenade */
			GivePlayerItem(client, "weapon_flashbang");
			GivePlayerItem(client, "weapon_smokegrenade");
			g_packhe[client]=0;
			return Plugin_Handled;
		}
		else
		{
			CPrintToChat(client, " {green}[VIP] : Vous n'avez pas accès à cette commande !");
			return Plugin_Handled;
		}
	}
	else
	{
		CPrintToChat(client, " {green}[VIP] : Il faut etre vip pour utiliser cette commande !");
		return Plugin_Handled;
	}
	return Plugin_Continue;
}
			
	
stock SetWeaponClipAmmo(client, slot, ammo)
{
new ammoOffset = FindSendPropInfo("CCSPlayer", "m_iAmmo");
return SetEntData(client, ammoOffset+(slot*4), ammo);
}

stock SetWeaponAmmo(client, ammo)
{
new iWeapon = GetEntDataEnt2(client, FindSendPropInfo("CCSPlayer", "m_hActiveWeapon"));
SetEntData(iWeapon, FindSendPropInfo("CBaseCombatWeapon", "m_iClip1"), ammo);
}	
	
public OnClientDisconnect(client)
{
        if ((client > 0) && (IsClientInGame(client)))
        {
                        SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
        }
}
	
	
	
	
	
	
	
	
	
	
	
	 

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.