Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
TeeZee

pomoc Priradenie názvu zbrane k jej ID

Dotaz

Zdravím, potreboval by som poradiť, mám takýto príkaz ->

dcmd_setgun(playerid, params[]){
	new id,gunid,naboje;
	new dovod[32];
	if(sscanf(params,"ddds[32]",id,gunid,naboje,dovod)) return SendClientMessage(playerid,-1,"{FFFFFF}Použitie: /setgun [ID] [ID zbrane] [počet nábojov] [dôvod]");
	if(!IsPlayerConnected(id) || IsPlayerNPC(id)) return SendClientMessage(playerid, -1, "{FF0000}Hráč s takýmto ID nie je pripojený na servery");

	GivePlayerWeapon(id,gunid,naboje);

	new message[144];
	format(message,sizeof(message),"{FF0000}Administáror %s nastavil hráčovi %s zbraň %d s %d nábojmi z dôvodu [ %s ]",nick(playerid),nick(id),gunid,naboje,dovod);
	SendClientMessageToAll(-1,message);
	return 1;
}

 

 

A potreboval by som, poradiť, ako mám spraviť, aby mi namiesto id zbrani napísalo o akú zbran sa jedná.

Čiže napr. aby to nenapísalo, že som nastavil zbraň 24 ale že som nastavil zbran Deagle.

 

Ďakujem :)

 

Sdílet tento příspěvek


Link to post
Share on other sites

4 odpovědí na tuto otázku

Recommended Posts

  • 2

cus, pridej do kodu:    

    stock WeaponName(weapon)
    {
    new Nazev[50];
    if(weapon ==  0) Nazev = "Nic";
    else if(weapon ==  1) Nazev = "Boxér";
    else if(weapon ==  2) Nazev = "Golfová hůl";
    else if(weapon ==  3) Nazev = "Hůl";
    else if(weapon ==  4) Nazev = "Nůž";
    else if(weapon ==  5) Nazev = "Baseballka";
    else if(weapon ==  6) Nazev = "Lopata";
    else if(weapon ==  7) Nazev = "Kulečníková hůl";
    else if(weapon ==  8) Nazev = "Katana";
    else if(weapon ==  9) Nazev = "Motorovka";
    else if(weapon == 10) Nazev = "Dildo";
    else if(weapon == 11) Nazev = "Dildo2";
    else if(weapon == 12) Nazev = "Vibrátor";
    else if(weapon == 13) Nazev = "Vibrátor2";
    else if(weapon == 14) Nazev = "Květiny";
    else if(weapon == 15) Nazev = "Cane";
    else if(weapon == 16) Nazev = "Granát";
    else if(weapon == 17) Nazev = "Slzný plyn";
    else if(weapon == 18) Nazev = "Molotov";
    else if(weapon == 22) Nazev = "9mm";
    else if(weapon == 23) Nazev = "Silenced 9mm";
    else if(weapon == 24) Nazev = "Desert Eagle";
    else if(weapon == 25) Nazev = "Shotgun";
    else if(weapon == 26) Nazev = "Sawn-off Shotgun";
    else if(weapon == 27) Nazev = "Combat Shotgun";
    else if(weapon == 28) Nazev = "Micro SMG/Uzi";
    else if(weapon == 29) Nazev = "MP5";
    else if(weapon == 30) Nazev = "AK-47";
    else if(weapon == 31) Nazev = "M4";
    else if(weapon == 32) Nazev = "Tec-9";
    else if(weapon == 33) Nazev = "Rifle";
    else if(weapon == 34) Nazev = "Sniperka";
    else if(weapon == 35) Nazev = "Raketomet";
    else if(weapon == 36) Nazev = "Teplonavaděcí Raketomet";
    else if(weapon == 37) Nazev = "Plamenomet";
    else if(weapon == 38) Nazev = "Minigun";
    else if(weapon == 39) Nazev = "Satchel";
    else if(weapon == 40) Nazev = "Bomba";
    else if(weapon == 41) Nazev = "Sprej";
    else if(weapon == 42) Nazev = "Hasičák";
    else if(weapon == 43) Nazev = "Foťák";
    else if(weapon == 44) Nazev = "Noční vidění";
    else if(weapon == 45) Nazev = "Infračervená vize";
    else if(weapon == 46) Nazev = "Padák";
    return Nazev;
    }

 

