Offline |
|
|
Csatlakozott: 2017.08.09. 17:01 Hozzászólások: 266
Megköszönt másnak: 61 alkalommal Megköszönték neki: 72 alkalommal
|
Katonakevin írta: így szeretném formatex(String, charsmax(String), "Válasz egy fegyvert"); //itt ki tudjak választani egy Fegyver Skin-t menu_additem(menu, String, "1", 0);
formatex(String, charsmax(String), "Fegyverért kapott összeg %.2f"); //itt pedig írja mennyit tudna adni a kiválasztott fegyver Skin-ért menu_additem(menu, String, "", 0);
formatex(String, charsmax(String), "\rCsere"); //erre pedig ha rá megyek akkor meg kapjam azt az összeget amit fentebbi menüben ajánlana érte persze a kiválasztott Fegyver Skin-t pedig törölné menu_additem(menu, String, "2", 0);
Elég keszekusza az egész, de vázlatnak elég bőven: //tehát nem küldés hanem becseréled pénzre a skined... new Float:g_fRandom; public Piaccsere(id, valaszottskin) { new iMenu, iRow[7]; if(valaszottskin == -1)//ha -1 { iMenu = menu_create(fmt("Valassz fegyvert"), "Piaccsere_h"); for(new i = 0; i < sizeof(skinek); i++)//végig pörgetjük a skinek nevein { num_to_str(i, iRow, 6); menu_additem(iMenu, fmt("%s %dDB", skinek[i], skinekdb[i][iId]), iRow); } } else if(valaszottskin > -1)//ha nagyobb mint -1 { new Float:Osszeg = 0.00; new Float:Rnd = 0.00; if(g_fDollar[id] < 1000.00)//ha kisebb mint 1000 akkor { Rnd = random_float(1.0, 100.0);//1-100ig randomizáljuk Osszeg = g_fDollar[id]+Rnd;//osszeghez adunk, dollarom+randomizalt g_fRandom = random_float(1.0, Osszeg);//es osszeggel 1-osszegig randomizáljuk } else//ha nagsobb mint 1000 { Rnd = random_float(1.0, 150.0);//1-150ig randomizáljuk Osszeg = g_fDollar[id]+Rnd;//osszeghez adunk, dollarom+randomizalt g_fRandom = random_float(1.0, Osszeg);//es osszeggel 1-osszegig randomizáljuk } //igy azthizsem nincs profit kisebb dollarnal, igy nincs konnyu penzszerzesi lehetoseg, max tobb penznel 50el tobb lesz akar; //ezeket a szamokat atirhatod tetszesed szerint is. iMenu = menu_create(fmt("A kivalasztott skin: %s^n^nEnnyit tudok erte ajanlani: %.2f", skinek[valaszottskin], g_fRandom), "Piaccsere_h"); menu_additem(iMenu, fmt("Csere"), "0", 0); menu_additem(iMenu, fmt("Elutasít"), "1", 0); } menu_setprop(iMenu, MPROP_EXITNAME, fmt("Kilépés")); menu_display(id, iMenu); } public Piaccsere_h(id, iMenu, iMenuItem) { if(iMenuItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new sData[9], sName[MAX_NAME_LENGTH], iAccess, iCallback, iKey; menu_item_getinfo(iMenu, iMenuItem, iAccess, sData, charsmax(sData), sName, charsmax(sName), iCallback); iKey = str_to_num(sData); new iNewKey; new bool:bValasztott; // nem szeretném leirkalni soronként sorry if(!bValaszott) { iNewKey = iKey; client_print_color(id, id, "Kivalaszottad a(z) %s skint", skinek[iKey]); g_bValaszott = true; Piaccsere(id, iKey); } else if(bValaszott) { switch(iKey) { case 0: { skinekdb[iNewKey][id] --; g_fDollar[id] += g_fRandom; bValaszott = false; client_print_color(id, id, "Kaptal a %s fegyverert %.2f dollárt.", skinek[iNewKey], g_fRandom); } case 1: { bValaszott = false; client_print_color(id, id, "Elutasitottad a cseret, skin: %s, osszeg: %.2f", skinek[iNewKey], g_fRandom); } } } return PLUGIN_HANDLED; } /*--> ezt*/ Piaccsere(id, valaszottskin) /*igy hivnam meg:*/ Piaccsere(id, -1);
//de igazabol igy is lehet, ha van benne szint: new Float:fOsszeg = 0.00; new Float: fRnd[2]; fRnd[0] = 0.00.; fRnd[1] = 0.00; fRnd[0] = g_fDollar[id] - (g_fDollar[id] % g_iLevel[id]); fRnd[1] = random_float(1.00, fRnd[0]); fOsszeg = g_fDollar[id] % fRnd[1]; g_fRandom = fOsszeg; //pl itt sokszor olyan kis számok fognak kijönni 500 esetén akár 2 alatt is, ha így nem tetszik az fOsszeget megszorzod 10el a végén és máris 2 helyett 20at kapsz pl
Talán jól irtamxD
_________________ "Szeretek aludni... mert az álmaim szebbek, mint a valóság."
|
|