Szerző Téma: Fegyver információ [DIALOG_MSGBOX]  (Megtekintve 778 alkalommal)

Fegyver információ [DIALOG_MSGBOX]
« Dátum: 2013. március 10. - 00:38:03 »
0 Show voters
Üdv, olyan scriptre lenne szükségem, ami kiírja az adott játékosnál lévõ fegyvereket.
Nem tudom hogyan kellene egymás mellé kiírni dialogba ha pl több van nála.
Ha az ammo-t is kiírná az még jobb volna bár ez mellékes...
Egy példa script, vagy leírás is elég lenne ha tud valaki. (én nem találtam fórumon)
Köszöntem!

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Fegyver információ [DIALOG_MSGBOX]
« Válasz #1 Dátum: 2013. március 10. - 09:04:20 »
0 Show voters
Egyszerû dolog, létrehozol egy nagy string változót megformázod a stringet és utána írod a többit \\n elválasztásokkal, majd a végén ); zárd le.
Példa:
 

new string[242]
format(string,242,%s%s%s,
\"Teszt1\\n\",
\"Teszt2\\n\",
\"Teszt3\\n\");
ShowPlayerDialog(playerid,DIALOG_0,DIALOG_STYLE_MSGBOX,\"Cim\",string,\"OK\",\"\");

 
E:Ha nem boldogulsz (már pedig annyira nem nehéz) akkor megcsinálom én.
« Utoljára szerkesztve: 2013. március 10. - 09:07:01 írta SnooP »

Fegyver információ [DIALOG_MSGBOX]
« Válasz #2 Dátum: 2013. március 10. - 13:43:20 »
0 Show voters
Akkor bemásolom hogy csináltam mert nem nagyon értem, hogyan írna ki ezzel több fegyvert.  :doubt:
 

    new string[256], atvizsgaltID, WeapName[24], slot, weap, ammo, Count, x;
    for(slot = 0; slot < 14; slot++) { GetPlayerWeaponData(atvizsgaltID, slot, weap, ammo); if(ammo != 0 && weap != 0) Count++; }
    if(Count >= 1) //ha van nála fegyver
    {
        for (slot = 0; slot < 14; slot++)
        {
            GetPlayerWeaponData(atvizsgaltID, slot, weap, ammo);
            GetWeaponName(weap, WeapName, sizeof(WeapName));
            if(weap != 0)
            {
                format(string,sizeof(string),\"Fegyver: {AFAFAF}%s\",WeapName);
                ShowPlayerDialog(playerid, DIALOG_FEGYVER, DIALOG_STYLE_MSGBOX, \"Fegyver információ\",string,\"Rendben\",\"\");
            }
        }
        x++;
    } else { //ha nincs nála fegyver
                format(string,sizeof(string),\"Fegyver: {AFAFAF}Nincs\");
                ShowPlayerDialog(playerid, DIALOG_FEGYVER, DIALOG_STYLE_MSGBOX, \"Fegyver információ\",string,\"Rendben\",\"\");
    }
    return 1;

 
Igazából a Ladmin4v2  /weaps parancsát próbáltam dialog-ba átvinni, azért lehet ismerõs 1-2 dolog.
Úgy érzem kicsit össze van kutyulódva a script, ráadásul csak 1 fegyót ír ki...
Ezért is kérném a segítséget. Köszönöm!
« Utoljára szerkesztve: 2013. március 10. - 17:44:00 írta Bloodest44 »

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Fegyver információ [DIALOG_MSGBOX]
« Válasz #3 Dátum: 2013. március 10. - 15:02:35 »
0 Show voters
Mivel nem vagyok otthon ezért egyénileg nem tudom megcsinálni, de hamar körbenéztem googlen és nem teszteltem le, de próbáld ki ezt, ahogy néztem mûködnie kéne német oldalon találtam aztán itt átfordítottam:
 

CMD:fegyverei(playerid,params[])
{
if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1,\"Te nem használhatod ezt a parancsot!\");
new pID,string[256];
new Waffe1,Waffe2,Waffe3,Waffe4,Waffe5,Waffe6,Waffe7,Waffe8,Waffe9,Waffe10,Waffe11,Waffe12,Waffe13;
new Ammo1,Ammo2,Ammo3,Ammo4,Ammo5,Ammo6,Ammo7,Ammo8,Ammo9,Ammo10,Ammo11,Ammo12,Ammo13;
if(sscanf(params,\"u\",pID))return SendClientMessage(playerid,-1,\"Használat /fegyverei[iD]\");
GetPlayerWeaponData(pID,0,Waffe1,Ammo1);
format(string,sizeof string,\"%d\",Waffe1);
GetPlayerWeaponData(pID,1,Waffe2,Ammo2);
format(string,sizeof string,\"%s\\n%d\",string,Waffe2);
GetPlayerWeaponData(pID,2,Waffe3,Ammo3);
format(string,sizeof string,\"%s\\n%d\",string,Waffe3);
GetPlayerWeaponData(pID,3,Waffe4,Ammo4);
format(string,sizeof string,\"%s\\n%d\",string,Waffe4);
GetPlayerWeaponData(pID,4,Waffe5,Ammo5);
format(string,sizeof string,\"%s\\n%d\",string,Waffe5);
GetPlayerWeaponData(pID,5,Waffe6,Ammo6);
format(string,sizeof string,\"%s\\n%d\",string,Waffe6);
GetPlayerWeaponData(pID,6,Waffe7,Ammo7);
format(string,sizeof string,\"%s\\n%d\",string,Waffe7);
GetPlayerWeaponData(pID,7,Waffe8,Ammo8);
format(string,sizeof string,\"%s\\n%d\",string,Waffe8);
GetPlayerWeaponData(pID,8,Waffe9,Ammo9);
format(string,sizeof string,\"%s\\n%d\",string,Waffe9);
GetPlayerWeaponData(pID,9,Waffe10,Ammo10);
format(string,sizeof string,\"%s\\n%d\",string,Waffe10);
GetPlayerWeaponData(pID,10,Waffe11,Ammo11);
format(string,sizeof string,\"%s\\n%d\",string,Waffe11);
GetPlayerWeaponData(pID,11,Waffe12,Ammo12);
format(string,sizeof string,\"%s\\n%d\",string,Waffe12);
GetPlayerWeaponData(pID,12,Waffe13,Ammo13);
format(string,sizeof string,\"%s\\n%d\",string,Waffe13);
ShowPlayerDialog(playerid,111,DIALOG_STYLE_MSGBOX,\"Fegyverei\",string,\"OK\",\"\");
return 1;
}

Fegyver információ [DIALOG_MSGBOX]
« Válasz #4 Dátum: 2013. március 10. - 17:43:05 »
0 Show voters
Az a baj, hogy ez egyszerre kiírja mind a 13-at feleslegesen, még ha csak 1 fegyver is van nálam.  :confused:
 :shurg:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal