GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: JuLi3n67 le 12 Juillet 2008, 16:44:07

Titre: Probleme serveur
Posté par: JuLi3n67 le 12 Juillet 2008, 16:44:07
Bonjour a tous ! je suis nouveau sur le forum. J'ai poster se message parce que jai un probleme ! jai fait un serveur, j'ai mis q'un perso ! et maintenant j'ai mis plusieurs perso ! donc maintenant je prend un exemple un : militaire, bas je revient sur l'autre perso ! et aussi mon gamemode c'est "sniper" mon perso a deja une arme ! c'est un sniper. Et je voudrai rajouter d'autre armes ! mais je ne c'est pas comment faire ! aidez moi svp m'erçi d'avance ! j'ai encore plein de chose a vous dire, mais comme je suis pas le seul a avoir un probleme. Aidez moi svp merçi d'avance !
Titre: Re : Probleme serveur
Posté par: pinouf42 le 12 Juillet 2008, 16:55:10
Pourrais-tu faire voir tes lignes AddPlayerClass stp Merci
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 12 Juillet 2008, 17:02:07
    AddPlayerClass(284,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //POULETTES

    AddPlayerClass(281,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //POULETTES

    AddPlayerClass(280,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //POULETTES

    AddPlayerClass(285,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //POULETTES

    AddPlayerClass(175,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MAFIA

   AddPlayerClass(30,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MAFIA

    AddPlayerClass(181,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MAFIA

    AddPlayerClass(124,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MAFIA

   AddPlayerClass(147,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MAFIA

   AddPlayerClass(246,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MAFIA

   AddPlayerClass(46,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MAFIA

    AddPlayerClass(91,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //CITOYEN

    AddPlayerClass(12,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //CITOYEN

    AddPlayerClass(214,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //CITOYEN

    AddPlayerClass(193,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //CITOYEN

    AddPlayerClass(152,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //CITOYEN

    AddPlayerClass(85,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //CITOYEN

   AddPlayerClass(141,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //CITOYEN

    AddPlayerClass(41,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //CITOYEN

    AddPlayerClass(90,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //CITOYEN

    AddPlayerClass(144,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //COTOYEN

   AddPlayerClass(125,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //TRIAD

   AddPlayerClass(143,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //TRIAD

   AddPlayerClass(28,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //TRIAD

   AddPlayerClass(249,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //TRIAD

   AddPlayerClass(29,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //TRIAD

   AddPlayerClass(21,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //TRIAD

   AddPlayerClass(24,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //GANGSTA

   AddPlayerClass(102,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //GANSTA

   AddPlayerClass(104,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //GANGSTA

   AddPlayerClass(103,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //GANSTA

   AddPlayerClass(253,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //VALET

   AddPlayerClass(110,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //VALET

   AddPlayerClass(109,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //VALET

   AddPlayerClass(108,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //VALET

   AddPlayerClass(274,-1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MEDIC

   AddPlayerClass(116,-1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MEDIC

   AddPlayerClass(115,-1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MEDIC

   AddPlayerClass(114,-1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MEDIC

   AddPlayerClass(286,-1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //FBI

   AddPlayerClass(107,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //FBI

   AddPlayerClass(106,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //FBI

   AddPlayerClass(105,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //FBI

   AddPlayerClass(80,-1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); // boceur rouge

   AddPlayerClass(81,-1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); // boxeur bleu

   AddPlayerClass(287,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //FBI
Titre: Re : Probleme serveur
Posté par: pinouf42 le 12 Juillet 2008, 17:09:58
Lorsque tu choisis ces personnages, ils apparaissent et c'est seulement lorsque tu appuye sur shift que tu as le gars au T-Shirt blanc et tu n'arrives carément pas à voir tes personnages ?
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 12 Juillet 2008, 17:15:53
Quand je choisi les personnages je l'ai voit, mais une foit que j'appuye sur shift il me remet avec le gars au t-shirt blanc.

Titre: Re : Probleme serveur
Posté par: pinouf42 le 12 Juillet 2008, 17:19:06
Cherche dans ton FS sa: public OnPlayerSpawn et copie moi l'integralite de ce qu'il contient (tu t'arrete au prochain public OnPlayer...)
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 12 Juillet 2008, 17:58:57
Jai changer d'avis ! je laisse un perso ! maintenant c'est comment mettre des armes sur le personnage comme mon gars a deja une arme le sniper mais j'aimerai rajouter un bazooka,grenadre,M4 merçi de votre aide !
Titre: Re : Probleme serveur
Posté par: garderer le 12 Juillet 2008, 18:22:15
Alors pour mettre les armes

Par exemple a la mafia:
 
AddPlayerClass(175,1686.6481,-2392.9209,22.7496,163.2402,0,0,0,0,0,0); //MAFIA   ////////// Pardefault.




AddPlayerClass(175,1686.6481,-2392.9209,22.7496,163.2402,1,0,22,250,34,250); //MAFIA  ////////// Avec les armes.


C'est facile utilise http://sareallife.org/sampwiki/wiki.sa-mp.com/wiki/Weapons.html tu aura l'id des armes.
A la fin du addplayerclass il y'a sa  ,0,0,0,0,0,0); Ici on met les armes Id,munition,Id,munition,id,munition);

Ensuite si tu veut mettre plus d'arme tu crée un pikup, ou dans le onplayerspawn tu fait un giveplayerweapons
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 12 Juillet 2008, 18:47:18
Merçi ! Je voudrai aussi que ya un texte qui apparait dans le chat exemple : no kill qui se defile tout les 15minutes merçi
Titre: Re : Probleme serveur
Posté par: garderer le 12 Juillet 2008, 19:01:12
Exemple

Donc je veu mettre un bazzoka l'id et 35 donc je fait  : AddPlayerClass(0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 35, 50);      35 c'est l'id du bazzouka et 50 c'est les munitions combien de rockets
Titre: Re : Re : Probleme serveur
Posté par: JuLi3n67 le 12 Juillet 2008, 19:03:36
Merçi ! Je voudrai aussi que ya un texte qui apparait dans le chat exemple : no kill qui se defile tout les 15minutes merçi
Titre: Re : Probleme serveur
Posté par: garderer le 12 Juillet 2008, 19:10:48
Tu lance un Set-Timer avec une fonction.
Toutes les 15 minutes tu a le message du public qui apparait.

http://pastebin.com/f1c52c98b


Si tu veut no-kill etc..... change mon public.
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 12 Juillet 2008, 19:26:40
Je suis désoler mais je comprend rien :boulet je suis nouveau sur les serveurs !
Titre: Re : Probleme serveur
Posté par: garderer le 12 Juillet 2008, 21:01:34
Ce n'est pas t'aider mais voila a quoi sa ressemble

http://pastebin.com/m12c8fc80

avec le message No-kil !l qui vient toute les 15 minutes
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 12 Juillet 2008, 23:41:49
Je ne comprend plus rien  :wall Quelq'un pourrait m'aider ? ou je dois le mettre ? est tout.... parce que garderer tu me dit que je doit lancer un Set-Timer avec une fonction, mais je c'est pas c'est quoi ! je comprend rien, :wall c'est pour cela que je suis venu pour apprendre sur le serveur... 
Titre: Re : Re : Probleme serveur
Posté par: garderer le 13 Juillet 2008, 00:06:38
Je ne comprend plus rien  :wall Quelq'un pourrait m'aider ? ou je dois le mettre ? est tout.... parce que garderer tu me dit que je doit lancer un Set-Timer avec une fonction, mais je c'est pas c'est quoi ! je comprend rien, :wall c'est pour cela que je suis venu pour apprendre sur le serveur... 

^^

Apprend les base et commence ton serveur.

http://www.siteduzero.com/tuto-3-8-0-apprenez-a-programmer-en-c.html

Parceque la c'est vraiment la base de chez base mettre un forward.

Mais tu est la pour apprendre donc le but ces de t'expliquer.

-Au debut du script tu va mettre forward messageauto();  avec d'autre forward.
-Ensuite le SetTimer("messageauto",900000,1); dans OnGameModeInit()
-Au bout du script la ou il y'a de la place.
public messageauto()
{
SendClientMessageToAll(0xFFFF00AA,"No-kill !");
}

Tout est dit ici :
http://pastebin.com/m12c8fc80

J'espere que tu aura compris.
Titre: Re : Probleme serveur
Posté par: pinouf42 le 13 Juillet 2008, 17:14:45
 :blink attend tu l'envoi sur un site qui certe, sert à faire du programmage mais bon, il veut simplement comprendre les fonctionnement des callbacks et des appelations tels que SetTimer...

quelques bases:

Dans ton GM tu verras toujours ce genre de chose: public OnPlayerConnect
                                                                       public OnPlayerSpawn etc..., cela s'appel des Callbacks, des fonctions qui effectuent une chose précise lorsque ton joueur appuye sur une touche ou se situe vers un point précis que tu as défini !
Pour ton Message NoKill, ton GM doit se comporter de plusieurs choses:
-Une Fonction public que tu appeleras Automessage
-Un Timer qui défilera exemple toutes les 15 min
-un forward

Tout en haut de ton GM, en dessous de #include <a_samp> et d'autres includes, tu met ça:
forward Automessage(); // le fameux forward !
Ensuite tu cherche dans OnGameModInit, tu met ça juste au dessus de tes AddPlayerClass (il devrait y avoir peut-être d'autres Set-Timer, si oui mais les avec eux):
SetTimer("Automessage", 900000, true); // 900000 correspond au nombre de milisecondes, donc 1000 pour 1 seconde, 1 min = 60000 milisecondes, donc 60000*15 = 900000
Ensuite tout en bas de ton Game tu copie ça:

public Automessage()
{
SendClientMessageToAll(COLOR_RED, "Ton message que tu veux: c'est à dire NoKill"); //rien à dire !
return 1;//pour lui dire de bien envoyer le message
}//tu ferme l'accolade sinon il va se mettre en boule ^^
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 13 Juillet 2008, 19:37:28
Merçi de votre réponse !
je viens de remarquer un petit probleme  :( jai essayer de le corriger mais je suis pas arriver !  :(
il me marque : error 017: undefined symbol "COLOR_RED" ou vient le probleme ? merçi d'avance !
Titre: Re : Probleme serveur
Posté par: pinouf42 le 13 Juillet 2008, 19:45:20
remplace color_red par 0xFF0000FF
Titre: Re : Probleme serveur
Posté par: garderer le 13 Juillet 2008, 19:52:52
 ::) Merci Pinouf pour le tuto
Titre: Re : Probleme serveur
Posté par: pinouf42 le 13 Juillet 2008, 20:20:10
Quand on peut aider, sa fait plaisir  ;)
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 14 Juillet 2008, 00:27:02
Merçi les gars ! merçi ! merçi !  :)
Grace a vous, je c'est comment mettre des armes au personnages, et comment faire un automessage !
Merçi de votre aide !!!
Titre: Re : Probleme serveur
Posté par: pinouf42 le 14 Juillet 2008, 10:32:20
 ;) N'hésite pas à demander quand tu as un probleme !
@++
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 14 Juillet 2008, 22:12:55
Bonjour, moi qui aime le drift j’aimerai rajouter une commande comme /drift pour aller a un endroit pour drifter comme au désert parce que ya beaucoup de virage. Mais je ne c’est pas par quoi commencer :( merci d’avance 
Titre: Re : Probleme serveur
Posté par: garderer le 14 Juillet 2008, 22:59:28
Tu crée un commande avec SetPlayerPos et SetPlayerInterior.

Et si tu comprend pas il faudra te faire un petit tuto.
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 15 Juillet 2008, 11:44:26
Comment sa un petit tuto ?
Titre: Re : Probleme serveur
Posté par: pinouf42 le 16 Juillet 2008, 13:27:43
Pourquoi un SetPlayerInterior???
Titre: Re : Probleme serveur
Posté par: [StAfF]MaN le 16 Juillet 2008, 13:57:02
Et ben tu te rend ici j'ai déjà tout fait ^^

http://www.gtaonline.fr/forums/index.php/topic,4428.0.html

Tu change ce qui t'importe et tu rajoute une commande

    if(strcmp(cmdtext,"/drift", true)==0){
    if(IsPlayerInAnyVehicle(playerid)){
    SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z); //place le véhicule avec le joueur, change le X Y et Z par les valeurs trouver avec le lien ci dessus
         } else {
    SetPlayerPos(playerid,X, Y, Z);// place le joueur s'il n'a pas de véhicule
}
}

voila tu as ta base
Après tu peut rajouter des SendClientMessage etc...
Bonne chance ^^
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 16 Juillet 2008, 14:24:58
Merci de ta reponse !  :)

Le probleme c'est que je ne c'est pas ou mettre le code !  :(

Jai fait un AddPlayerClass : AddPlayerClass(0,-294.7256,1546.6171,75.3594,314.9608,0,0,0,0,0,0); //

Mais celui la non plus je c'est pas ou le mettre ! enfaite tout !  :( Je suis la pour apprendre aidez moi s'il vous plait merci !
 
Titre: Re : Probleme serveur
Posté par: Nikko™ le 16 Juillet 2008, 14:27:42
Les Addplayerclass vont dans le Oneplayergamemodeinit

++
nikko
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 16 Juillet 2008, 14:43:27
Ok merçi mais le code :

    if(strcmp(cmdtext,"/drift", true)==0){
    if(IsPlayerInAnyVehicle(playerid)){
    SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z); //place le véhicule avec le joueur, change le X Y et Z par les valeurs trouver avec le lien ci dessus
         } else {
    SetPlayerPos(playerid,X, Y, Z);// place le joueur s'il n'a pas de véhicule
}
}
Titre: Re : Probleme serveur
Posté par: Nikko™ le 16 Juillet 2008, 15:08:41
Ca, cest une commande, alors tu le place dans Oneplayercommandtext  ;)

++
nikko
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 16 Juillet 2008, 15:24:27
OK merci je suis aller dans pawno jai fait Ctrl+f puis jai marquer Oneplayercommandtext

mais je n'ai rien vus !  ;D

puis apres jai regarder je n'ai pas vu de Oneplayercommandtext dans mon game mode ! mon GM c'est "sniper" c'est ma

premiere teleportation  :(
Titre: Re : Probleme serveur
Posté par: Nikko™ le 16 Juillet 2008, 16:07:50
Dans ton GM, tu ajoute:

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);

TES COMMANDES ICI...

return 0;
}


++
nikko
Titre: Re : Probleme serveur
Posté par: [StAfF]MaN le 16 Juillet 2008, 18:02:46
Oui excuse moi je n'est pas précisé....  :boulet (moi hein  :D)
Titre: Re : Re : Probleme serveur
Posté par: Nikko™ le 16 Juillet 2008, 18:10:22
:boulet (moi hein  :D)

Ta raison  :) nan lol.

++
nikko
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 18 Juillet 2008, 10:45:42
merçi pour ra reponse !
Jaimerai faire une commande pour un compte a rebour comme 5.4.3.2.1. GO GO GO et que la voiture reste bloquer prendant le compte a rebour pour le depart. Je veux que tout le monde puisse l'utiliser, mais je c'est pas par quoi commencer
merci d'avance !!!
Titre: Re : Probleme serveur
Posté par: Nikko™ le 18 Juillet 2008, 11:41:27
BAh tu utilise le playercontrolable... pendant le décompte et ensuite tu le met a 1 quand cest a GO GO GO  ;)

++
nikko
Titre: Re : Probleme serveur
Posté par: JuLi3n67 le 18 Juillet 2008, 12:47:13
heu...
je c'est pas c'est quoi le playercontrolabe ! je c'est rien !  :wall  :(
peut tu m'aider ?  :) merçi


Titre: Re : Probleme serveur
Posté par: [StAfF]MaN le 18 Juillet 2008, 12:51:06
clique la

http://www.gtaonline.fr/forums/index.php/topic,2149.0.html


et tu cherche CountDown, posté par R@F ;)

++