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
-
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 !
-
Pourrais-tu faire voir tes lignes AddPlayerClass stp Merci
-
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
-
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 ?
-
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.
-
Cherche dans ton FS sa: public OnPlayerSpawn et copie moi l'integralite de ce qu'il contient (tu t'arrete au prochain public OnPlayer...)
-
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 !
-
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
-
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
-
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
-
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
-
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.
-
Je suis désoler mais je comprend rien :boulet je suis nouveau sur les serveurs !
-
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
-
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...
-
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.
-
: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 ^^
-
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 !
-
remplace color_red par 0xFF0000FF
-
::) Merci Pinouf pour le tuto
-
Quand on peut aider, sa fait plaisir ;)
-
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 !!!
-
;) N'hésite pas à demander quand tu as un probleme !
@++
-
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
-
Tu crée un commande avec SetPlayerPos et SetPlayerInterior.
Et si tu comprend pas il faudra te faire un petit tuto.
-
Comment sa un petit tuto ?
-
Pourquoi un SetPlayerInterior???
-
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 ^^
-
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 !
-
Les Addplayerclass vont dans le Oneplayergamemodeinit
++
nikko
-
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
}
}
-
Ca, cest une commande, alors tu le place dans Oneplayercommandtext ;)
++
nikko
-
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 :(
-
Dans ton GM, tu ajoute:
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
TES COMMANDES ICI...
return 0;
}
++
nikko
-
Oui excuse moi je n'est pas précisé.... :boulet (moi hein :D)
-
:boulet (moi hein :D)
Ta raison :) nan lol.
++
nikko
-
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 !!!
-
BAh tu utilise le playercontrolable... pendant le décompte et ensuite tu le met a 1 quand cest a GO GO GO ;)
++
nikko
-
heu...
je c'est pas c'est quoi le playercontrolabe ! je c'est rien ! :wall :(
peut tu m'aider ? :) merçi
-
clique la
http://www.gtaonline.fr/forums/index.php/topic,2149.0.html
et tu cherche CountDown, posté par R@F ;)
++