• 19 Mars 2024, 08:24:56


Auteur Sujet: codes/scripts utiles  (Lu 122889 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
codes/scripts utiles
« le: 19 Décembre 2007, 16:02:37 »
Salut a tous et a toutes,
J'ai créé ce sujet pour que les gens puissent partager leurs commandes ou bouts de scripts qu'ils ont créé eux même ! Si vous n'êtes pas le créateur d'un des ces bouts de script ou commande veuillez mettre l'auteur !


Je tiens aussi a préciser que les demandes d'aide dans ce topic ne sont pas les bienvenues, veuillez les poster ici.



Certains connaissent surment un topic se nommant "useful commands" ou "useful fonctions" sur sa-mp forums, ben j'ai pris exemple pour faire la version française de ce topic ^^
Je commence,
Commande de drogue by R@f (LoopingAnim by keyman)
En Haut du script avant Main :
Code: (cpp) [Sélectionner]
forward Drugoff (playerid);
new gPlayerUsingLoopingAnim[MAX_PLAYERS]; //by Keyman

Dans OnPlayerCommandText :
Code: (cpp) [Sélectionner]
//by R@f
if(strcmp(cmdtext, "/drug", true) == 0)
{
SetPlayerWeather(playerid, 188);
LoopingAnim(playerid,"PED","WALK_DRUNK",4.0,1,1,1,1,0);
SetTimerEx("Drugoff",20000,0,"i",playerid);
SendClientMessage(playerid,0xFF0000FF,"You are under the influence of drugs during 20 seconds");
}
Quelque part dans votre script (à la fin) :
Code: (cpp) [Sélectionner]
//by Keyman
LoopingAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
{
    gPlayerUsingLoopingAnim[playerid] = 1;
    ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
}

//------------------------------------------------------------------------------
//by R@f
public Drugoff (playerid)
{
ClearAnimations(playerid);
SetPlayerWeather(playerid,10);
SendClientMessage(playerid,0x008000FF,"The effects of the drug stopped");
}

Lire les PM (private message) des autres by R@f
Code: (cpp) [Sélectionner]
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
new player[MAX_PLAYER_NAME];
new receiver[MAX_PLAYER_NAME];
new tmpp[256];
GetPlayerName(playerid, player, sizeof(player));
GetPlayerName(recieverid, receiver, sizeof(receiver));
format(tmpp, sizeof(tmpp), "PM from [%i]%s to [%i]%s: %s",playerid,player,recieverid,receiver,text);
SendAdminMessage(0xFFFF00FF,tmpp);
PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
return 1;
}
SendAdminMessage by R@f (indispensable pour lire les MP des autres (voir plus haut))
Code: (cpp) [Sélectionner]
SendAdminMessage(color, text[]) {
for(new i = 0; i < MAX_PLAYERS; i ++) {
if(IsPlayerConnected(i)) {
if      (IsPlayerAdmin(i)) {
SendClientMessage(i, color, text);
}
}
}
}

Voila, c'est tout pour aujourd'hui ^^. Les textes de mes scripts sont en englais, à vous de les traduires si vous en avez envi ;)

A vous de poster vos codes  :cheers

Enoy
++
R@f
« Modifié: 19 Décembre 2007, 16:27:33 par spykerc8 »

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : codes/scripts utiles
« Réponse #1 le: 19 Décembre 2007, 16:30:55 »
Pourquoi pas, Voiçi une petite fonction pour la déconnexion et connexion des joueurs qui s'affiche dans le tableau des Deaths.

A mettre dans OnPlayerConnect :

SendDeathMessage(INVALID_PLAYER_ID, playerid, 200);
A mettre dans OnPlayerDisconnect :

SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
C'est à peut pres tout...

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Sismix84

  • *
  • Tueur en série
  • Messages: 247
    • Voir le profil
Re : codes/scripts utiles
« Réponse #2 le: 20 Décembre 2007, 18:35:27 »
Bien imaginé ce sujet, voilà un "petit" code pour que les joueurs n'ai plus d'armes à la sortie d'un véhicule (surtout pour les voitures de police qui possède un fusil à pompe) :

Dans OnPlayerExitVehicle :

new Car = GetPlayerVehicleID(playerid), Model = GetVehicleModel(Car);
switch(Model) { case /* ID des véhicule, à vous de compléter à votre guise */:
ResetPlayerWeapons(playerid);

Voilà ;)

Hors ligne Tetra-S

  • Codeur C/C++ Mais pas encore quelque incomprention de certaine truc mais le plus gros est passer
  • *
  • Tueur
  • Messages: 52
    • Voir le profil
