GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Peper le 18 Février 2008, 16:05:28

Titre: Connexion directement à LS ? [Résolu]
Posté par: Peper le 18 Février 2008, 16:05:28
Salut  :)

Je me suis crée un serveur cela doit faire 4 jours maintenant, et par default, à la connexion, on est à Las Venturas  :-X Pis moi bah ce que je veut c'est que dès la connexion avec le joueur qu'on veut, qu'on sois à LS ..

J'ai regardé un tuto concernant le respawn mais bon, j'sais pas si j'ai bien fait ce qu'ils ont dit car, bah, ça marche pas  :dry

Pour test, j'ai lancer le mode Debug puis j'ai choisis le gangsta de Groove, avec la casquette, et je l'ais emmené à Ganton. Puis /save et j'ai copier les cordo dans savedposition et coller dans le dossier 'new', ouvert avec Pawno, et dans la fonction 'OnGameModeInit()' en dessous de

Citer
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

Voici la ligne copier dans le dossier save

Citer
AddPlayerClass(107, 2499.8340, 1669.3813, 13.3505, 73.2948, 0, 0, 0, 0, 0, 0);

Ce qui donne

Citer
public OnGameModeInit()
{
   // Don't use these lines if it's a filterscript
   SetGameModeText("Blank Script");
   AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); //
                AddPlayerClass(107, 2499.8340, 1669.3813, 13.3505, 73.2948, 0, 0, 0, 0, 0, 0);
   return 1;

Tout ça en finissant par F5.

J'lance SA:MP, je go sur mon serveur puis lorsque je prend le gars de Groove correspond au cordo, bah je suis à LV  ;D

Donc je commence à avoir des doutes, si c'est vraiment comme ça qu'on fait ou si je suis carrément à l'Ouest  :dry

(Je rappel que c'est pour commencer à LS à la connexion et non à LV)

Mercii
Titre: Re : Connexion directement à LS ?
Posté par: ApocKalipsS le 18 Février 2008, 16:21:37
Va voir dans "Tuto", "Votre 1er serveur !"

C'est un Tutorial pour les nouveau que j'ai fait !
Titre: Re : Connexion directement à LS ?
Posté par: Syg le 18 Février 2008, 16:38:42
Les coordonnées que tu donnes dans tes deux AddPlayerClass sont toutes les deux à LV.
Il est donc normal que tu n'atterrisses pas à LS comme tu le veux.

Donc refait ton /save en y mettant un commentaire pour être sur que tu prends la bonne ligne dans le fichier savedpositions.
Exemple :
/save Position à LS

++
Syg
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 18 Février 2008, 16:57:42
OK. Donc je vais déjà testé ce que tu m'as dit de faire Syg', pis je check le tuto si c'est mort.

Merci à vous deux, je vous dit quoi.

 ;)
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 18 Février 2008, 17:42:30
Désolé du double post' mais .. Toujours rien. J'ai pris la ligne correspondant à la position dans /save mais rien je réapparait toujours à LV  :(

Je peux screené mon Pawno si vous voulez ..
Titre: Re : Connexion directement à LS ?
Posté par: Syg le 18 Février 2008, 18:09:35
Donc je résume, tu édites ton fichier PAWN, tu appuies sur F5 pour le compiler, il n'y pas d'erreur donc tu va sur ton serveur pour tester et là, rien.

Alors peut-être que tu as oublié une étape, le rechargement de ton mode.
Je vois 2 cas dans lesquels ton nouveau mode ne sera pas pris en compte :
- Tu as oublié de faire un /rcon gmx (ou gmx dans le fenêtre noire du serveur)(ou arrêt/redémarrage du serveur) pour que le nouveai mode soit pris en compte
- Ton fichier .amx ne se trouve pas dans le répertoire gamemode (et c'est le cas si ton fichier .pwn ne s'y trouve pas non plus).

Donc dans un cas comme dans l'autre, pour être sûr, voici la marche à suivre :
Edite ton fichier PAWN, appuie sur F5, arrête le jeu, le client et le serveur, vérifie que le fichier .amx se trouve bien dans le répertoire gamemode (regarde la date et l'heure du fichier, elles doivent correspondre au moment où tu as appuyé sur F5) et si le fichier .amx est correct, lance ton serveur, lance le client puis le jeu.

Le plus simple est de mettre le fichier .pwn dans le répertoire gamemode pour que le fichier .amx soit généré dans ce répertoire puis de faire /rcon gmx dans le jeu (après t'être loggué administrateur par /rcon login <pwd>).

++
Syg
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 19 Février 2008, 13:42:42
Ah ouep, tout ça, c'était pas presicer dans les tutos  :dry

Y aurait t'il un nom précis à donné aux fichiers .amx et .pwn ? Parce-que, j'ai fait exactement comme tu m'as dit .. M'enfin je pense xD

Ayant modifié le fichier .pwn par défault, je l'est compilé puis mis dans le dossier Gamemodes accompagné du .pwn. Mais toujours rien  ;D
Titre: Re : Connexion directement à LS ?
Posté par: Bayshore le 19 Février 2008, 17:25:21
/rcon changemode <NomDuMode(sans .pwn)> :)

Ou dans config.cfg. ;)
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 19 Février 2008, 18:44:54
Ouais nickel, merci à vous deux  ;)

