new Szam;/parancs{ Szam = random(5); Blokk();}
Blokk{ // ..... case 3: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 3-as szám.\"); } case 4: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 4-es szám.\"); } case 5: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 5-ös szám.\"); }}
Blokk{ // ... if(Szam == 2) { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 2-es szám.\"); } if(Szam == 3) { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 3-as szám.\"); } if(Szam == 4) { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 4-es szám.\"); } // ...}
Nem akarom a dolgokat 100 helyen átírni, vagy hozzáadni, hanem csak egy helyen, amely mindenhol érvényes lesz[/quote]mire gondolsz? Eddig nem nagyon volt szükségem nagyobb globális tömbökre (így tudom a legjobban megfogalmazni)[/quote] Egy kicsit konkretizálva a dolgot, hogy esetleg meg is értsétek: egy paranccsal meghívnék egy véletlenszerû számot, amely az adott tömbbõl kikeresi, hogy mi van az adott számnál, majd pedig végrehajtja azt.[/quote] Tomb { // ..... case 3: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 3-as szám.\"); } case 4: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 4-es szám.\"); } case 5: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 5-ös szám.\"); } }[/quote]Szerintem te nem a tömbre gondoltál hanem a függvényre de még mindig nem értem mire szeretnéd ezt használni, ha publikus akkor bõvebben kifejthetnéd mire kellene neked ez. Tömbben adatot tárolunk.
Eddig nem nagyon volt szükségem nagyobb globális tömbökre (így tudom a legjobban megfogalmazni)[/quote] Egy kicsit konkretizálva a dolgot, hogy esetleg meg is értsétek: egy paranccsal meghívnék egy véletlenszerû számot, amely az adott tömbbõl kikeresi, hogy mi van az adott számnál, majd pedig végrehajtja azt.[/quote] Tomb { // ..... case 3: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 3-as szám.\"); } case 4: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 4-es szám.\"); } case 5: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 5-ös szám.\"); } }[/quote]Szerintem te nem a tömbre gondoltál hanem a függvényre de még mindig nem értem mire szeretnéd ezt használni, ha publikus akkor bõvebben kifejthetnéd mire kellene neked ez. Tömbben adatot tárolunk.
Egy kicsit konkretizálva a dolgot, hogy esetleg meg is értsétek: egy paranccsal meghívnék egy véletlenszerû számot, amely az adott tömbbõl kikeresi, hogy mi van az adott számnál, majd pedig végrehajtja azt.[/quote] Tomb { // ..... case 3: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 3-as szám.\"); } case 4: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 4-es szám.\"); } case 5: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 5-ös szám.\"); } }[/quote]Szerintem te nem a tömbre gondoltál hanem a függvényre de még mindig nem értem mire szeretnéd ezt használni, ha publikus akkor bõvebben kifejthetnéd mire kellene neked ez. Tömbben adatot tárolunk.
Tomb { // ..... case 3: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 3-as szám.\"); } case 4: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 4-es szám.\"); } case 5: { SendClientMessage(playerid, COLOR_WHITE, \"Ez a 5-ös szám.\"); } }[/quote]Szerintem te nem a tömbre gondoltál hanem a függvényre de még mindig nem értem mire szeretnéd ezt használni, ha publikus akkor bõvebben kifejthetnéd mire kellene neked ez. Tömbben adatot tárolunk.
#include <a_samp>newszoveg[][] ={{ \"null\" },{ \"egy\" },{ \"kettõ\" },{ \"három\" },{ \"négy\" },{ \"öt\" }};public OnFilterScriptInit(){for(new i; i < 10; i++) // Teszt for ciklus. {printf(\"A véletlen kapott szám : %s\", szoveg[ random(sizeof(szoveg)) ]);}return 1;}
egy paranccsal meghívnék egy véletlenszerû számot, amely az adott tömbbõl kikeresi, hogy mi van az adott számnál, majd pedig végrehajtja azt.[/quote] Aztán ami benne van - a példában egy Client Message - lefut.[/quote]
Aztán ami benne van - a példában egy Client Message - lefut.[/quote]
public GlobalisFunkcio(playerid,functionid){switch(functionid){ case 0: { SendClientMessage(playerid,COLOR,\"Valami Üzenet\"); SendClientMessage(playerid,COLOR,\"Valami Üzenet\"); SendClientMessage(playerid,COLOR,\"Valami Üzenet\"); SetPlayerSkin(playerid,0); } case 1: { SendClientMessage(playerid,COLOR,\"Valami Üzenet\"); SetPlayerSkin(playerid,0); } case 2: { SendClientMessage(playerid,COLOR,\"Valami Üzenet\"); SetPlayerColor(playerid,COLOR); } case 3: { SendClientMessage(playerid,COLOR,\"Valami Üzenet\"); SetPlayerColor(playerid,COLOR); SetPlayerSkin(playerid,3); } // ...}return 1;}
GlobalisFunkcio(playerid,random(4));
forward GlobalisFunkcio(playerid,functionid);
#include <a_samp>enumblabla{str1[128],str2[128],str3[128],str4[128],cp,Float:akarmi}; newsokvalami [] [blabla] ={{ \"elsõ szöveg\", \"második szöveg\", \"harmadik\", \"negyedik\", 12, 0.3456 },{ \"dselsõ szöveg\", \"msdsásodik szöveg\", \"hsdarmadik\", \"negyedik dsdas\", 342, 23.3456 },{ \"dselsdsõ sdsadzöveg\", \"msdsásodik szösdsaveg\", \"hsdarmdsadadik\", \"negysdsdedik dsdas\", 342, 623.3456 }};newdata = 3; // Sajnos enum típusú adat tömbnél pawn-ban nem mûködik megfelelõen a sizeof így meg kell adni egy változóba az adatsorok számát. stock // Ha nem SetTimerrel hívod meg akkor jó a stock is.teszt(dat){printf(\"%s\", sokvalami[dat][str1]);printf(\"%s\", sokvalami[dat][str2]);printf(\"%s\", sokvalami[dat][str3]);printf(\"%s\", sokvalami[dat][str4]);printf(\"%d\", sokvalami[dat][cp]);printf(\"%f\", sokvalami[dat][akarmi]);}public OnFilterScriptInit(){for(new i; i < 10; i++) // Teszt for ciklus. {teszt(random(data));}return 1;}
sokvalami [3] [blabla]
És nem feltétlen szükség public funkció, hacsak nem SetTimer-rel akarod meghívni.[/quote]igaz én mondjuk csak publicot használok mivel én küldõ scriptekben is meghívom a függvényeimet
Jó tudni, csak én lusta vagyok megadni mert nincs kedvem számolgatni az adatsorokat ezért a fordítóra bízom a meghatározását.
new data = 3;
Jó tudni, csak én lusta vagyok megadni mert nincs kedvem számolgatni az adatsorokat ezért a fordítóra bízom a meghatározását. new data = 3; hogy is van ez? [/quote]Ja köss bele persze, én a több száz soros adatsorokra gondoltam nem egy pár soros példára. @DfoglaloÁtírtam a példát kicsit érthetõbbre számodra hátha látod benne azt amit szeretnél: #include <a_samp>enumblabla{str1[128],str2[128],str3[128],str4[128],money,Float:health};newsokvalami[3][blabla] ={{ \"elsõ szöveg\", \"második szöveg\", \"harmadik\", \"negyedik\", 12, 0.3456 },{ \"dselsõ szöveg\", \"msdsásodik szöveg\", \"hsdarmadik\", \"negyedik dsdas\", 342, 23.3456 },{ \"dselsdsõ sdsadzöveg\", \"msdsásodik szösdsaveg\", \"hsdarmdsadadik\", \"negysdsdedik dsdas\", 342, 623.3456 }};newadatsorokszama = sizeof(sokvalami);stock // Ha nem SetTimerrel hívod meg akkor jó a stock is.teszt(playerid, adatsorszam){SendClientMessage(playerid, -1, sokvalami[adatsorszam][str1]);SendClientMessage(playerid, -1, sokvalami[adatsorszam][str2]);SendClientMessage(playerid, -1, sokvalami[adatsorszam][str3]);SendClientMessage(playerid, -1, sokvalami[adatsorszam][str4]);GivePlayerMoney(playerid, sokvalami[adatsorszam][money]);SetPlayerHealth(playerid, sokvalami[adatsorszam][health]);}public OnPlayerSpawn(playerid){teszt(playerid, random(adatsorokszama)); // Egyetlen egy sorral meghívhatod bárhol, az adatokat meg kedvedre bõvítheted az adattömbben és nem kell átírni sehol semmilyen más adatot.return 1;}
#include <a_samp>enumblabla{str1[128],str2[128],str3[128],str4[128],money,Float:health};newsokvalami[3][blabla] ={{ \"elsõ szöveg\", \"második szöveg\", \"harmadik\", \"negyedik\", 12, 0.3456 },{ \"dselsõ szöveg\", \"msdsásodik szöveg\", \"hsdarmadik\", \"negyedik dsdas\", 342, 23.3456 },{ \"dselsdsõ sdsadzöveg\", \"msdsásodik szösdsaveg\", \"hsdarmdsadadik\", \"negysdsdedik dsdas\", 342, 623.3456 }};newadatsorokszama = sizeof(sokvalami);stock // Ha nem SetTimerrel hívod meg akkor jó a stock is.teszt(playerid, adatsorszam){SendClientMessage(playerid, -1, sokvalami[adatsorszam][str1]);SendClientMessage(playerid, -1, sokvalami[adatsorszam][str2]);SendClientMessage(playerid, -1, sokvalami[adatsorszam][str3]);SendClientMessage(playerid, -1, sokvalami[adatsorszam][str4]);GivePlayerMoney(playerid, sokvalami[adatsorszam][money]);SetPlayerHealth(playerid, sokvalami[adatsorszam][health]);}public OnPlayerSpawn(playerid){teszt(playerid, random(adatsorokszama)); // Egyetlen egy sorral meghívhatod bárhol, az adatokat meg kedvedre bõvítheted az adattömbben és nem kell átírni sehol semmilyen más adatot.return 1;}