Re : codes/scripts utiles
« Réponse #3 le: 06 Janvier 2008, 14:33:58 »
Je me permet de presiser la commande de Raf pour lire les pm des autre.
Ma version empêche que les admin vois 2 fois les pm qu'il on envoyer ou reçu

Code: (cpp) [Sélectionner]
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
new string[256];
new playername[MAX_PLAYER_NAME];
new recievername[MAX_PLAYER_NAME];
GetPlayerName(recieverid, recievername, sizeof(recievername));
GetPlayerName(playerid, playername, sizeof(playername));
for (new a = 0; a < MAX_PLAYERS; a++)
{
if (IsPlayerConnected(a) && IsPlayerAdmin(a) && a != playerid && a != recieverid)
{
format(string, sizeof(string), "* %s(ID:%s) envoie a %s(ID:%s): %s", playername,playerid, recievername,recieverid, text);
SendClientMessage(a, 0xFFC0CBAA, string);
PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
}
}
return 1;
}
« Modifié: 06 Janvier 2008, 14:35:57 par Tetra-S »

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : codes/scripts utiles
« Réponse #4 le: 18 Janvier 2008, 00:08:08 »
Bonjour,

Voila jai fais un petit kill-kick:


public OnPlayerDeath(playerid, killerid, reason)
{
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
    SendDeathMessage(killerid, playerid, reason);
GameTextForPlayer(playerid, "--- Tu es mort ---",6000,5);
SendClientMessage(killerid, rouge,"Tu a été kické pour kill !");
Kick(killerid);
return 1;
}


++
nikko
« Modifié: 18 Janvier 2008, 21:19:54 par nikkocz121 »

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : codes/scripts utiles
« Réponse #5 le: 18 Janvier 2008, 16:53:03 »
Anti-Slap By R@f
Voici une code très simple mais utile pour les serveurs de stunt ! Si le joueur utilise la touche tirer sa le freeze pour une seconde ;)
Code: (cpp) [Sélectionner]
//au-dessus de main
forward Unfreeze (playerid);

//OnPlayerKeyStateChange
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if ((newkeys & KEY_FIRE))
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
TogglePlayerControllable(playerid,0);
SetTimerEx("Unfreeze",1,0,"i",playerid);
}
}
}

//quelque part dans le script
public Unfreeze(playerid)
{
TogglePlayerControllable(playerid,1);
}

Enjoy ;)
++
R@f
« Modifié: 18 Janvier 2008, 17:13:16 par R@f »

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : codes/scripts utiles
« Réponse #6 le: 18 Janvier 2008, 17:10:27 »
Pas mal, Ca me rappel MTA DM dans le mode Hay lol

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : codes/scripts utiles
« Réponse #7 le: 18 Janvier 2008, 17:13:57 »
j'ai juste mis a jour le code, j'avais oublié de regarder si le joueur était dans un véhicule ou pas ^^

++
R@f

Hors ligne Nip

  • *
  • Bandit
  • >> mon steam: v__manu (il y a deux _)
  • Messages: 314
    • Voir le profil
Re : codes/scripts utiles
« Réponse #8 le: 18 Janvier 2008, 19:39:55 »
Bonjour,

commandes pour etre invisible sur la carte
Tres simple et pratique (pour certain)

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/invi", true)==0) {
SendClientMessage(playerid,COLOR_GREEN,"> Tu est maintenant invisible sur la map");
SetPlayerColor(playerid,0x33AA3300);
return 1;
}

+
« Modifié: 18 Janvier 2008, 19:42:49 par Nip »

doun

  • Invité
Re : codes/scripts utiles
« Réponse #9 le: 19 Janvier 2008, 10:32:59 »
ANTI DRIVE-BY
Je l'ai essayer tout ceul sur mon server en Lan elle marche impecable mais avec plusieurs personne il pourai y avoir des bug (à tester)

En haut du script :

static DBWeapon[MAX_PLAYERS],DBAmmo[MAX_PLAYERS];
Dans OnPlayerStateChange :

if(newstate == PLAYER_STATE_DRIVER)
{
    GetPlayerWeaponData(playerid,4,DBWeapon[playerid],DBAmmo[playerid]);
      SetPlayerAmmo(playerid,DBWeapon[playerid],0);
 }
else if(oldstate == PLAYER_STATE_DRIVER)
{
    GivePlayerWeapon(playerid,DBWeapon[playerid],DBAmmo[playerid]);
}
« Modifié: 19 Janvier 2008, 10:41:01 par doun »

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : codes/scripts utiles
« Réponse #10 le: 28 Février 2008, 14:11:48 »
Attache Object To My Car