Petite question : Etant donné que j'ai mis qu'un joueur dans le script, je voulais savoir si le fait qu'il n'y ait plus personne dans la selection des joueurs était normal ? (J'ai une préférence pour une réponse positive, car l'ID du joueur est 107 et non 0). M'enfin je veux être sûr :)

Thx encore  :)

[Edit] Ah oui, aussi, commet faire pour ne plus avoir à recharger le mode à chaque redémarrage du serveur ? Et aussi, (  :laugh )  à la selection des perso', on est en face d'un escalator situé à LV, pis impossible d'avoir l'aperçu du joueur qu'on prend  :-X
Titre: Re : Connexion directement à LS ?
Posté par: S!m le 19 Février 2008, 23:22:57
salut Peper,

que veut tu dire exactement par:
Citer
je voulais savoir si le fait qu'il n'y ait plus personne dans la selection des joueurs était normal ?

si tu veut dire qu'on a le choix d'un seul skin, effectivement, c'est normal. 8)
si tu veut tous les mettes, tu n'as qu'a copier coller la ligne que tu as en changeant le premier nombre:

AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
tu le change pour un autre compris entre 0 et 285 je croit..... en tous cas, sur wiki ils disent qu'il y a un total de 284/299 skins différents
tu garde les autres données comme elles sont( celles ci ne sont pas celles que tu as besoin puisqu'il s'agit de celle que tu as cité précédemment donc prend les tiennes) ;)

et quand tu dit ne pas avoir a recharger le mode, tu veut dire aller sur pawno et l'enregistrer ??? si oui, ben si tu modifie rien, tu n'as pas besoin d'aller sur pawno le recharger, tu n'as besoin de la faire que lorsque tu change quelque chose dans ton mode.... ???

et si tu parle que le serveur load le fichier (NOMDUGM).amx, il le fera toujours( ça m'étonnerais que tu parle de ça...)

en espérant t'avoir aidé.......

++Sim++
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 20 Février 2008, 00:11:24
Oui c'est bien de ça que je parlais pour les skins, donc OK, merci !   :)

Et en faite pour le mode, je voulais dire plutot la commande

Citer
/rcon changemode <nomdemonfichier>

Si il n'y aurait pas un moyen de faire cela automatiquement, car à chaque redémarrage de mon serveur, j'ai les persos par défault et tout .. Et c'est un peu relou de devoir tapé ça tout le temps  :closedeyes

Merci  ;)

(Ah oui, et au chargement du fichier .amx pendant le jeu, je ne voit pas l'aperçu du skin de mes persos ajoutée  :-X)
Titre: Re : Connexion directement à LS ?
Posté par: S!m le 20 Février 2008, 00:20:46
Salut Peper,

pour mettre ton gm, c'est super simple

ouvre ton dossier qui contient samp-server.exe

trouve le fichier server.cfg

tu l'ouvre avec bloc note,
puis dans la ligne gamemode......

 tu efface ce qu'il y a après le gamemode (un chiffre) et tu écrit le nom du fichier de ton mode que tu a fait...

il ouvrira maintenant ton gm

pour les filterscript, c'est pareil mais sur la ligne qui commence par filterscript..... et tu peut en mettre plusieurs ;)

et euh...
Citer
(Ah oui, et au chargement du fichier .amx pendant le jeu, je ne voit pas l'aperçu du skin de mes persos ajoutée  L&egrave;vres scell&eacute;es)

tu veut dire que tu n'apparait pas sur lMécran qui te permet de choisir le skin??
je croit que la commande changemode ne fait pas un restart, tu reste au même endroit??
si oui, c'est normal,(fait F4 et tue toi pour choisir)
je ne sais vraiment pas sinon, je ne me suis jamais servi de cette commande, je ne peut que te souhaiter bonne chance

++Sim++
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 20 Février 2008, 16:57:24
Ouais, ça marche :)

Pour mon problème de skin, à la selection du perso' j'ai ça :

(http://img151.imageshack.us/img151/5425/samp005gy7.png)

Je devrais normalement voir un mec de Grove, mais là rien  :-X

Sinon merci à vous les gars vous gerez  ;)
Titre: Re : Connexion directement à LS ?
Posté par: ApocKalipsS le 20 Février 2008, 17:09:22
C'est normal, c'ets car tu t'es tromper d'id dans la ClassSelection. Je te donen le mien :

public SetupPlayerForClassSelection(playerid)

{
  SetPlayerInterior(playerid,10);
SetPlayerPos(playerid,-1130.0795,1029.1222,1349.1802);
SetPlayerFacingAngle(playerid, 90);
SetPlayerCameraPos(playerid,-1132.8027,1028.9460,1350.1802);
SetPlayerCameraLookAt(playerid,-1130.0795,1029.1222,1349.1802);
AllowPlayerTeleport(playerid, 0);
AllowAdminTeleport(1);
}
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 20 Février 2008, 17:22:17
J'ai beau chercher, j'voit pas la ligne
Citer
public SetupPlayerForClassSelection(playerid)

 ;D
Titre: Re : Connexion directement à LS ?
Posté par: Bayshore le 20 Février 2008, 18:12:54
Crée-la. ;)
Titre: Re : Connexion directement à LS ?
Posté par: S!m le 21 Février 2008, 00:27:27
salut,

