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.

Featured Replies

Bonjour,

J'ai eu une petite idée, pourquoi pas mettre un système de contrat pour les terroristes, en début de round, les terros qui le souhaitent peuvent mettre des crédits sur la tête d'un CT, il y a une alerte pour les terros et le 1er qui tue le ct en question gagne les crédits.

Non.

Sa encouragerait le côté FFA qu'on est en train de démolir en partie admin actuellement :)

Et les CT devront chercher le frag pour absolument pas mourir , car oui, ils vont jouer leur vie pour pas donner ce plaisir aux terro de gagner des crédits.

Ca avait déjà été proposé.

 

De toute façon pour l'instant on a trop de truc à faire ^^

Pour aussi, mais faudrait que seul les terros puissent voir sur qui est le contrat, sinon, le ct va tryhard.

Si jamais l'idée doit voir le jour, ça ne sera pas pour tout de suite du tout. Et en soit, ce genre de contrat se fait déjà en canal T :P

  • Author

Oui y a déjà le même principe en canal T, donc juste histoire d'officialisé la chose, et de permettre un truc plus clean !

Oui y a déjà le même principe en canal T, donc juste histoire d'officialisé la chose, et de permettre un truc plus clean !

 

Le plugin ! Le plugin !

Totalement contre..

C'est déjà assez compliqué de jouer en CT, si en plus on rajoute ça ... plus personne ne voudra aller en CT, les joueurs préféreront jouer terro pour tenter de gagner des crédits supplémentaire.

 

Et de savoir qu'on a fait gagner des crédits à celui qui nous a tué, cela va encore augmenter la frustration de CTs.

Ca avait déjà été proposé.

 

De toute façon pour l'instant on a trop de truc à faire ^^

Oui j'avais proposer l'idée sous une autre forme

 

Des missions qui consiste, genre vous devez pas infliger de dégâts pendant tous le round et vous gagnerais 1000 credits 

 

Plein de mission comme sa !

Wazaaa, je t'ai déjà dit mainte et mainte fois que tes problèmes d'ordre privée doivent resté chez toi...

Jme faisais chier donc pour le fun, j'en ai codé un avec trois défi lol.

Voici le code ci-dessous ainsi qu'en pièce jointe l'environnement compilable.

Ça m'a pris une petite heure sans test sur serveur réel.

 

 

//Initialisation des librairies
#include <morecolors>
#include <sdktools>
#include <sdkhooks>
#include <cstrike>
#include <smlib>
#include <store>

//Donne un nom a un nombre pour une meilleur compréhension du code par la suite
#define terrorist 			2
#define counterTerrorist 	3

new Handle:g_hTimerContrat[MAXPLAYERS+1];
new Handle:g_hNoDrug[MAXPLAYERS+1];
new Handle:g_hTimerReset;
new	IsInDefiDrug[MAXPLAYERS+1];
new	IsInDefiNoDam[MAXPLAYERS+1];
new	IsInDefiSuicide;
new rd;
new Float:decompte;

//Information sur le plugin et son auteur
public Plugin:myinfo =
{
	name = "Contrat For SE",
	description = "JailBreak Mod",
	author = "Dertione",
	version = "0.1",
	url = "http://forum.supreme-elite.fr"
};

public OnPluginStart()
{
	// Création de l'évenement quand une personne spawn en debut de map
	HookEvent("player_spawn", Event_PlayerSpawn, EventHookMode:1);
	HookEvent("round_start", Event_RoundStart, EventHookMode:1);
	HookEvent("round_end", Event_RoundEnd, EventHookMode_Pre);
	HookEvent("player_hurt", Event_PlayerHurt);
	HookEvent("player_death", Event_PlayerDeath);
	RegConsoleCmd("sm_yes", CMD_yes);
}

