Szerző Téma: random kerdes  (Megtekintve 1738 alkalommal)

Nem elérhető Elen

  • 222
  • Elen
    • Profil megtekintése
random kerdes
« Dátum: 2013. november 30. - 21:58:57 »
0 Show voters
Hello!
Az lenne a kérdésem, hogyan lehetne megcsinalni, hogy egy valtozonak adok erteket pl:
 
new valami = 600;

 
utana hozzairni hogy..
 
valami = 600+random(100);

 
es igy nezzen ki pl egy SCM-ben?
 
valami = 600100

 
tehat, megadok egy erteket a valtozonak, a 600 és melle irni a random szamot.. de a 600 ne valtozzon csak irja melle a random szamot = ne adja ossze a szamokat

Nem elérhető Lucio

  • 232
    • Profil megtekintése
random kerdes
« Válasz #1 Dátum: 2013. november 30. - 22:50:52 »
0 Show voters
new valami = 600; //Létrehozod és adsz egy értéket neki.
new randomvalami = random(100);//Létrehozod és adsz egy random értéket neki 1 és 100 között
new szoveg[128];//Létrehozol egy string változót
format(szoveg, sizeof(szoveg), \"Valami = %d || Random Valami = %d\", valami, randomvalami); //Itt formázod a string változót, amiben behelyettesíted a %d-t a változókkal.
SendClientMessage(playerid, -1, szoveg);//Kiírod azt amit leformáztál.

 
Példa Eredmény: Valami = 600 || Random Valami = 43

Nem elérhető Elen

  • 222
  • Elen
    • Profil megtekintése
random kerdes
« Válasz #2 Dátum: 2013. november 30. - 23:01:26 »
0 Show voters
:) nem így gondoltam.
Tudom kicsit hülyén magyaraztam :D
Ez lenyegeben az RP szeromra kellene es telefonszamokhoz.. ha minden az elkepzeles szerint megy akkor lesz 2-3 telefonszolgaltato.. ahol veszel telefont olyan szamod lesz
pl:
vodafon 0670
t-mobile 0630
telenor 0620
es azt szeretnem megcsinalni, hogy amikor megkoti a szerzodest, akkor kap egy olyat h..
PL 0630
es ez melle irni a random szamot
pl: 0630 5478678

Nem elérhető Live

  • 507
    • Profil megtekintése
random kerdes
« Válasz #3 Dátum: 2013. december 01. - 00:06:59 »
0 Show voters
new valami = 600.random(100);

 
sztem csak ugy lehet ahogy az elottem levo irta...

Nem elérhető Szasza

  • 388
    • Profil megtekintése
random kerdes
« Válasz #4 Dátum: 2013. december 01. - 00:11:24 »
0 Show voters
new valami = 0630; //Létrehozod és adsz egy értéket neki.
new randomvalami = random(9999999);//Létrehozod és adsz egy random értéket neki 1 és 9999999 között
new szoveg[128];//Létrehozol egy string változót
format(szoveg, sizeof(szoveg), \"Telefonszám: %d %d\", valami, randomvalami); //Itt formázod a string változót, amiben behelyettesíted a %d-t a változókkal.
SendClientMessage(playerid, -1, szoveg);//Kiírod a telefonszámot.

 
Példa 0630 3244678
Átírva az elõzõkét ... szerintem így gondoltad nem?

Nem elérhető Elen

  • 222
  • Elen
    • Profil megtekintése
random kerdes
« Válasz #5 Dátum: 2013. december 01. - 00:43:05 »
0 Show voters

 
new valami = 600.random(100);

 
sztem csak ugy lehet ahogy az elottem levo irta...
 
[/quote]
Láttam már ilyet, megoldották valahogy :)
 

 
new valami = 0630; //Létrehozod és adsz egy értéket neki.
new randomvalami = random(9999999);//Létrehozod és adsz egy random értéket neki 1 és 9999999 között
new szoveg[128];//Létrehozol egy string változót
format(szoveg, sizeof(szoveg), \"Telefonszám: %d %d\", valami, randomvalami); //Itt formázod a string változót, amiben behelyettesíted a %d-t a változókkal.
SendClientMessage(playerid, -1, szoveg);//Kiírod a telefonszámot.

 
Példa 0630 3244678
Átírva az elõzõkét ... szerintem így gondoltad nem?
 
[/quote]
Ezzel meg az a gond, hogy kiírja az addig oke :) de dinivel ezt hogy mentem el?
Ha igy mentem el, akkor csak annyi lesz, hogy 0630, mert a valtozohoz nem adodott hozza a tobbi ertek.. :(
esetleg valami mas?
Nm az a lenyeg nekem, hogy kiirja, az, hogy egy valtozonak az alap erteke mondjuk 0630 ées ahoz hozzairni egy szamot pl 444
es a vegen igy nezne ki a valtozo erteke h: 0630444
tehat az eredeti erteket ne modositsa..
+ ezt elmenteni dinivel...
epp most iras kozbe jutott eszembe, hogy ez 2db valtozoval megoldhato :) ha jol gondolom.. javitsatok ki ha nem :)
 
