Szerző Téma: Több váltotó egy néven?  (Megtekintve 1461 alkalommal)

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
Több váltotó egy néven?
« Dátum: 2015. augusztus 27. - 22:57:10 »
0 Show voters
Üdv na tehát
az lenne a problemo hogy hogyan lehetne megcsinálni azt hogy van egy változóm
 
akr[playerid][adat];

 
persze ez enummal van megoldva
na és ezt hogyan lehetne sokszorozni tehát
 

akr[playerid][adat][1];
akr[playerid][adat][2];
akr[playerid][adat][3];

 
és ezeket hogyan lehet lekérni egyszerre?
tehát ha az 1 ez az értéke akkor ezt irja ki de ha a 2nek is van értéke akkor az 1 est és a 2 est is kiirja ha a hármasnak is akk mind a 3at
próbáltam ezt for taggal de nem jutottam vele sokra
 

for(new i; i < 3; i++){
if(akr[playerid][adat] == 1){
S1 = \"adat1\";
}
if(akr[playerid][adat] == 2){
S1 = \"adat2\";
}
}

 
na erre azt irja hogy unknow command
tehát dióhélyban
playerváltozót akarok elmenteni másik változóra ami a intet leforditja stringre ezt egyszerüen átrakom egy másik változóra ami ugyan ugy növexik majd ezeket a változókat kilistázni
[gmod]Pawn kódra ügyelj.[/gmod]
« Utoljára szerkesztve: 2015. augusztus 28. - 01:23:54 írta skyLine »

Több váltotó egy néven?
« Válasz #1 Dátum: 2015. augusztus 28. - 00:15:26 »
0 Show voters
new akr[playerid][adat][amennyi legyen.]

 

new akr[playerid][adat][3]

 
és így 3x bírod használni.
1
2
3

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
Több váltotó egy néven?
« Válasz #2 Dátum: 2015. augusztus 28. - 07:36:00 »
0 Show voters
Nem 4x mert igy a 0is benne van nem? De ezeket igy hogy kerem le?

Több váltotó egy néven?
« Válasz #3 Dátum: 2015. augusztus 28. - 08:11:21 »
0 Show voters
Ha a nulla is benne van akkor is csak 3x.
0, 1, 2
Csinálsz egy FOR-t ami a változó értékéig fut le, mint ha lenne egy MAX_valami

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
Több váltotó egy néven?
« Válasz #4 Dátum: 2015. augusztus 28. - 08:40:47 »
+1 Show voters
for(new i; i < 3;i++){
if(akr[playerid][adat]==1){
K = \"semmi\";
format(str,sizeof(str),\"%s\",K);
SendClientMessage(playerid, -1, str);
}else SendClientMessage(playerid, -1,\"nulla\");
}

 
na ez szép és jó mert elkezdett működni tegnap nem tudom mért nem ment
de most az lenne a probléma hogy ha vizsgálni akarom hogy melyik slot szabad azt hogy lehet megoldani vizsgálni kell mindet külön külön?
 
if(akr[playerid][adat][0]==0){
if(akr[playerid][adat][1]==0){
if(akr[playerid][adat][2]==0){

 
mert ha for-ral vizsgálom akkor telerakja mind a 3 at
 
for(new i; i < 3; i++){
if(akr[playerid][adat]==0){
akr[playerid][adat] = 1;
new str[128],K[3][30];
K=\"alap\";
format(str,sizeof(str),\"%s\",K);
SendClientMessage(playerid, -1, str);
}else SendClientMessage(playerid, -1,\"Csak 3 alap lehet nálad!\");
}

 
vagy csak vegyem le a fornál a berakási cuccot tehát nem i<3 hanem i<1
« Utoljára szerkesztve: 2015. augusztus 28. - 08:46:24 írta ROOCK »

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
Több váltotó egy néven?
« Válasz #5 Dátum: 2015. szeptember 19. - 09:19:00 »
0 Show voters
a probléma még mindig fennáll valaki esetleg?? tudna segíteni?

Több váltotó egy néven?
« Válasz #6 Dátum: 2015. szeptember 19. - 09:54:26 »
0 Show voters
Remélem, jól értem, amit szeretnél:
 

new str[128], K[3][30];
for(new i; i < 3; i++) {
    if(akr[playerid][adat] == 0) {
        akr[playerid][adat] = 1;
        format(K, sizeof(K), \"%s\", \"alap\");
        format(str, sizeof(str), \"%s\", K);
        SendClientMessage(playerid, -1, str);
    } else SendClientMessage(playerid, -1, \"Csak 3 alap lehet nálad!\");
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal