Szerző Téma: Duel script fegyver névvel  (Megtekintve 617 alkalommal)

Duel script fegyver névvel
« Dátum: 2014. július 17. - 15:03:35 »
0 Show voters
Helló!
Hogy tudnám megcsinálni, hogy a parancs fegyver névvel és fegyver ID-vel is mûködjön?
 
CMD:duel(playerid, params[])
{
if ( sscanf( params, \"ud\", params[ 0 ], params[ 1 ] ) )
    return SendUsage(playerid, \"/duel [playerid] [weapon name/ID]\");
« Utoljára szerkesztve: 2014. július 17. - 16:16:30 írta Flash »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Duel script fegyver névvel
« Válasz #1 Dátum: 2014. augusztus 02. - 21:12:05 »
0 Show voters
Remélem még aktuális. Úgy, hogy stringként kezeled az ID-t is, számmá alakítod a stringet a strval(); függvény segítségével, majd megnézed, hogy szám e és lehetséges szám e (pl. vannak fegyverek 1-tõl 10-ig, akkor a szám 0 és 11 között van e) az utolsónak megadott érték, a fegyver név/ID. Ha szám, akkor a számok alapján nézed a dolgot, ha név, akkor pedig név alapján. De ez gondolom egyértelmû.

Nem elérhető rayle

  • 174
    • Profil megtekintése
Duel script fegyver névvel
« Válasz #2 Dátum: 2014. augusztus 03. - 20:45:33 »
0 Show voters
Ha nem lenne egyértelmû:
 
new aWeaponNames[][32] = { // fórumról
{\"Ököl\"}, // 0
{\"Boxer\"}, // 1
{\"Golf\"}, // 2
{\"Stick\"}, // 3
{\"Kés\"}, // 4
{\"Baseball\"}, // 5
{\"Shovel\"}, // 6
{\"Pool\"}, // 7
{\"Katana\"}, // 8
{\"Láncfûrész\"}, // 9
{\"PurpleDildo\"}, // 10
{\"BigWhiteVibrator\"}, // 11
{\"MediumWhiteVibrator\"}, // 12
{\"SmallWhiteVibrator\"}, // 13
{\"Virág\"}, // 14
{\"Cane\"}, // 15
{\"Gránát\"}, // 16
{\"Teargas\"}, // 17
{\"Molotov\"}, // 18
{\" \"}, // 19
{\" \"}, // 20
{\" \"}, // 21
{\"Colt45\"}, // 22
{\"SilencedColt45\"}, // 23
{\"Deagle\"}, // 24
{\"Shotgun\"}, // 25
{\"Sawnoff\"}, // 26
{\"Combat\"}, // 27
{\"Uzi\"}, // 28
{\"MP5\"}, // 29
{\"AK47\"}, // 30
{\"M4\"}, // 31
{\"Tec9\"}, // 32
{\"Rifle\"}, // 33
{\"Sniper\"}, // 34
{\"Rocket\"}, // 35
{\"HRocket\"}, // 36
{\"Flamethrower\"}, // 37
{\"Minigun\"}, // 38
{\"Satchel\"}, // 39
{\"Detonator\"}, // 40
{\"Spray\"}, // 41
{\"Fire\"}, // 42
{\"Camera\"}, // 43
{\"NightVision\"}, // 44
{\"InfraredVision\"}, // 45
{\"Parachute\"}, // 46
{\"FakePistol\"} // 47
};
CMD:duel(playerid, params[])
{
        new id, fegyver[25], fegyverid;
        if ( sscanf( params, \"us[25]\", id, fegyver ) )
            return SendUsage(playerid, \"/duel [playerid] [weapon name/ID]\");
        if(IsNumeric(fegyver)) fegyverid = strval(fegyver);
        else
        {
                fegyverid = -1;
                for(new x = 0; x < sizeof(aWeaponNames); x++)
                {
                        if(!strcmp(aWeaponNames
  • , fegyver))

                        {
                                fegyverid = x;
                                break;
                        }
                }
        }
        if(fegyverid == -1 || fegyverid < 0 || fegyverid > 46) return SendClientMessage(playerid, -1, \"Nincs ilyen fegyver!\");
        GivePlayerWeapon(playerid, fegyverid, 50);
        return 1;
}
       
IsNumeric(const string[]) // sa-mp.com -ról szedtem, ezzel ellenõrizheted hogy szám -e az adott karakterlánc
{
        for (new i = 0, j = strlen(string); i < j; i++)
        {
                if (string > \'9\' || string < \'0\') return 0;
        }
        return 1;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal