GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: maark - 2013. május 19. - 00:29:27

Cím: Formázott reklám
Írta: maark - 2013. május 19. - 00:29:27
Sziasztok! Elakadtam..
Lehet azt megcsinálni hogy mátrixban formázott szöveg?
Én így képzelem el, de ez csak egy vázlat hogy ti is megértsétek, mert amúgy ez egy hülyeség:
 
new str[100];
new Adv[][]=
{
    format(str, sizeof str, \"%d a thc értéke\", thc),
    \"Tipp: Ha jármû kéne írd be /v\",
    \"Vicc: Mért feszül superman a ruhája? - Mert S-es\",
    \"Vicc: Mi a különbség a férj és ET között? - Hát ET hazatelefonál\",
    \"Info: Ha találtál valami bugot, vagy hibát kérlek jelentsd nekünk a /bug paranccsal!\"
};

 
Mondjuk még arra is gondoltam hogy meghív egy eljárást, de kifogytam az ötletekbõl, nem bírom megcsinálni.
!Sima timer+új eljárás megoldás nem érdekel!
Cím: Formázott reklám
Írta: ZeRo - 2013. május 19. - 15:52:21
Szerintem megoldhatod úgy, hogy a kiírásnál generálsz egy véletlen számot, ami azt adja ugye meg, hogy melyik reklámot írja ki, és ha az mondjuk 1, akkor a formázott szöveget írod ki, ha meg más, akkor a számhoz tartozó sort a mátrixodból (a változó értékébõl elveszel 2-t).
Cím: Formázott reklám
Írta: maark - 2013. május 19. - 17:47:43
forward Adv();
public Adv(){
szam=randomEx(0, 4);
if(szam==0) return SendClientMessageToAll(red, \"Lol\");
if(szam==1) return SendClientMessageToAll(red, \"Lolka\");
if(szam==2) return SendClientMessageToAll(red, \"Loliska\");
if(szam==3){new str[150]; format(str, sizeof str, \"A szerveren %d/50 játékos online!\", Jatekos); SendClientMessageToAll(red, str);}
return 1;
}

 
Nem terheli a szervert? Amúgy köszi az ötletet!
Cím: Formázott reklám
Írta: Konstantin - 2013. május 19. - 21:46:19
fölösleges 4 lekérdezés, megoldható lenne hármas operációt használni, vagy switch-et
 
forward Adv();
public Adv(){
        new str[150];
        szam=randomEx(0, 4);
        SendClientMessageToAll(red, (szam==0) ? \"lol\" : (szam== 1) ? \"lolka\" : (szam == 2) ? \"loliska\" : (szam == 3) ? format(str, sizeof str, \"A szerveren %d/50 játékos online!\", Jatekos));
        return 1;
}

 
vagy
 
switch(szam)
{
case 0: SendClientMessageToAll(red, \"lol\");
} // és így a többit is
Cím: Formázott reklám
Írta: maark - 2013. május 19. - 22:43:55
Máreltumó, a 3as operátor. Nem tudom kezelni még :D de meglesz köszi :)
Cím: Formázott reklám
Írta: Konstantin - 2013. május 19. - 23:14:49
Na az elöbbi hibás, így jónak kell lennie:
 
forward Adv();
public Adv(){
        new str[150];
        szam=randomEx(0, 4);
        format(str, sizeof str, \"A szerveren %d/50 játékos online!\", Jatekos);
        SendClientMessageToAll(red, (szam==0) ? \"lol\" : (szam== 1) ? \"lolka\" : (szam == 2) ? \"loliska\" : (szam == 3) ? str);
        return 1;
}
Cím: Formázott reklám
Írta: maark - 2013. május 19. - 23:23:21
switch megoldás egyszerûbb, nem sikerül ez a 3as operátor. köszi