public Action:Event_RoundStart(Handle:event, String:name[], bool:dontBroadcast)
{
	rd = 0;
	decompte = 65.0;
	rd = GetRandomInt(1, 100);
	for (new client = 1; client <= GetMaxClients(); client ++)
	{
		IsInDefiDrug[client] = 0;
		IsInDefiNoDam[client] = 0;
		IsInDefiSuicide = 0;
		g_hTimerContrat[client] = INVALID_HANDLE;
		g_hNoDrug[client] = INVALID_HANDLE;
	}
	
	g_hTimerReset = CreateTimer(1.0, TimerReset , TIMER_REPEAT);
	
}

public Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
	for (new client = 1; client <= GetMaxClients(); client ++)
	{
		if (IsClientConnected(client) && IsClientInGame(client))
		{
			if(IsPlayerAlive(client) && IsInDefiNoDam[client] == 1)
			{
				PrintToChat(client,"{red}[DEFI]{green} Tu as réussi le défi belge !");
				//On donne 20 crédits
				GiveCredit(client, 20);
			}
		}
	}
}

public Action:Event_PlayerSpawn(Handle:event, String:name[], bool:dontBroadcast)
{
	//Création de la variable client pour pouvoir effectuer des actions sur une personne précise
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	CPrintToChat(client,"{red}[DEFI]{green} Tape !defi pour connaître le défi en cours");
	CPrintToChat(client,"{red}[DEFI]{green} Il se lancera dans une minute !");
	//Initialise un timer qui se lancera dans 60 secondes
	g_hTimerContrat[client] = CreateTimer(decompte, TimerContrat , client);
}


