GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Noliax8 le 02 Avril 2012, 18:18:29

Titre: Plusieurs questions
Posté par: Noliax8 le 02 Avril 2012, 18:18:29
Bonjour, je suis la aujourd'hui pour vous posé plusieurs questions.

1) J'ai fait un systeme de spawn, au début on spawn a un endroit, si c'est un segond spawn, on spawn a l'hopital, c'est qu'on est mort.

Seulement, cela ne marche pas: http://pastebin.com/k55q2rLR (http://pastebin.com/k55q2rLR)

2) Je ne sais pas comment faire pour que quand on parle, le texte ne sois pas affiché à tout le monde? Comment cela se passe t'il?

3) Je ne trouve plus les fonctions pour retiré les entrés de portes, bonus saut/roue arrière/drift.

4) Malgrès pleins de tutoriel, je ne trouve pas comme utilisé MYSQL. Peut t'on me donnée les plugins / morceau de code?

5) Comment après une mort faire tombé l'arme a terre?

Voilà. Merci de votre aide!

Cordialement
Titre: Re : Plusieurs questions
Posté par: spiirou le 02 Avril 2012, 19:10:37
Salut,

1) Il faudrait que tu mettes le spawn normal dans le OnGameModeInit, et quand le joueur meurt ( OnPlayerDeath ) :
Soit tu mets une variable ( hopital[MAX_PLAYERS] ), et dans OnPlayerSpawn tu fait un SetPlayerPos en fonction de la var
Soit tu utilises SetSpawnInfo ( a explorer, ca peut etre interessant )

2) Ca depend ce que tu appelles "pas a tout le monde" ^^
Il y a peut etre une fonction, sinon tu peux creer la tienne :
tchat(playerid, text[], Float:radius)
{
     new str[128];
     new Float:x, Float:y, Float:z;
     new pname[MAX_PLAYER_NAME];
     GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
     format(str, 128, "%s (%i):{ffffff}%s", pname, playerid, text);
     GetPlayerPos(playerid, x, y, z);
     for(new i = 0; i < MAX_PLAYERS; i ++)
     {
          if(IsPlayerInRangeOfPoint(i, radius, x, y, z)) SendClientMessage(i, GetPlayerColor(playerid), str);
     }
     return 1;
}
Ou un truc du genre :)

3) EnableStuntBonusForAll et DisableInteriorEnterExits cherche par là

4) je ne peux pas t'aider ici

5) Avec un pickup

Good luck
Titre: Re : Plusieurs questions
Posté par: Noliax8 le 02 Avril 2012, 19:16:13
Merci de ton aide, je vais regardé tous cela! Pour le MYSQL. C'est toujours d'actu ;)

PS : Pour la fonction, j'ai juste à la mettre dans mon GM? Ou il faut appelé la fonction? Si oui, comment?
Titre: Re : Plusieurs questions
Posté par: spiirou le 02 Avril 2012, 19:20:17
J'ai fait la fonction comme je le pensais donc verifie qu'elle ne comporte pas d'erreur en compilant, puis tu dois l'appeller dans OnPlayerText si c'est bien ce que tu voulais ^^
Titre: Re : Plusieurs questions
Posté par: Noliax8 le 03 Avril 2012, 14:04:25
En gros je la met dans OnPlayerText et je fait un Forward au début du script?

Mon système de spawn ne marche toujours pas.

Titre: Re : Plusieurs questions
Posté par: Yornays le 03 Avril 2012, 15:02:32
Pour le système de spawn, tu n'as qu'a pas t’embêter, tu va dans OnPlayerDeath & tu fais un setplayerpos puis voilà , non ? ^^

Comme sa quand il meurt il spawn à ton hopital ( d'ou le setplayerpos )
Titre: Re : Plusieurs questions
Posté par: Noliax8 le 03 Avril 2012, 16:41:51
Ensuite, comment faire spawn direct le joueur? Vu que je n'est pas de système d'inscription, comment évite de cliqué sur SPAWN?
Titre: Re : Plusieurs questions
Posté par: Yornays le 03 Avril 2012, 17:00:19
Je ne suis pas sur...
SpawnPlayer(playerid);
Accompagné de ton SetPlayerPos..

Titre: Re : Re : Plusieurs questions
Posté par: spiirou le 03 Avril 2012, 20:15:41
Pour le système de spawn, tu n'as qu'a pas t’embêter, tu va dans OnPlayerDeath & tu fais un setplayerpos puis voilà , non ? ^^

Comme sa quand il meurt il spawn à ton hopital ( d'ou le setplayerpos )

Effectivement, non ;)
Si tu mets ca dans OnPlayerDeath il va respawn normalement.
J'ai tout expliqué, pour une fois je me donne le mal de faire un truc clair !



Je pense que tu sais utiliser une fonction quand même, regarde là et tu sauras a quoi elle sert.
Tu comprendras donc comment l'utiliser
Titre: Re : Plusieurs questions
Posté par: Noliax8 le 03 Avril 2012, 21:33:39
Merci. Tous cela fonctionne. Il ne reste que le SQL qui plante...

#include <a_samp>
#include <a_sampmysql>

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print("Leito GM");
print("--------------------------------------\n");
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

#else

main()
{
print("\n----------------------------------");
print("Leito GM");
print("----------------------------------\n");
}

#endif

#undef MAX_PLAYERS
#define MAX_PLAYERS 10
// Connexion
#define MYSQL_HOST "127.0.0.1"
#define MYSQL_USER "root"
#define MYSQL_PASS ""
#define MYSQL_DB   "samp"
// Couleur
#define COLOR_NORMAL_PLAYER 0xDFDFDFFF
#define COLOR_ADMIN 0x6F5AA5FF
#define COLOR_ADMIN_SERVICE 0xEBCE2CFF

// Fonctions
// forward tchat();

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

// Serveur
public OnGameModeInit()
{
// Connexion MYSL
samp_mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
    samp_mysql_select_db(MYSQL_DB);
    if(samp_mysql_ping()==0)
    {
        print("MYSQL: Connexion réussi.");
        return 1;
    }
    else
    {
        print("MYSQL: Connexion marche pas.");
    }
// --------------------
Titre: Re : Plusieurs questions
Posté par: spiirou le 03 Avril 2012, 21:40:43
C'est bien la seule question a laquelle je ne peux pas répondre :S
Attends que quelqu'un qui connais ca passe ;)
Titre: Re : Plusieurs questions
Posté par: .:: Miguel .:: le 03 Avril 2012, 21:42:31
#define MYSQL_HOST "127.0.0.1"

essaye

#define MYSQL_HOST "localhost"
Titre: Re : Re : Re : Plusieurs questions
Posté par: Yornays le 03 Avril 2012, 23:04:41
Pour le système de spawn, tu n'as qu'a pas t’embêter, tu va dans OnPlayerDeath & tu fais un setplayerpos puis voilà , non ? ^^

Comme sa quand il meurt il spawn à ton hopital ( d'ou le setplayerpos )

Effectivement, non ;)
Si tu mets ca dans OnPlayerDeath il va respawn normalement.
J'ai tout expliqué, pour une fois je me donne le mal de faire un truc clair !



Je pense que tu sais utiliser une fonction quand même, regarde là et tu sauras a quoi elle sert.
Tu comprendras donc comment l'utiliser

Ah, mince, je pensais que sa pourrais fonctionner.. Et bah pas grave, faut croire que je me suis tromper :p..
Titre: Re : Re : Plusieurs questions
Posté par: .:: Miguel .:: le 04 Avril 2012, 07:55:54
#define MYSQL_HOST "127.0.0.1"

essaye

#define MYSQL_HOST "localhost"