[Codes] Postez vos conseils
#1

Bonjour,

Aprиs avoir vu plusieurs postes tombйs а l'oubli, j'ai eu l'idйe d'en crйer un nouveau.

Ici, postez vos codes et essayer de donner des conseils sur les moyens de codages, optimisations.

Personnellement, je lance le sujet. Alors je vais postй un premier code qui permet d'avoir un systиme assez dynamique au niveau des tйlйportations.

Ce script est dans mon GameMode mais en version SQL et amйliorer.

pawn Code:
#include <a_samp>

#define NB_TELEPORTS_ADMIN 4 // -> Nombre de tйlйportations administratives

#define DIALOG_TP 444

#define COLOR_SERVER 0x0080C0FF // -> Serveur
#define COLOR_RED 0xFF0000FF // -> Rouge
#define COLOR_GREEN 0x20F709FF // -> Vert

#define COL_SERVER "{0080C0}" // -> Serveur
#define COL_RED "{FF0000}" // -> Rouge
#define COL_GREEN "{20F709}" // -> Vert

enum TeleportsEAdmin{
    Float:Foot[3], // -> Positions а pied
    Float:Car[3], // -> Position en voiture
    Title[30], // -> Nom de l'endroit
};

new TeleportsAdmin[NB_TELEPORTS_ADMIN][TeleportsEAdmin]={
    {{1544.9292, -1675.9814, 13.5594}, {1531.4608, -1675.7124, 13.0894}, "Poste de police"},
    {{1481.8082, -1744.9556, 13.5469}, {1482.3436, -1734.2109, 13.0878}, "Mairie"},
    {{1957.7123, -2182.8772, 13.5469}, {1959.8885, -2173.3911, 13.1566}, "Aйroport"},
    {{1777.6606, -1862.4928, 13.5762}, {1814.5088, -1852.0403, 13.1207}, "Gare"}
};

public OnPlayerCommandText(playerid, cmdtext[]){
    if(strcmp(cmdtext, "/tp", true) == 0){
        new list[1024]; // -> Autant pour pouvoir suivre avec les ajouts de positions
        for(new t = 0; t < NB_TELEPORTS_ADMIN; t++)
            format(list, sizeof(list), "%s"COL_SERVER"• "COL_RED"%s\n", list, TeleportsAdmin[t][Title]);
        ShowPlayerDialog(playerid, DIALOG_TP, DIALOG_STYLE_LIST, COL_SERVER"• "COL_GREEN"A quel point souhaitez-vous aller "COL_SERVER"?", list, "Continuer", "Quitter");
        return 1;
    }
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
    new msg[128];
    if(dialogid == DIALOG_TP){
        if(!response)
            return 1;
        new veh = GetPlayerVehicleID(playerid);
        if(veh)
            SetVehiclePos(veh, TeleportsAdmin[listitem][Car][0], TeleportsAdmin[listitem][Car][1], TeleportsAdmin[listitem][Car][2]);
        else
            SetPlayerPos(playerid, TeleportsAdmin[listitem][Foot][0], TeleportsAdmin[listitem][Foot][1], TeleportsAdmin[listitem][Foot][2]);
        format(msg, sizeof(msg), "• Information : "COL_GREEN"Vous avez йtй tйlйportй а : "COL_RED"%s"COL_GREEN".", TeleportsAdmin[listitem][Title]);
        SendClientMessage(playerid, COLOR_SERVER, msg);
        return 1;
    }
    return 1;
}
Je pense que le code est assez facile а amйliorer au niveau du nombre de positions.

Cordialement, а vos scripts !
Reply


Messages In This Thread
[Codes] Postez vos conseils - by ScriptColor - 21.01.2013, 16:00

Forum Jump:


Users browsing this thread: 1 Guest(s)