September 7, 2015, 10:39 am
Hellow,
Je lance une série de Tuto pour apprendre la base du Sourcepawn, ce tuto reprend les syntaxes de plugin jusqu'à la version de SM 1.6.4
Je ferrais suivre ces tutos avec les syntaxes 1.7.
Pour programmer dans n'importe quel language, il faut connaitre les différents types de variable.
Chaque variable à un rôle à jouer mais avant toute chose, répondons à la question suivante :
Qu'est qu'une variable ?
Une variable sert à stocker une donnée, que ce sois un chiffre entier, un chiffre à virguler, des caractères, ...
Comme dit au dessus, chaque variables à sont propre rôle pour stocker ses propres donnée.
Code:
Integer (int) :
Nombre entier (1 - 45 - 653 - 0 - 8651 - ...)
Float (Float) :
Nombre à virguer (1.218 - 8945.1 - 0.00001 - 865321.1 - ...)
String (string) :
Caractère ("toto" - "titi" - "Je suis une phrase" - "...")
Cette variable à chaine de caractère est limité celon sa taille
Boolean (bool) :
Celle-ci est particulière car on stock ce que l'ont appel une valeur boolean, ce n'est que "true" et "false"
0 et 1 fonctionne aussi (0 = false | 1 = true)
Handle :
Ce type de variable sont les plus complete, cela permet de stocker un "objet unique"
J'avoue que je ne sais pas trop comment expliquer, mais pour donner un visuel, cela permet de stocker un timer, un menu, un fichier, ...
Déclarer les variables:
Code PHP:
new variableA = 2;
new Float:variableB = 2.5:
new bool:variableC = true
new String:variableD[64] = "Je peu stocker 64 caractère dans cette variable";
new Handle:variableE;
Les variables peuvent contenir des tableaux :
Code PHP:
new variableA[32]; -> Peu contenir 32 donnée
new Float:variableB[3]; -> Peu contenir trois donnée de nombre à virgule
Exemple:
Code PHP:
new variableA[3] = {5, 4, 6};
Plus haut je vous parlais de variable à chaine de caractère, les variables string.
Ces variables doivent comporte un tableau :
Code PHP:
new String:message[6] = "abcde";
message[0] = 'a';
message[1] = 'b';
message[2] = 'c';
message[3] = 'd';
message[4] = 'e';
message[5] = 0;
Questionnaire :
Code:
1) Une variable de type string stock un nombre
> Vrais - Faux
2) Une variable integer se définie par true ou false
> Vrais - Faux
3) Un tableau commence par 0
> Vrais - Faux
4) La déclaration suivante est correcte : new message[12] = "Correct ?";
> Vrais - Faux
5) Le variable de type string son obliger d'avoir un tableau
> Vrais - Faux
Les réponses se trouve ici !
http://pastebin.com/UTFW2Y18
Je vous invite à mettre votre score :)
Il se peu que je me trompe dans mes explications, je suis quelqu'un de pratique et non de théorique, si je me trompe faite-le moi savoir, tout en étant constructif et non agressif ^^
↧
September 7, 2015, 10:44 am
Hellow,
Même tutos mais en syntaxe 1.7 :)
Chaque variable à un rôle à jouer mais avant toute chose, répondons à la question suivante : Qu'est qu'une variable ?
Une variable sert à stocker une donnée, que ce sois un chiffre entier, un chiffre à virguler, des caractères, ... Comme dit au dessus, chaque variables à sont propre rôle pour stocker ses propres donnée.
Code:
Integer (int) :
Nombre entier (1 - 45 - 653 - 0 - 8651 - ...)
Float (Float) :
Nombre à virguer (1.218 - 8945.1 - 0.00001 - 865321.1 - ...)
Char (char) :
Caractère ("toto" - "titi" - "Je suis une phrase" - "...")
Cette variable à chaine de caractère est limité celon sa taille
Boolean (bool) :
Celle-ci est particulière car on stock ce que l'ont appel une valeur boolean, ce n'est que "true" et "false"
0 et 1 fonctionne aussi (0 = false | 1 = true)
Handle :
Ce type de variable sont les plus complete, cela permet de stocker un "objet unique"
J'avoue que je ne sais pas trop comment expliquer, mais pour donner un visuel, cela permet de stocker un timer, un menu, un fichier, ...
Déclarer les variables:
Code PHP:
int variableA = 2;
float variableB = 2.5:
bool variableC = true
char variableD[64] = "Je peu stocker 64 caractère dans cette variable";
Handle variableE;
Les variables peuvent contenir des tableaux :
Code PHP:
int variableA[32]; -> Peu contenir 32 donnée
float variableB[3]; -> Peu contenir trois donnée de nombre à virgule
Exemple:
Code PHP:
int variableA[3] = {5, 4, 6};
Plus haut je vous parlais de variable à chaine de caractère, les variables char. Ces variables doivent comporte un tableau :
Code PHP:
char message[6] = "abcde";
message[0] = 'a';
message[1] = 'b';
message[2] = 'c';
message[3] = 'd';
message[4] = 'e';
message[5] = 0;
Questionnaire :
Code:
1) Une variable de type char stock un nombre
> Vrais - Faux
2) Une variable integer se définie par true ou false
> Vrais - Faux
3) Un tableau commence par 0
> Vrais - Faux
4) La déclaration suivante est correcte : new message[12] = "Correct ?";
> Vrais - Faux
5) Le variable de type char son obliger d'avoir un tableau
> Vrais - Faux
Les réponses se trouve ici !
http://pastebin.com/UTFW2Y18
Je vous invite à mettre votre score
Il se peu que je me trompe dans mes explications, je suis quelqu'un de pratique et non de théorique, si je me trompe faite-le moi savoir, tout en étant constructif et non agressif ^^
↧
↧
September 7, 2015, 10:51 am
Hellow,
Dans le premier tutos on à vue les différents type de variable.
Dans celui-ci on vas voir les conditions d'existance.
Le tuto est petit car il n'y à pas énormément à apprendre.
Explications:
Les conditions d’existence servent à faire des véricitations, tels que vérifier si le joueur est en vie, si il est dans l'équipe CT ou T, ...
En d'autre terme c'est le "Si - Sinon - Ou - ..." mais en language de dev.
Dans chaque language ils sont pareil, du moins pour deux d'entre eux :
Les conditions :
Code:
if : Si
else : Sinon (Je sais pas trop comment le définir, je vous metterais un exemple en dessous)
&& : Et
|| : Ou
> : Plus grand
< : Plus petit
== : Égale
! : Contraire
Vous pouvez les complémenter entre eux :
Code:
>= : Plus grand ou égale
<= : Plus petit ou égale
else if : Sinon si (Encore un exemple en dessous pour mieux comprendre)
Exemple :
Code PHP:
#include <sourcemod>
public OnPluginStart()
{
RegConsoleCmd("sm_test", Command_Test);
}
public Action:Command_Test(client, args)
{
if(!IsPlayerAlive(client))
PrintToChat(client, "Vous n'êtes pas en vie");
if(IsPlayerAlive(client))
PrintToChat(client, "Vous êtes en vie");
if(GetClientTeam(client) == 2)
PrintToChat(client, "Vous êtes Terro");
else if(GetClientTeam(client) == 3)
PrintToChat(client, "Vous êtes CT");
else
PrintToChat(client, "Vous êtes ni Terro ni CT");
if(GetClientTeam(client) > 1)
PrintToChat(client, "Vous n'êtes pas spectateur");
}
Code PHP:
#include <sourcemod>
public void OnPluginStart()
{
RegConsoleCmd("sm_test", Command_Test);
}
public Action Command_Test(int client, int args)
{
if(!IsPlayerAlive(client))
PrintToChat(client, "Vous n'êtes pas en vie");
if(IsPlayerAlive(client))
PrintToChat(client, "Vous êtes en vie");
if(GetClientTeam(client) == 2)
PrintToChat(client, "Vous êtes Terro");
else if(GetClientTeam(client) == 3)
PrintToChat(client, "Vous êtes CT");
else
PrintToChat(client, "Vous êtes ni Terro ni CT");
if(GetClientTeam(client) > 1)
PrintToChat(client, "Vous n'êtes pas spectateur");
}
Contentez-vous sur les conditions, le reste du charabia on y viendras bientôt.
Questionnaire :
Code:
1) if peu se complémenter avec >=
2) || signifie "et"
3) !& est une condition correct
4) else if est une condition correct
5) Une condition se fait obligatoirement dans un if
Réponses :
http://pastebin.com/3g6QjqiM
Je vous invite à mettre votre score ![]()
Il se peu que je me trompe dans mes explications, je suis quelqu'un de pratique et non de théorique, si je me trompe faite-le moi savoir, tout en étant constructif et non agressif ^^
↧
September 7, 2015, 11:05 am
Hellow,
Troisième tuto pour dev en Sourcepawn.
Ici nous allons apprendres les fonctions.
#Attentions, sans connaitres comment compiler un plugin en locale ça ne vous serviras pas (Un tutos de compilations arrive).
Explications :
Les fonctions sont les bases dans un languages de programation, ce sont les mots qui permettent de faire différentes choses.
Elles sont définis par leur languages mais des extentions, includes, ... peuvent en apporter bien plus.
Dans le Sourcepawn une fonction est appeller par une include (principalement !).
Une include est une librairie de fonction, ça permet aussi de moduler un plugin, mais nous verront ça bien bien après.
Pour inclure un librairie de fonction nous devons dire au plugins de lire l'include, ce n'est pas compliquers.
Ici nous allons utiliser l'include sdktools qui permet de donner une arme, ...
Code PHP:
#include <sdktools>
Voilà, le plugins sais que il dois lire l'include sdktools
Nous allons désormais créé un plugin qui permetteras de donner un deagle, c'est simple.
Nous allons utiliser :
Code:
OnPluginStart : Appeller quand le plugins se lance
RegConsoleCmd : Définis une commande console (! et / dans le chat OU sm_ dans la console)
GivePlayerItem : Permet de donner une arme (un item)
IsClientInGame : Permet de vérifier si le joueur est en jeu
IsClientConnected : Permet de vérifier si le joueur est connecter
IsPlayerAlive : Permet de vérifier si le joueur est en vie
PrintToChat : Envois un message dans le chat à l'index du client demander
GetClientTeam : Permet de reprendre la team de l'index du client demander
Dans certaines fonctions nous allons utiliser se que on appel un CallBack.
Le CallBack est simplement l'appellation de se que dois faire la fonction.
Fonction = Maman | CallBack = Enfant (En très gros c'est ça).
Pour pouvoir donner une arme nous avons besoin de l'include sdktools et de définir la commande quand le plugins se lance
Code PHP:
#include <sdktools>
public OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
Vous avez surement remarquer que dans le RegConsoleCmd nous avons se que nous appellons des arguments.
Le premier arguments est la commande qui permet d'appeller le callback (sm_deagle dans la console ou !deagle dans le chat ou /deagle dans le chat).
Le deuxième argument est le nom du CallBack de la commande, nous aurions pus l'appeller CallBackDeLaCommandeDeagle, mais le CallBack appeller doit porter le même nom, sinon ça ne marche pas.
Le troisième argument est lexplication de la commande dans le sm_help (Perso je l'utilise jamais).
Maintenant nous devons appeler le callback de la commande
Code PHP:
#include <sdktools>
public OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action:Command_Deagle(client, args)
{
}
Ici commence la complication : (client, args)
Ce sont les arguments demander quand vous définisser une commande.
La variable client permet de définir le joueur qui tape la commande, l'arguments args c'est le nombre d'argument après la commande :
!deagle toto prout caca auras trois arguments.
#Informations : Vous pouvez nommer les variables comme vous avez envie
Maintenant nous allons vérifie que le joueur est connecter et en jeu. Cela évite d'avoir un message dans les logs du genre
"Index clients XXX is invalid"
Pour cela nous allons utiliser les conditions dexistence (Tuto #2)
Code PHP:
#include <sdktools>
public OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action:Command_Deagle(client, args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
}
}
Nous vérifions maintenant que sont équipe est supérieur celle des CT sinon on lui dit qu'il est en CT
Code PHP:
#include <sdktools>
public OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action:Command_Deagle(client, args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
if(GetClientTeam(client) > 1)
{
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en spectateur");
}
}
}
On vérifie qu'il est en vie sinon on lui dit qu'il est mort
Code PHP:
#include <sdktools>
public OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action:Command_Deagle(client, args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
if(GetClientTeam(client) > 1)
{
if(IsPlayerAlive(client))
{
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en étant mort");
}
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en spectateur");
}
}
}
Et on donne le deagle si il est en vie
Code PHP:
#include <sdktools>
public OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action:Command_Deagle(client, args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
if(GetClientTeam(client) > 1)
{
if(IsPlayerAlive(client))
{
GivePlayerItem(client, "weapon_deagle");
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en "étant mort");
}
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en spectateur");
}
}
}
Voilà, le plugin est coder, mais il y a un problème, si le joueur à déjà une arme secondaire (un petit gun) ça donneras l'arme à terre et la commande peut-être flood.
Pour cela nous allons faire une vérification, et si il à déja un gun on lui retire.
Pour faire tout cela nous allons avoir besoin de l'include <cstrike>
Nous allons utiliser :
GetPlayerWeaponSlot : Permet de reprendre une arme de l'index du client utiliser
CS_SLOT_SECONDARY : Define défini par l'include cstrike (nous verrons les defines plus tard)
RemovePlayerItem : Permet de retirer l'item d'un joueur
Nous allons créé une nouvelle variable nommer weapon et y stocker l'arme secondaire :
Si ce n'est pas vide (au dessus de -1) on donne l'arme, sinon on la remove et on la donne
Code PHP:
#include <sdktools>
#include <cstrike>
public OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action:Command_Deagle(client, args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
if(GetClientTeam(client) > 1)
{
if(IsPlayerAlive(client))
{
new weapon = GetPlayerWeaponSlot(client, CS_SLOT_SECONDARY)
if(weapon != -1)
{
RemovePlayerItem(client, weapon);
GivePlayerItem(client, "weapon_deagle");
}
else
{
GivePlayerItem(client, "weapon_deagle");
}
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en "étant mort");
}
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en spectateur");
}
}
}
Pour les fonctions vous pouvez aussi les créés tout commes les includes.
La création d'une fonction se fais simplement :
Code PHP:
stock SetClientSpeed(client, Float:amount)
{
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", amount);
}
Je passe le questionnaire pour ce tutos, j'ai pas trop d'idée ^^"
↧
September 7, 2015, 11:08 am
Hellow,
Troisième tuto pour dev en Sourcepawn.
Ici nous allons apprendres les fonctions.
#Attentions, sans connaitres comment compiler un plugin en locale ça ne vous serviras pas (Un tutos de compilations arrive).
Explications :
Les fonctions sont les bases dans un languages de programation, ce sont les mots qui permettent de faire différentes choses.
Elles sont définis par leur languages mais des extentions, includes, ... peuvent en apporter bien plus.
Dans le Sourcepawn une fonction est appeller par une include (principalement !).
Une include est une librairie de fonction, ça permet aussi de moduler un plugin, mais nous verront ça bien bien après.
Pour inclure un librairie de fonction nous devons dire au plugins de lire l'include, ce n'est pas compliquers.
Ici nous allons utiliser l'include sdktools qui permet de donner une arme, ...
Code PHP:
#include <sdktools>
Voilà, le plugins sais que il dois lire l'include sdktools
Nous allons désormais créé un plugin qui permetteras de donner un deagle, c'est simple.
Nous allons utiliser :
Code:
OnPluginStart : Appeller quand le plugins se lance
RegConsoleCmd : Définis une commande console (! et / dans le chat OU sm_ dans la console)
GivePlayerItem : Permet de donner une arme (un item)
IsClientInGame : Permet de vérifier si le joueur est en jeu
IsClientConnected : Permet de vérifier si le joueur est connecter
IsPlayerAlive : Permet de vérifier si le joueur est en vie
PrintToChat : Envois un message dans le chat à l'index du client demander
GetClientTeam : Permet de reprendre la team de l'index du client demander
Dans certaines fonctions nous allons utiliser se que on appel un CallBack.
Le CallBack est simplement l'appellation de se que dois faire la fonction.
Fonction = Maman | CallBack = Enfant (En très gros c'est ça).
Pour pouvoir donner une arme nous avons besoin de l'include sdktools et de définir la commande quand le plugins se lance
Code PHP:
#include <sdktools>
public void OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
Vous avez surement remarquer que dans le RegConsoleCmd nous avons se que nous appellons des arguments.
Le premier arguments est la commande qui permet d'appeller le callback (sm_deagle dans la console ou !deagle dans le chat ou /deagle dans le chat).
Le deuxième argument est le nom du CallBack de la commande, nous aurions pus l'appeller CallBackDeLaCommandeDeagle, mais le CallBack appeller doit porter le même nom, sinon ça ne marche pas.
Le troisième argument est lexplication de la commande dans le sm_help (Perso je l'utilise jamais).
Maintenant nous devons appeler le callback de la commande
Code PHP:
#include <sdktools>
public void OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action:Command_Deagle(client, args)
{
}
Ici commence la complication : (client, args)
Ce sont les arguments demander quand vous définisser une commande.
La variable client permet de définir le joueur qui tape la commande, l'arguments args c'est le nombre d'argument après la commande :
!deagle toto prout caca auras trois arguments.
#Informations : Vous pouvez nommer les variables comme vous avez envie
Maintenant nous allons vérifie que le joueur est connecter et en jeu. Cela évite d'avoir un message dans les logs du genre
"Index clients XXX is invalid"
Pour cela nous allons utiliser les conditions dexistence (Tuto #2)
Code PHP:
#include <sdktools>
public void OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action Command_Deagle(int client, int args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
}
}
Nous vérifions maintenant que sont équipe est supérieur celle des CT sinon on lui dit qu'il est en CT
Code PHP:
#include <sdktools>
public void OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action Command_Deagle(int client, int args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
if(GetClientTeam(client) > 1)
{
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en spectateur");
}
}
}
On vérifie qu'il est en vie sinon on lui dit qu'il est mort
Code PHP:
#include <sdktools>
public void OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action Command_Deagle(int client, int args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
if(GetClientTeam(client) > 1)
{
if(IsPlayerAlive(client))
{
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en étant mort");
}
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en spectateur");
}
}
}
Et on donne le deagle si il est en vie
Code PHP:
#include <sdktools>
public void OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action Command_Deagle(int client, int args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
if(GetClientTeam(client) > 1)
{
if(IsPlayerAlive(client))
{
GivePlayerItem(client, "weapon_deagle");
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en "étant mort");
}
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en spectateur");
}
}
}
Voilà, le plugin est coder, mais il y a un problème, si le joueur à déjà une arme secondaire (un petit gun) ça donneras l'arme à terre et la commande peut-être flood.
Pour cela nous allons faire une vérification, et si il à déja un gun on lui retire.
Pour faire tout cela nous allons avoir besoin de l'include <cstrike>
Nous allons utiliser :
GetPlayerWeaponSlot : Permet de reprendre une arme de l'index du client utiliser
CS_SLOT_SECONDARY : Define défini par l'include cstrike (nous verrons les defines plus tard)
RemovePlayerItem : Permet de retirer l'item d'un joueur
Nous allons créé une nouvelle variable nommer weapon et y stocker l'arme secondaire :
Si ce n'est pas vide (au dessus de -1) on donne l'arme, sinon on la remove et on la donne
Code PHP:
#include <sdktools>
#include <cstrike>
public void OnPluginStart()
{
RegConsoleCmd("sm_deagle", Command_Deagle, "Commande qui permet de donner un deagle");
}
public Action Command_Deagle(int client, int args)
{
if(IsClientInGame(client) && IsClientConnected(client))
{
if(GetClientTeam(client) > 1)
{
if(IsPlayerAlive(client))
{
int weapon = GetPlayerWeaponSlot(client, CS_SLOT_SECONDARY)
if(weapon != -1)
{
RemovePlayerItem(client, weapon);
GivePlayerItem(client, "weapon_deagle");
}
else
{
GivePlayerItem(client, "weapon_deagle");
}
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en "étant mort");
}
}
else
{
PrintToChat(client, "Vous ne pouvez pas utiliser la commande en spectateur");
}
}
}
Pour les fonctions vous pouvez aussi les créés tout commes les includes.
La création d'une fonction se fais simplement :
Code PHP:
stock void SetClientSpeed(client, float amount)
{
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", amount);
}
Je passe le questionnaire pour ce tutos, j'ai pas trop d'idée ^^"
↧
↧
September 7, 2015, 11:31 am
Hello,
Je vous présente SP-Edit ! :)
C'est un IDE pour le Sourcepawn :)
Il vous permettras plus facilement de dev sur SM, personnellement j'ai eu du mal à me défaire de ma coloration syntaxique perso de Notpad++ mais on s'y fais, de-plus se qu'il permet de faire est asse sympathique, je ne dirais pas un gains de temps MAIS si comme moi vous tester énormément de chose, il vous permettras de pas vous ennuyer avec un client FTP ^^
La liste de se que propose cet IDE est juste énorme !
Entre la compilation automatique, la décompilation basé sur Lysis, la coloration syntaxique personnalisable, possibilité de faire différente configuration de compilation, l'upload FTP, l'auto completion, et j'en passe !
Il permet de gagner un gain de temps asse considérable, et si vous êtes un gros flemard de base comme moi, bah c'est se qu'il vous faut ^^
> Notpad++ avec des extentions pourras faire pareil, mais ici c'est exprès créé pour le Sourcepawn.
J'oubliais, anciennes syntaxe ou nouvelle syntaxe, il vous le demande :p
Poste original :
https://forums.alliedmods.net/showthread.php?t=259917
↧
September 8, 2015, 2:59 am
Bonjour , voilà j'ai un soucis pour le plugins MObArena ..
Le plugin fonctionne très bien mais le problème c'est que je deviens invincible , plus de dégâts de chute ...Les monstres ne me font plus de dégats ...
Ce qui est un soucis ...
Merci d' avance de vos réponses .
Cordialement
martinez11
↧
September 5, 2015, 7:05 am
Ileos
N'avez vous jamais rever de vivre durant l'epoque romaine.Vivre une epopé unique t-elle maximus dans le film a succès Gladiator ou encore dans les séries Rome et Spartacus.Ceci est maintenant possible sur minecraft grace à notre serveur.
-Présentations:
-Nom:Ileos
-Type: RP
-époque :Rome-antique
-Nombre de slots: 20(pour le moment)
-White list: Oui
-Candidature: Oui
-Adresse IP: 194.105.153.179:25565
-Plugins: Oui, les meilleurs
-Mods : non
-Events: Oui
-Launcher: Non
-Difficulté : Normal
-Versions crackées acceptées: Non
Le serveur Ileos est un serveur RP basé sur un Background solide et un staff soudé et compétant qui a comme but de vous faire revivre une aventure durant la rome-antique. Vous commencerez en tant qu'esclave tout juste capturé sur les frontières romaines. Vous serez ensuite vendu comme esclave et devrez tenter de sortir de votre condition pour vous hisser aux plus hautes sphères de la societé et peut etre vous engager en politique. Pour cela vous disposerez de différentes voies dont vous seul être le maitre.
Saurez-vous vous vous montrez à la hauteur ?
Tenterez-vous laventure ?
Cest à vous de le démontrez, rejoignez-nous vite sur Ileos !
-Les Ressources :
Vous devrez vous déshabituer à la collecte de ressource traditionelle. Pour pouvoir les collecter vous devrez exercer dans une entreprises et avoir choisi la bonne voie professionnelle
- Avec ce système nous pouvons réguler le taux des minerais afin de les rendre plus précieux.
- Crée un aspect plus convivial
- Et fair que la collecte de ressources augmente l'immersion dans l'univers RP
Quand elles arrivent aux stade "vide", elles sont régénérées manuellement. Les minerais seront redéposés de façon aléatoire.
Il existe deux types de zones à ressource :
- Les mines
- Les espaces boisé
-Le Gameplay :
Lors de votre candidature, il vous sera demandé de choisir votre voie professionnelle(qui est un mécanisme unique du serveur expliqué en detail sur notre forum).
Il existe plusieurs métiers divisés en 3 voie professionnelles(artisanal,martial et économique...):
- A l'heure actuelle ils sont "fixes". Vous pourrez donc les trouver sur le forum. Vous pourrez en choisir autant que vous le voulez tant que vous avez les compétences pour.
- Les métiers vous permettent de crafter des objet liés à ceux-ci et de les vendre sans avoir de problème.
- Les métiers ne vous font pas gagner d'argent "magiquement", vous en gagnez uniquement à la vente ou lorsque vous êtes payé par votre employeur.
Vous pourrez par la suite vivre l'aventure selon vos envies, par exemple :
- Partir à l'aventure, explorer
- Devenir un riche marchand
- Devenir un légionnaire
- Devenir Gladiateur (ce métiers est encore en créations et le sera encore pendant la sortie)
- Devenir consul au scénat
- Devenir leader d'un partis politique
- Devenir une légende
- Etc
Pour ce qui est des combats ils seront gérés de manière Role-Play.S'est a dire que le PVP sauvage ne sera pas admis.
-L'équipe Staff:
-Kost
-minimull
-pipohaiti
-Ourt
-L'Histoire :
La création d'Ileos est le fruit de nombreuses histoires, de personnes qui par leurs actions, leurs faits glorieux on pu faire éclore cette ville. Ses exploits vous seront conté au fil de nos histoires. Notre récit sur la création d'Ileos remonte à la Deuxième Guerre Punique lors du conflit qui opposa la république romaine à Carthage et son talentueux général Hannibal Barca, cette bataille sétend des années 218 à 201 av. J.-C et qui sera suivi par les differantes aventures des familles Varro,Domiti qui joueront un role important dans la fondations de cette colonnie.
-Léconomie :
La monnaie du jeu est représentée par les pépites dor ou d'emmeraude( qui sont changés en pièces par le pack de texture) et peut-être déposée et protégée dans les banques. Vous pouvez gagner de l'or en travaillant ou en produisant des ressources correspondant à votre métier et en les vendant.
- Rejoindre le serveur:
Nous recrutons actuellement des joueurs(et plus tard des menbres pour le staff) pour le lancement du serveur. Vous pouvez accéder au serveur en partisipant a un entretien orale sur notre TS et ensuite sur notre forum poster une fiche personnage.
-Voici ladresse du forum: http://minewest.heberg-forum.net/forums.html
A bientôt sur Ileos !
↧
September 9, 2015, 11:09 am
Coucou tout le monde,
J'aurai besoin d'aide car mon plugin merde un peu depuis que je l'ai mis sous translations fichier convertis...
Voilà ce que j'ai mis :
Citation:
LoadTranslations("gift.phrases");
Dans mon code j'ai mis ça par exemple
Citation:
CPrintToChat(client, " %s %t", LOGO, "Used");
Et dans translations
Citation:
"Used"
{
"fr" "Vous avez déjà utilisé votre !gift."
}
Et les logs ....
Citation:
L 09/09/2015 - 17:10:45: [SM] Native "VFormat" reported: Language phrase "Instructions" not foundL 09/09/2015 - 17:10:45: [SM] Displaying call stack trace for plugin "gift.smx":
L 09/09/2015 - 17:10:45: [SM] [0] Line 48, C:\Users\Kevin\Downloads\sourcemod\scripting\inclu de\morecolors.inc::CPrintToChat()
L 09/09/2015 - 17:10:45: [SM] [1] Line 129, gift.sp::OnPlayerSpawn()
L 09/09/2015 - 17:10:46: [SM] Plugin encountered error 4: Invalid parameter or parameter type
L 09/09/2015 - 17:10:46: [SM] Native "VFormat" reported: Language phrase "Used" not found
L 09/09/2015 - 17:10:46: [SM] Displaying call stack trace for plugin "gift.smx":
L 09/09/2015 - 17:10:46: [SM] [0] Line 48, C:\Users\Kevin\Downloads\sourcemod\scripting\inclu de\morecolors.inc::CPrintToChat()
L 09/09/2015 - 17:10:46: [SM] [1] Line 466, gift.sp::Command_Gift()
Je sais pas de quoi ça peut venir mais si vous connaissez la cause dîtes la moi s'il vous plaît ^^ car là ça fait 1-2heures que je trouve pas et si vous avez besoin de plus de code demande moi :)
↧
↧
September 11, 2015, 1:33 pm
Bonjour,
Tout se trouve dans le sujet.
La mise à jour 207 est disponible en téléchargement sur les clients mais je ne vois pas la mise à jour disponible du coté du panel VeryGames.
N'y aurait il pas une solution pour forcer la mise à jour depuis les serveurs officiels?
Une idée de pourquoi Verygames n'a pas encore déployé la maj par rapport a d'autres qui sont deja en 207.
Merci de votre aide.
↧
September 9, 2015, 1:03 pm
Afin de garder et de rendre les choses plus facile, il vous seras demander de présenter un plugin de la manière suivante:
Titre du post:
Mettre un titre clair peut rendre la recherche plus facile, comme [JEU] TITRE <version | date> [CSS] Plugin d'exemple [v1.2.7 - 09/09/2015]
Description du plugin:
Une petite description du plugin, un titre peut être clair, avoir des explications supplémentaires est mieux en cas d'une éventuelle recherche.
Liste des fonctionnalités:
Si votre plugin à des fonctionnalités particulières, énumérer et expliquer brièvement est un plus.
Cvar et Commandes:
Lister les Cvar et leur explications ainsi que la liste des commandes.
Changelogs:
Pour chaque mise à jour éditez votre poste inscrivez-y les modifications dans les changelogs.
Code:
09/09/2015 - V1.2
- Ajout de ...
- Retrait de ...
- Correction de ...
14/07/2015 - V1.1
- Première diffusion
Installation:
Expliquer ici comment installer le plugin. Avoir une archive simple est bien, mais un plugin complexe peut poser problème à certaines personnes.
Dépendances:
De nos jours énormément de plugins dépendent d’extensions, d'includes en tous genres, ... le seul moyen de le savoir est d'ouvrir la source ET et de lire les includes. Ceci tout le monde ne peut pas le faire, et énumérer la liste de ce que demande le plugin est une grande aide.
Image / Vidéo / démonstration:
Une petite démonstration de ce que fait le plugin est toujours bien accueillant pour les autres.
Kriax.
↧
September 9, 2015, 1:15 pm
Comme vous pouvez vous en douter, si vous souhaitez faire approuver votre plugin il y a des conditions.
Ces conditions doivent être respectées à la lettre !
Upload du plugin:
Le plugin doit se trouver dans une archive .zip avec une propreté exemplaire à celle-ci :
Si votre plugin contient différentes parties merci de les différencier par des dossiers:
- Partie Web
- Partie Serveur
- ...
Dans ces dossiers avoir une hiérarchie telle que celle-ci (Pour une partie serveur)
Code:
<game>
- addons
- sourcemod
- plugins
- scripting
- translation
- ...
- materials
- models
- sounds
- ...
Le plugin:
Le plugin ne doit comporter aucune erreur ni warning à la compilation.
La source - L'auteur:
La source du plugin dois OBLIGATOIREMENT être dans l'archive.
Si le plugin n'est pas de vous, l'auteur originel du plugin doit donner son accord.
Dans le cas ou le plugin a déjà été rendu public merci d'insérer le lien orignal.
La description:
La description du plugin doit suivre le modèle d'exemple.
Requête de Valve:
Valve a fait des requêtes en ce qui concerne CS:GO, votre plugin ne doit pas aller à l'encontre de leur demande qui est en résumé, un changement au niveau de l'inventaire des joueurs.
Pour plus d'explications
Kriax.
↧
September 9, 2015, 1:20 pm
Salut,
Comme vous l'avez remarqué VeryGames à créé une nouvelle section qui vise principalement Sourcemod.
Cette section est là pour aider les personnes à se développer plus facilement dans le Sourcepawn.
Comme me l'a dit Marechoux, la grande période de Sourcemod est révolue, cependant, l'équipe qui développe cette "plateforme" continue à avancer, au point d'avoir mis à jour SM il y a un an pour enfin le passer en programmation orientée objet.
S'ils ont fait ce grand changement c'est qu'ils ont une grande idée en tête. Sourcemod ne se limite pas à Counter Strike Source mais à d'autre jeux, et j'espère que cette plateforme ira encore plus loin et ne deviendra pas obsolète comme Mani Admin Plugin.
Dans cette partie du forum vous pourrez facilement partager vos créations, vos plugins pourront être approuvés si vous en avez envie, suivant le règlement d'approbation.
Si un problème persiste ou qu'une question vous vient, vous pourrez poster pour demander de l'aide, ou si simplement vous vous sentez capable, vous pouvez créer des tutos pour aider les autres à avancer dans leur apprentissage.
Vous serrez aussi au maximum informé au niveau des mises à jour de Sourcemod, ainsi que les modifications de ces mises à jour.
Gardez à l'esprit que vous vous trouvez encore sur le forum VeryGames, le règlement du forum s'applique aussi dans cette partie.
Kriax.
↧
↧
September 13, 2015, 1:58 am
Bonjour ,
je cherche ou réserver les 3 port pour le plugin jsonapi je ne trouve pas merci pour votre aide !
↧
September 15, 2015, 6:34 am
Hollà tout le monde !
Je reprends un peu de service on va dire !
Je viens de louer un serveur csgo, n°4522 avec adresse ip : 149.202.4.111:27015
J'ai beau le reboot ou quoi que ce soit, rien n'y fait le serveur est introuvable !
Quelqu'un à la réponse ?
Merci
↧
September 15, 2015, 10:23 am
Coucou tout le monde,
je cherche un plugin qui sépare les chats des morts et des vivants si vous voyez ce que je veux dire ^^
↧
September 15, 2015, 12:16 pm
bonsoir à tous ,
voilà je vais faire simple , j'ai 86 tokens sur le nouveau verygames , je suis client du verygames ancien toujours actuellement , quelqu'un pour un échange , ou autre ? afin que je puisse renouveler sur l'ancien vg ma machine svp . steam amis : damien185
merci à tous .
ps : c'est simple , je donne les 86 tokens du nouveau verygames contre 66 tokens de l'ancien verygames , ou alors les 86 tokens du nouveau verygames contre 66 euros . voilà merci à vous .
ps 2 : je trouve quand meme très malheureux que verygames ne puisse , enfin ne veule pas simplement me faire un trensfer de token du nouveau vg a l'ancien . c'est très triste pour des clients comme nous , 7 ans que je loue non stop ici ... chaque mois ... merci.
↧
↧
September 15, 2015, 12:26 pm
bonsoir à tous ,
voilà je vais faire simple , j'ai 86 tokens sur le nouveau verygames , je suis client du verygames ancien toujours actuellement , quelqu'un pour un échange , ou autre ? afin que je puisse renouveler sur l'ancien vg ma machine svp . steam amis : damien185
merci à tous .
ps : c'est simple , je donne les 86 tokens du nouveau verygames contre 66 tokens de l'ancien verygames , ou alors les 86 tokens du nouveau verygames contre 66 euros . voilà merci à vous .
ps 2 : je trouve quand meme très malheureux que verygames ne puisse , enfin ne veule pas simplement me faire un trensfer de token du nouveau vg a l'ancien . c'est très triste pour des clients comme nous , 7 ans que je loue non stop ici ... chaque mois ... merci.
↧
September 16, 2015, 7:47 am
Bonjour,
Je ne sais pas si ce sujet à était aborder ou non (du moins je n'arrive pas à trouver).
J'ai réussis à modifier la commande sm_rules en sm_regles, mais j'ai un problème dans la config, quand je passe rules en website et que je met le lien vers la page web concernée, rien ne se passe en jeu, mais si je le laisse en mode panel, cela affiche bien les règles du fichier hosties_rules.ini.
Je voulais savoir comment on fait apparaître la page web en jeu lorsque l'on tape !regles ?
Cordialement,
Fredist.
↧
September 16, 2015, 12:42 pm
Bonsoir a tous ,
Je me tourne vers vous car voilà j'ai installer sur mon serveur le mods pack Regrowth ( La dernière version ).
Et en arrivant sur le serveur tous se passe bien jusqu'au moment ou je veut crafter, il m'est impossible de prendre le résultat du craft il revient automatiquement dans la table.
J'ai réinstaller plusieurs foit j'ai supprimer le monde, changer la version minecraft et rien na changer.
Je reste a votre disposition pour plus de renseignement.
Cordialement
↧