new valami = 0630;
new telefonszam = random(99999);

 
es elmentesnel 2 kulon valtozot mentek, kiirasnal meg
 format(........ \"%d%d\",valami,telefonszam);

 
Visont igy mukodik a telefonszam alapjan playerid lekeres? mert ugye 2 valtozo van.. menne szerintetek?
« Utoljára szerkesztve: 2013. december 01. - 00:49:30 írta Elen »

Nem elérhető Lucio

  • 232
    • Profil megtekintése
random kerdes
« Válasz #6 Dátum: 2013. december 01. - 01:11:06 »
0 Show voters
A dinivel egy változóba mented le, tehát az már teljesen mindegy hány változóba mented le. Ha akarod akkor betû/változónként is lementheted dinibe egy változóba mented le

random kerdes
« Válasz #7 Dátum: 2013. december 01. - 22:28:21 »
0 Show voters
Szerk.: egyszerûen összefûzöd am amit írtál format-os is tökéletes csak akkor string-ként kezeld
Szerk2: ha mégis ragaszkodsz hozzá akkor tessék egy gyors öszsetákolt kódocska hozzá (igen tudom tudom mindig sz*r amit írok de nézzétek el ennyire vagyok képes s nem többre =T )
 

#include
stock intesteloszamgen()
{
//ha feltételezzük hogy az elõtaggal együtt egy pl..4+4 azaz 8 szamjegyû telószám kell nekünk
new szamjegyek[8] = {0,0,0,0,0,2,6,0}; //ebbe fogom beleszedni kezdésnek az elsõ 4et tudjuk a többit nullákkal rakom tele mert nem szeretem üresen hagyni
//fordított a sorrend igen a késöbbiekben rájöttök miért
for(new i=0;i < 4;i++) //ezzel csináltatom meg a végére a random 4 számot
szamjegyek = random(9); // zsupsz bele a helyére
//ez egy gagyi összegzéses dolog szóval sry érte de hát ez jutott elsõnek eszembe a végérõl haladunk elõre
new vegleges = 0;
for(new i=0;i < 8;i++)
vegleges = vegleges+(szamjegyek*exponent(10,i)); // szimpla matek hát ha nagy számot akarunk az mindig úgy néz ki hogy 10^0*egyesekszama+10^1*tizesek és így tovább
return vegleges;
}
stock exponent(szam,hanyadikra)
{
new eredmeny = szam;
for(new i=0; i < hanyadikra;i++)
eredmeny = eredmeny*szam;
return eredmeny;
}
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Blank Filterscript by your name here\");
print(\"--------------------------------------\\n\");
printf(\"%i <-- próba\",intesteloszamgen());
return 1;
}

 
megj.: ne akarj nagy számokat vele gondolj bele hogy az int-nek vannak határai
rem annyira nem rossz innetõl te döntésed hogy csinálod  sok sikert   byebi :smokin:
« Utoljára szerkesztve: 2013. december 01. - 22:59:08 írta Red-Eye »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
random kerdes
« Válasz #8 Dátum: 2013. december 01. - 23:23:42 »
+1 Show voters
Egyszerûen:
 
new Telefonszam, string[16];
format(string, sizeof(string), \"0670%d\", random(9999999));
Telefonszam = strval(string) // Itt a telefonszám, a Telefonszam változóban, amit akár el is menthetsz

 
Ha jól értem, akkor ez kell neked. Nos hát akkor: ennyi.

Nem elérhető Lucio

  • 232
    • Profil megtekintése
random kerdes
« Válasz #9 Dátum: 2013. december 01. - 23:30:19 »
0 Show voters
És akkor dini_Set -el

Dupla hozzászólás automatikusan összefûzve. ( 2013. december 01. - 23:31:19 )

Jól van összedobtuk mi.. :D

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
random kerdes
« Válasz #10 Dátum: 2013. december 01. - 23:32:48 »
0 Show voters

És akkor dini_Set -el

Dupla hozzászólás automatikusan összefûzve. ( 2013. december 01. - 23:31:19 )

Jól van összedobtuk mi.. :D
 
[/quote]
dini_IntSet... Mysqlt használok, de azért még erre is emlékszem... Amúgy mit dobtunk össze?

Nem elérhető Lucio

  • 232
    • Profil megtekintése
random kerdes
« Válasz #11 Dátum: 2013. december 01. - 23:35:14 »
0 Show voters
Félrenéztem a kódot. Amúgy meg mindenki írt mindent úgy gondoltam

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
random kerdes
« Válasz #12 Dátum: 2013. december 01. - 23:39:59 »
0 Show voters
Végülis az a sok hszetek oktatásnak nem volt rossz, azért megérte õket megírni :D Csak sajnos nem a megoldást mutatták be.

Nem elérhető Elen

  • 222
  • Elen
    • Profil megtekintése
random kerdes
« Válasz #13 Dátum: 2013. december 02. - 13:02:09 »
0 Show voters
kiprbálom nemsokara, koszi sracok :)
Akkor ezek szerint elsonek en is jol csinaltam, csak kifelejtettem az strval-t .... de koszi sracok egesz jo! csak kar h a 0630 helyett csak 630 van :(
« Utoljára szerkesztve: 2013. december 02. - 13:20:12 írta Elen »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
random kerdes
« Válasz #14 Dátum: 2013. december 02. - 14:05:27 »
0 Show voters
Mert 0-val nem kezdõdhet int, ha utána még van(nak) számjegy(ek). Ez esetben mentsd stringként, vagy mentsd számként a 06 nélkül, az úgyis mindig mindenhol 06 marad, szóval lehagyható. Ha meg szükség van rá, vizuálisan kiíratod...

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal