• 18 Avril 2025, 12:11:46


Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Coco91

Pages: [1]
1
Ah merde ><
 C'est un problème plutôt ennuyant/

2
Toujours pareil

3
J'ai réussi a réduire a une erreur :
Citer
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(137) : error 025: function heading differs from prototype

Pour ce code :
Code: (pawn) [Sélectionner]
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
GetPlayerSkin(playerid);
if(iSkinSurvivant == 255)
{
    SetPlayerHealth(playerid, 0.0);
}
return 1;
}

La ligne 137 est celle de la callback.

4
Apres quelques aides de Gszume j'ai réussi a régler quelques problèmes.

Cependant, doué comme je suis je remarque peu de mes erreurs, voici le code que j'ai : http://pastebin.com/PAxKjPuN

Et mes erreurs :
Citer
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(103) : error 025: function heading differs from prototype
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(116) : error 029: invalid expression, assumed zero
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(116) : warning 202: number of arguments does not match definition
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(116) : error 001: expected token: ",", but found ";"
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(126) : error 025: function heading differs from prototype
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(134) : error 025: function heading differs from prototype
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(152) : error 025: function heading differs from prototype
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(158) : error 029: invalid expression, assumed zero
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(158) : warning 202: number of arguments does not match definition
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(158) : error 001: expected token: ",", but found ";"
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(159) : warning 202: number of arguments does not match definition
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(167) : error 029: invalid expression, assumed zero
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(167) : warning 202: number of arguments does not match definition
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(167) : error 001: expected token: ",", but found ";"
C:\Users\corentin\Desktop\Test de GM\gamemodes\gmdm.pwn(168) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


10 Errors.

Encore une fois c'est un peu a galère dans ma tête.

5
Ah merci beaucoup !

C'est vrai que lorsqu'on débute on fait pleins de fautes d’inattentions.



J'ai rajouté cela au début de mon code :

Code: (pawn) [Sélectionner]
new playerSkin = GetPlayerSkin(playerid);
Ai-je le droit de faire de cette façon ?



J'ai aussi corriger les "playerId", cependant, la je passe a 22 erreurs...
Avec tout le temps : "gamemodes\gmdm.pwn(105) : error 017: undefined symbol "playerSkin""

6
Merci beaucoup, je penses que cela devrait finaliser mon "mode de jeu".



Alors, j'ai suivi vos conseils, mais je ne suis peut-être pas assez intelligent, et je ne vois pas comment attribuer le skin au joueur après avoir fais une sélection aléatoire.

Pour le moment mon script donne ça : http://pastebin.com/T90FeQLZ

Cependant, a la compilation j'ai ces erreurs :

Citer
\gmdm.pwn(68) : warning 215: expression has no effect
\gmdm.pwn(70) : error 017: undefined symbol "iNombreDeJoueurs"
\gmdm.pwn(77) : warning 217: loose indentation
\gmdm.pwn(102) : error 017: undefined symbol "skinid"
\gmdm.pwn(102) : warning 215: expression has no effect
\gmdm.pwn(102) : error 001: expected token: ";", but found ")"
\gmdm.pwn(102) : error 029: invalid expression, assumed zero
\gmdm.pwn(102) : fatal error 107: too many error messages on one line

7
Merci beaucoup.

Sinon, est-ce que mes lignes de codes semblent correctes ?

8
Oui tout a fait.

9
Je me permets un peu up.:)

10
Pardonnez moi du double post,

Je souhaiterais continuer mais cependant, j'ai pas trouver comment faire un sélection aléatoire comme je le souhait.
Je me retrouve légèrement bloquer du fait que les téléportation, attribution d'armes seront effectuer en fonction du skin.

Quelqu'un saurait comment je pourrais créer un effet aléatoire ?

Voilà ce que j'ai fais en attendant :

Code: (pawn) [Sélectionner]
public OnPlayerConnect(playerid)
{
if(bPartieEnCours == false)
{

if(iNombreDeJoueurs < 4)
{
    iNombreDeJoueurs ++;
   
    if(iNombreDeJoueurs >= 4)
    {
        SetTimer("TimerZombie", 30 * 1000, false);
}
}
}

return 1;
}

public TimerZombie()
{
if(skinid = 255)
{
    SetPlayerVirtualWorld(playerid, 2);
    SetPlayerPos(playerid, 0, 1, 2);
    GivePlayerWeapon(25, 50);
    GivePlayerWeapon(23, 50);
}
if(skinid = 159)
{
    SetPlayerVirtualWorld(playerid, 2);
    SetPlayerPos(playerid, 20, 1, 2,);
    GivePlayerWeapon(2, 10000);
    TogglePlayerControllable(playerid, 0);
    SetTimer("ZombieSpawn", 10 * 1000, false);
}

return 1;
   
}

public ZombieSpawn()
{
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, 0xFF0000, "Tuez tous les survivants !");

return 1;
}

public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
if(skinid = 255 && weapondid == 2)
{
    SetPlayerHealth(playerid, 0.0);
}
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
if(skinid = 255)
{
    SetPlayerSkin(playerid, 159);
    SetPlayerVirtualWorld(playerid, 2);
    SetPlayerPos(playerid, 20, 1, 2,);
    GivePlayerWeapon(2, 10000);
    TogglePlayerControllable(playerid, 0);
    SetTimer("ZombieSpawn", 10 * 1000, false);
}
if(skinid = 159)
{
    SetPlayerSkin(playerid, 159);
    SetPlayerVirtualWorld(playerid, 2);
    SetPlayerPos(playerid, 20, 1, 2,);
    GivePlayerWeapon(2, 10000);
    TogglePlayerControllable(playerid, 0);
    SetTimer("ZombieSpawn", 10 * 1000, false);
}

return 1;
}



Apres être passer sur TeamSpeak, j'ai pu remarquer une communauté sympathique, merci pour la soirée ^^.

11
Merci beaucoup sur ton aide, je penses avoir bien compris les variables.
Cela m'a l'aire d’être un point très utilisé pour le codage.

Cependant, en ce qui concerne la fonction "SetTimer", dois-je l’insérer dans le CallBack que j'ai créer en rapport avec le timer ou de cette maniere :