a pak format: 

 

format(message,sizeof(message),"{FF0000}Administáror %s nastavil hráčovi %s zbraň %s s %d nábojmi z dôvodu [ %s ]",nick(playerid),nick(id),WeaponName(gunid),naboje,dovod);

Sdílet tento příspěvek


Link to post
Share on other sites
  • 1

Môžeš sa pozrieť na funkciu GetWeaponName.
Ak ti nevyhovujú tieto (anglické) názvy zbraní alebo spôsob použitia tejto funkcie, môžeš si vyrobiť vlastnú alternatívu.

Namiesto miliona else ifov, ktoré navrhuje bigMike, by som radšej skúsil statické pole.
Napríklad nejak takto:

Spoiler
stock WeaponName(weaponid)
{
    new weaponName[50];
    static const weaponNames[][sizeof(weaponName)] = 
    {
        "Pěst",
        "Nůž",
        "Boxer",
        // ... sem si dopíšeš všetky názvy zbraní (v správnom poradí)
        "Padák"
    };

    if (weaponid < 0 || weaponid >= sizeof(weaponNames))
    {
        format(weaponName, sizeof(weaponName), "Neplatná zbraň");
        return weaponName;
    }

    format(weaponName, sizeof(weaponName), weaponNames[weaponid]);
    return weaponName;
}

 

 

 

Edited by DuFF

Sdílet tento příspěvek


Link to post
Share on other sites
  • 1

Kdyztak rychlejsi (z hlediska CPU) verze:

new Zbrane[][][21] = {
	{"Nic","Fist"},
	{"Boxer","Brass Knuckles"},
	{"Golfová hůl","Golf club"},
	{"Obušek","Nightstick"},
	{"Nůž","Knife"},
	{"Baseballka","Baseball bat"},
	{"Lopata","Shovel"},
	{"Kulečníková hůl","Pool cue"},
	{"Katana","Katana"},
	{"Motorovka","Chainsaw"},
	{"Fialové Dildo","Purple dildo"},
	{"Dildo","Dildo"},
	{"Vibrátor","Vibrator"},
	{"Stříbrný vibrátor","Silver vibrator"},
	{"Květiny","Flowers"},
	{"Hůl","Cane"},
	{"Granát","Grenade"},
	{"Slzný plyn","Tear gas"},
	{"Molotovův koktejl","Molotov cocktail"},
	{"",""},
	{"",""},
	{"",""},
	{"Kolt45","9mm"},//17
	{"Pistole s tlumičem","Silenced 9mm"},//17
	{"Desert Eagle","Desert eagle"},//7
	{"Brokovnice","Shotgun"},
	{"Sawnoff Brokovnice","Sawnoff shotgun"},//2
	{"Combat Brokovnice","Combat shotgun"},//7
	{"Uzi","Uzi"},//50
	{"MP5","MP5"},//30
	{"AK-47","AK-47"},//30
	{"M4","M4"},//50
	{"Tec-9","Tec-9"},//50
	{"Puška","Country rifle"},
	{"Sniperka","Sniper rifle"},
	{"Raketomet","RPG"},
	{"Naváděcí Raketomet","HS Rocket"},
	{"Plamenomet","Flamethrower"},//50
	{"Minigun","Minigun"},//500
	{"C4","Satchel charge"},
	{"Odpalovač","Detonator"},
	{"Sprej","Spraycan"},//500
	{"Hasící přístroj","Fire extinguisher"},//500
	{"Foťák","Camera"},
	{"Noční vidění","Night vision googles"},
	{"Infračervené vidění","Thermal googles"},
	{"Padák","Parachute"},
	{"Vesta","Armour"}
};

#define WeaponName(%0) Zbran[%0][0]

Pouziti stejne

WeaponName(id_zbrane)

 

Sdílet tento příspěvek


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Odpovědět na dotaz...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Obnovili jsme váš původní obsah (obsah napsaný před zavřením).   Smazat obnovený obsah

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...