Bebras prieš 10 metų
Na tau reikės pasižymėti KUR vartotojas užlipo, žinoma tam reikės kokio nors kintamojo:
enum E_KAZKAS
{
Pinigai,
Ginklai,
};
new E_KAZKAS:KaDarytiPasirinkusKazkaTD[MAX_PLAYERS];
public OnPlayerPIckUpPickup(playerid, pickupid)
{
if(pickupid == Pinigupickupas)
{
KaDarytiPasirinkusKazkaTD[playerid] = Pinigai;
ShowTextDrawForPlayer(...);
}
else if(pickupid == GinkluPickupas)
{
KaDarytiPasirinkusKazkaTD = Ginklai;
ShowTextDrawForPlayer(...);
}
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == tas td)
{
switch(KaDarytiPasirinkusKazkaTD[playerid])
{
case Ginklai: GivePlayerWeapon(playerid, 38, 500);
case Pinigai: GivePlayerMoney(playerid, random(10));
}
}
}
Kintamųjų pavadinimai nekokie, bet esmę turėtum suprasti. Žinoma enum irgi nebūtinas, gali naudoti define arba tiesiog priskirti kokį nors skaičių.
Bebras prieš 10 metų
bool pirminis(int n)
{
int dalikliuKiekis = 0;
for(int i=1; i < n; i++)
{
if (n % i == 0)
{
dalikliuKiekis++;
}
}
if(dalikliuKiekis < 2)
{
return true;
}
else
{
return false;
}
dalikliuKiekis = 0;
}
Bėda čia:
if(dalikliuKiekis < 2)
Visi skaičiai išskyrus vienetą, turi bent du daliklius, t.y. vienetą ir save patį. Tas pats 3 jis dalinasi iš 3 ir iš 1. Todėl tikrink ar dalikliu kiekis mažesnis ar lygus dviems.
Bebras prieš 10 metų
Apie kokį Test kintamąjį ir kokį padidinimą tu kalbi?
Formatuodamas naudok %f...kaip ir visiems float tipo kintamiesiems...
Bebras prieš 10 metų
Yra funkcijų tam skirtų:
// Autorius "Simon" iš forum.sa-mp.com
stock Float:floatrandom(Float:max) {
return floatmul(floatdiv(float(random(cellmax)), float(cellmax - 1)), max);
}
Tai tavo komanda atrodytų taip:
CMD:random(playerid)
{
new string[16];
format(string ,sizeof(string), "Gavai %.2f", floatrandom(10.0));
SendClientMessage(playerid, -1, string);
}
Ši komanda duos nedidesnį skaičių nei 10.0.
Bebras prieš 10 metų
Tai į masyvą reikėtų prisidėti kokį nors darbo ID ir žaidėjui bandant atidaryti vartus tikrinti ar jo darbo ID sutampa su tų vartų prie kurių jis stovi.
Bebras prieš 10 metų
sscanf(Query, "p<|>{ds[80]}s[24]dd",
Update3DTextLabelText(Test, 0xFFFFFFFF, uzkl);
Tai supranti, kad net jeigu kintamajame Test kažkada ir buvo sukurto 3D Text label ID, dabar jau ten jo nebėra? Tu apskritai jį išvis sukuri?