viruz, il m'étonnerais que ton commentaire aide Peper

tu doit tout simplement placer cette fonction dans OnPlayerRequestClass comme ceci:
public OnPlayerRequestClass(playerid, classid)
{
        SetupPlayerForClassSelection(playerid);
return 1;
}

et tu peut rajouter une musique si tu veut:

PlayerPlaySound(playerid,1062,0.0,0.0,0.0);
et pour la stopper, dans OnPlayerRequestSpawn,
PlayerPlaySound(playerid,1063,0.0,0.0,0.0);
(car ce son n'existe pas, il stoppe le son,

et si tu veut choisir toi meme ou tu place ton personnage pour le choix, tu vas sur le jeu et /save pour la position,

rappel:      AddPlayerClass(ID,POS X,POS Y, POS Z, Angle, WEAPON 1, AMMO1, WEAPON 2, AMMO 2, WEAPON 3, AMMO 3);

et voila, encore bonne chance peper

++Sim++
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 21 Février 2008, 16:35:05
Error lors de la compilation :/

Citer
D:\PROGRA~1\ROCKST~1\GTASAN~1\pawno\COPIED~1.PWN(54) : error 017: undefined symbol "SetupPlayerForClassSelection"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

Titre: Re : Connexion directement à LS ?
Posté par: ApocKalipsS le 21 Février 2008, 16:41:55
En haut de ton GM :

forward SetupPlayerForClassSelection(playerid);
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 23 Février 2008, 14:05:42
Pareil toujours rien  ;D Vous pourriez me faire un screen de votre fichier .pwn ? Que j'voit où le mettre exactement, parce-que ça s'trouve c'est moi qui me gourre -_-. Pis c'est plus clair comme ça ..

Merci à vous  :)
Titre: Re : Connexion directement à LS ?
Posté par: S!m le 23 Février 2008, 16:56:23
salut peper,

tu peut le placer n'importe où ou presque dans ton gm,

il s'agit juste qu'il ne soit pas dans une callback, qu'est-ce qu'une callback??
c'est tout simplement une fonction qui est appelé lorsque survient un événement, par exemple:

un joueur sort de son vehicle, la callback OnPlayerExitVehicle est appelé et la le serveur effectue les actions que tu as inscrites dans cette callback....
public OnPlayerExitVehicle(playerid, vehicleid)
{
SetTimerEx ("CarRespawn", 15000,0, "i", vehicleid);
return 1;
}
//ici tu placerais le code du SetupPlayerForClassSelection

et voila tu devrais comprendre cela
bonne chance et cherche un peu.... :P

++Sim++
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 23 Février 2008, 20:08:32
 :dry Toutes vos réponses sont différente aussi .. Et bien que je vous ecoutent tous, toujours ce

Citer
error 017: undefined symbol

N'importe où je le met

 :(

Titre: Re : Connexion directement à LS ?
Posté par: S!m le 23 Février 2008, 20:14:14
salut,

tu peut tout simplement le placer complètement a la fin ou encore au début, juste avec la ligne :
public OnGameModeInit ()
cherche un peu, fait des tests, tu finira bien par trouver ;)

++Sim++
Titre: Re : Connexion directement à LS ?
Posté par: Peper le 23 Février 2008, 21:13:02
Résolu par MP  :)

Merci encore à Sim pour avoir résolu lui-même le problème, pis bien sûr aux autres pour mon problème précédent  ;)

Continuez tous ainsi, vous dechirez ..  :-* Lol

Clos.