Jump to content
  • 0

pomoc Priradenie názvu zbrane k jej ID


TeeZee

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 :)

 

Link to comment
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);
  • Děkuji (+1) 1
Link to comment
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
  • Líbí se mi to! (+1) 1
Link to comment
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)

 

  • Líbí se mi to! (+1) 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...