public Action:TimerContrat(Handle:timer, any:client)
{
	if (IsClientConnected(client))
	{
		if(rd <=10)
		{
			CPrintToChat(client,"{red}[DEFI]{green} Défi drogué, Tape !yes et essaye de survivre 1 minutes en étant drogué si tu réussi, tu gagnes 40 crédits sinon tu en perds 40 !");
			//Le defi est lancé donc on met à 1
			IsInDefiDrug[client] = 1;
		}
		else if(rd <= 40)
		{
			CPrintToChat(client,"{red}[DEFI]{green} Défi belge, gn'infligue aucun dégat pendant toutes la durée du Round et gagne 20 crédits !");
			IsInDefiNoDam[client] = 1;
		}
		else if(rd<=70)
		{
			CPrintToChat(client,"{red}[DEFI]{green} Défi Carnage, Le premier qui se suicide gagne 100 crédits !");
			IsInDefiSuicide = 1;
		}
		else
		{
			CPrintToChat(client,"{red}[DEFI]{green} Dommage pas de défi pour aujourd'hui  !");
		}
	}

	if (g_hTimerContrat[client] != INVALID_HANDLE)
	{
		KillTimer(g_hTimerContrat[client]);
		g_hTimerContrat[client] = INVALID_HANDLE;
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////          DEFI DRUG        ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
public Action:CMD_yes(client, args)
{
	//On drogue la personne pendant 1 minute
	//Le defi est accepté donc on met à 2
	if(IsInDefiDrug[client] == 1)
	{
		IsInDefiDrug[client] = 2;
		ServerCommand("sm_drug #%d", GetClientUserId(client));
		g_hNoDrug[client] = CreateTimer(60.0, TimerNoDrug, client);
	}
	else if (IsInDefiDrug[client] == 2)
	{
		PrintToChat(client,"{red}[DEFI]{green} Le defi drug est déjà en cours !");
	}
	else
	{
		PrintToChat(client,"{red}[DEFI]{green} Le defi drug n'est pas lancé ce round");
	}
}

public Action:TimerNoDrug(Handle:timer, any:client)
{
	if (IsClientConnected(client))
	{
		if(IsPlayerAlive(client) && IsInDefiDrug[client] == 2)
		{
			//on lui donne 40 crédits
			GiveCredit(client, 40);
		}
		else if(IsInDefiDrug[client] == 2)
		{
			//on lui enleve 40 crédits
			GiveCredit(client, -40);
		}
		ServerCommand("sm_drug #%d", GetClientUserId(client));
	}
	if (g_hNoDrug[client] != INVALID_HANDLE)
	{
		KillTimer(g_hNoDrug[client]);
		g_hNoDrug[client] = INVALID_HANDLE;
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////      FIN DEFI DRUG        ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////

//-----------------------------------------------------------------------------------------//

/////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////       DEFI NO DAMAGE      ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////

public Event_PlayerHurt(Handle:event, const String:name[], bool:dontBroadcast)
{
	new attacker = GetClientOfUserId(GetEventInt(event,"attacker"));
	if(attacker && IsPlayerAlive(attacker))
	{
		IsInDefiNoDam[attacker] = 0;
		PrintToChat(attacker,"{red}[DEFI]{green} En infligeant des dommages tu annules le défi no damage !");
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////     FIN DEFI NO DAMAGE     ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////

//-----------------------------------------------------------------------------------------//

/////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////        DEFI SUICIDE       ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////

public Action:Event_PlayerDeath(Handle:event, String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
	//attacker à 0 signifie que c'est la map qui l'a tué donc un suicide
	if(IsClientConnected(client) && IsInDefiSuicide == 1 && attacker == 0)
	{
		//on donne 100 crédits
		GiveCredit(client, 100);
		IsInDefiSuicide--;
	}
	else if(IsClientConnected(client) && IsInDefiSuicide == 0 && attacker == 0)
	{
		PrintToChat(client,"{red}[DEFI]{green} Tu t'es suicidé pour rien !");
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////       FIN DEFI SUICIDE     ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////

//-----------------------------------------------------------------------------------------//

public Action:TimerReset(Handle:timer) 
{
	if(decompte < 1)
	{
		decompte = 0.0;
		return Plugin_Stop;
	}
	else
	{
		decompte--;
		return Plugin_Continue;
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////        GIVE DE CREDIT      ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////

public GiveCredit(client, nbrCredit)
{
	new accid = Store_GetClientAccountID(client);
	new Handle:pack = CreateDataPack();
	WritePackCell(pack, GetClientSerial(client));
	WritePackCell(pack, nbrCredit);

	Store_GiveCredits(accid, nbrCredit, CreditsCallback, pack);
}

public CreditsCallback(accountId, any:pack)
{
	ResetPack(pack);
	new client = ReadPackCell(pack);
	new nbrCredit = ReadPackCell(pack);
	CloseHandle(pack);
	
	PrintToChat(client, "\x04[Store]\x01 Tu as bien reçu tes %d crédits !", nbrCredit);
}

/////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////      FIN GIVE DE CREDIT    ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////

 

 

 

scripting_1-7-3_DEFI.rar

c'est vraiment propre :o 

 

du coup c'est un défi aléatoire par personne ou c'est un défi en commun pour tout le monde ?

C'est plutôt lourd, les défis en plus désavantage les terros et donc reéquilibre le jeu

Perso j'ai rien compris, y'a quoi dans son codage comme défi ?

C'est plutôt lourd, les défis en plus désavantage les terros et donc reéquilibre le jeu

 

J'avoue, c'est chiant un jeu équilibré

Défi drogué, Tape !yes et essaye de survivre 1 minutes en étant drogué si tu réussi, tu gagnes 40 crédits sinon tu en perds 40

Défi belge, gn'infligue aucun dégat pendant toutes la durée du Round et gagne 20 crédits !

Défi Carnage, Le premier qui se suicide gagne 100 crédits !

Dommage pas de défi pour aujourd'hui :( !

Défi drogué, Tape !yes et essaye de survivre 1 minutes en étant drogué si tu réussi, tu gagnes 40 crédits sinon tu en perds 40

 

Bien le défis qui va se faire dans la jail ?

 

J'sais pas si y'a un temps qui a été donné pour quand ces défis seront activable, mais pour certain, sa serait bien que ça se fasse en plein milieu d'un round (comme celui-ci).

 

Défi belge, gn'infligue aucun dégat pendant toutes la durée du Round et gagne 20 crédits !

 

Valable aussi pour la DV ?

C'est des exemples après, on lui a pas demandé un truc précis donc voila 

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.