Salut,

Voilà un petit code pour marcher sur une route en voiture.

http://pastebin.gtaonline.fr/pastebin.php?show=378

Il suffit de mettre ça en FS, De lancer le jeu, Et de faire /Attach :)
« Modifié: 28 Février 2008, 14:14:28 par UrbanGhetto »

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : codes/scripts utiles
« Réponse #11 le: 18 Mars 2008, 11:53:28 »
CountDown By R@f
Code: (pawn) [Sélectionner]
//Avant Main
new Compte;
new countdown;
forward CountDown();

//La commande
if (strcmp(cmdtext, "/count", true) == 0)
{
      Compte=SetTimer("CountDown",1000,1);
      countdown = 5;
      SendClientMessageToAll(COLOR_RED,"Le compte à rebour commence !");
      return 1;
}
//En bas du script
public CountDown()
{
    new string[128];
    if(countdown == 0)
    {
        KillTimer(Compte);
    GameTextForAll("~g~GO GO GO !",1000,3);
    PlayAllSound(1057);
    }else{
format(string,sizeof(string),"~r~%d",countdown);
GameTextForAll(string,1000,3);
PlayAllSound(1056);
countdown--;
    }
    return 1;
}

Play All Sound By R@f (indispensable pour avoir le son dans le countdown(voir plus haut))
Code: (pawn) [Sélectionner]
PlayAllSound(soundid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    PlayerPlaySound(i,soundid,0.0,0.0,0.0);
    }
}

++
R@f
« Modifié: 18 Mars 2008, 11:58:54 par R@f »

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
changer le nom d'un player
« Réponse #12 le: 06 Avril 2008, 19:20:56 »
Bonjour !! J'ai créé une commande qui permet de changer le nom d'un joueur :

    if(strcmp(cmd,"/nom", true)==0)
{
    new pid, tmpp[256], tmp[256];
    new texte[256];
    new name[MAX_PLAYER_NAME];
    new name2[MAX_PLAYER_NAME];
    tmpp = strtok(cmdtext, idx);
    if(!strlen(tmpp))
    {
    SendClientMessage(playerid, COLOR_RED, "USAGE: /nom [playerid] [nom]");
    return 1;
    }
    pid = strval(tmpp);
    if(!IsPlayerConnected(pid))
    {
    SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
    return 1;
    }
    if(IsPlayerAdmin(playerid)==0)
    {
    SendClientMessage(playerid, COLOR_RED, "Tu n'es pas admin !!!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    GetPlayerName(playerid, name, sizeof(name));
    GetPlayerName(pid, name2, sizeof(name2));
    format(texte, sizeof(texte), " %s a renomer %s en %s", name, name2, tmp);
    SendClientMessageToAll(COLOR_YELLOW, texte);
    SetPlayerName(pid,tmp);
    return 1;
 }

Si ça intéresse quelqu'un ^^
« Modifié: 06 Avril 2008, 19:35:12 par [StAfF]mAn »
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : codes/scripts utiles
« Réponse #13 le: 09 Avril 2008, 21:36:17 »
Hey, j'ai découvert un truc sympa avec ta cmd mAn :happy

Quand un joueur à 24 caractères dans son pseudo, le texte qu'il écrit est en jaune! :-*
~~> http://www.noelshack.com/uploads/sa-mp-027014310.png

Sinon moi comme fonction utile j'ai fait un truc pour envoyer un texte aux admins, report ou autres. :happy

Code: (pawn) [Sélectionner]
public OnPlayerText(playerid, text[])
{
if(text[0] == '@')
{
new pName[24];
GetPlayerName(playerid, pName, sizeof(pName));
new string[128];
format(string, sizeof(string),"%s: %s", pName, text[1]);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerAdmin(i)>= 1) SendClientMessage(i, COLOR_ADMIN, string);
}
printf("", string);
SendClientMessage(playerid, COLOR_ADMIN_PUBLIC, "Your message has been sent to admins online, and save for others admins!");
printf("[report]From %s: %s", pName, text[1]);
}
if(text[0] == '@') return 0; // If the player is sending a report we don't send his message on mainchat
else return 1; // If the player don't sent a report we send the msg
}

++
ZecKo
« Modifié: 09 Avril 2008, 21:45:27 par VirUz prOd »

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : codes/scripts utiles
« Réponse #14 le: 09 Avril 2008, 23:13:22 »
Impossible d'avoir plus de 14 Caracteres dans son pseudo !

NV.



Tu vois avant? Bah j'étais là encore avant!