Code: (pawn) [Sélectionner]
public OnPlayerConnect(playerid)
{
if(bPartieEnCours = false)
{
iNombreDeJoueurs ++;
}
if(iNombreDeJoueurs >= 4)
{
    bPartieEnCours = true;
    SetTime("MonTimer", 30 * 1000, false);

return 1;



En parlant de CallBack, je dois mettre mes instruction (téléportation, changement de monde...) dans le CallBack que j'ai créé ?

Merci bien, je connais évidemment TeamSpeak, je ferais surement un tour dans la soirée, avec plaisir.

12
Je tiens premièrement à vous me remercier pour votre aide complète et organisée.

1- Comme toute personne normal, j'ai commencer a suivre vos conseils dans l'ordre. Cependant, un premiere obstacle s'oppose a moi, je pense que je déclare mal mes variables, voici comment j'ai procédé :

Code: (pawn) [Sélectionner]
public OnGameModeInit()
{
new bool:bPartieEnCours;
bPartieEnCours = 0;
new iNombreDeJoueurs = 0;

J'ai un doute sur la façon dont je dois déclarer ma variable, ainsi que sur le 0 et le 1 sur une variable booleen. Normalement le 0 correspond bien a une incapacité ? Donc a False ?
((Je suis en classe de Première S-SI, donc je fais un peu de binaire))



J'ai quand même décider d'avancer dans mon code, quitte a poster une réponse, autant qu'elle soit complète. Comme vous me l'avez conseillé, j'ai essayer de suivre votre algorithmes :

Code: (pawn) [Sélectionner]
public OnPlayerConnect(playerid)
{
if(bPartieEnCours = 0)
{
iNombreDeJoueurs = ++;
}
if(bPartieEnCours = 1)
{

return 1;
}

Cependant, j'ai un doute quand à mon "opération", est-ce que c'est bien de cette manière qu'on effectue une "opération" ?

Concernant le timer, il y a-t-il un endroit particulier où je dois mettre ce bout de code :

Code: (pawn) [Sélectionner]
forward MonTimer();
public  MonTimer()
{
    // Les instructions
 
    return 1;
}



Je tiens a m'excuse de mon amateurisme mais je penses qu'un langage mérite d’être bien examiner avant de pouvoir se lancer dans des projets bien plus développés.

13
Bonjour, bonsoir,

Je me présente rapidement, je me prénomme Corentin, je suis âgé de seize ans et je suis un amateur du RolePlay principalement sur GTA:SA, je n'ai malheureusement pas connu d'autre plateformes proposant autant de possibilités et procurant autant de plaisir.

L'univers et la mentalité résidant sur ce jeu me blesse légèrement, et malheureusement je ne ressens plus le même plaisir a jouer comme j'aurai pu l'avoir il y a deux ans de cela.
J'ai donc décider de me re-mettre, (si on peut appeler sa re-mettre après avoir lu des tutos) a scripter en pawn.

Cependant, mon manque d'expérience dans le domaine du codage et mon ignorance des possibilités qu'offre le pawn me permettent pas de m'épanouir.

Bref ! J'suis pas venu ici pour vous dégoutter de ma triste vie, après avoir parcouru pas mal de forum et de poste concernant le pawn, j'ai conclus qu'il était préférable de commencer par coder un mini-GM de type DM.

Pour m’exercer je souhaite donc créer quelques modes de jeux de types DM.
Le premier que j'essaie de mettre au point est un mode de type "INFECTE", un peu comme dans le jeu Call Of Duty (oui malheureusement j'y ai jouer...).

Apres avoir pas mal réfléchi, j'ai regroupé toutes les informations dont j'ai besoin :



1- Créer une commande mettant en attente les joueurs, le jeu ne commence que si il y a au moins 4 joueurs.

J'aimerai donc savoir comment d'abord, créer un système qui fait en sorte que les joueurs soient en attente qu'il y a 4 joueurs dans la file attente.
J'ai bien pensé a une variable qui prend +1 a chaque fois que la commande est utiliser et que si cette variable est égal ou supérieur a 4, elle exécute le reste du code.
Cependant, j'ai un peu de mal a comprendre comment fonctionnent les variables et encore plus sur SAMP, pourriez vous me donnez des pistes sur comment créer un système de comptage ainsi qu'un timer (téléportation etc après 30 secondes d'attente)?

2- Créer deux équipes : Une survivant et l'autre zombie.

Je ne sais comment répartir les joueurs aléatoirement dans une des deux équipes, j'ai un peu chercher mais j'ai pas vraiment capter le concept, surement car les postes trouvés étaient en anglais.
Donc, je voudrais savoir comment je pourrais répartir aléatoirement 1 joueur dans le groupe zombie et les autres dans l'équipe "Survivant ?

3- Téléportation des joueurs, et mise a jour de leurs stats.

Une fois l'équipe choisie aléatoirement, j'aimerais que mes joueurs soient téléportés dans un autre monde, se voient être téléporter a un endroit ainsi que des armes leurs soient données, pour le moment je sais comment faire.
Cependant, je ne vois pas comment changer leur skin, et pourquoi pas faire en sorte que les zombie fassent 100 de dégâts avec l'arme que je l'air ai donner, histoire qu'ils OneShoot les survivants.

4- Mort d'un joueur.

J'aimerais aussi, que lorsqu'un survivant meurt, il soit re-spawn mais en tant que zombie, et toujours au même endroit, sans que son monde ou sa position de spawn change.
J'aimerai que les zombies morts respawnent de la même façon et toujours en zombie.

5- Fin de la partie

Une fois qu'ils ne restent plus qu'un joueur survivant, j'aimerai que les joueurs soient re-téléporter au monde de base, et qu'un message indiquant le nom du gagnant apparaisse dans le chat, mais que tout le monde puisse le voir.



Merci de votre lecture. Je suis conscient que mon poste est peut-être trop long.
J’espère recevoir un peu d'aide de votre part, pas recevoir directement tout le code, mais des pistes pouvant m'aider a m'améliorer, sachant que je ne comprend pas 95% des fonctions.
J'ai lus plusieurs tutoriels sur ce forum, notamment plusieurs fois celui de Gilux mais j'ai des difficultés.


Pages: [1]