Beiträge von Schnacke

    Hi all,
    ich hab da mal nä frage an die Erfahrenen Leute unter euch.
    Kann mich das Script irgendwie testen und ergebnisse sehen wie schnell das Script ist?
    Weil wenns geht dann könnte man ja auch sachen anpassen damit es schneller ist :>
    Im ersten augenblick kommt mir nur eine Idee in den Kopf und zwar Taskmanager xD.
    Jmd erfahrung?
    Mfg

    Ich hab problem mit dem Compilen,


    Zitat

    error 047: array sizes do not match, or destination array is too small


    Hab den string versucht mit 64,128,256 & 512, geht nicht, oder kann es daran liegen das ich bei meinem Haus array
    das hier hab
    enum hInfo
    {
    //..............,
    Besitzer[24],//Kann es an der 24 liegen?
    //..............,
    };
    new HausInfo[MAX_HOUSES][hInfo];
    Mfg

    Ich hab doch erwähnt das die für Coordinationen sind.
    Hat sonst niemand anders eine Idee wie ich das noch lesen kann?
    Mfg
    ê:
    Ich hab mal eben getestet und beim Haus1 auf vergeben gestellt,
    es wurde in Gameangezeigt, also liegt es nicht an den if abfragen.
    Jetzt wurden die Vergeben0 nicht angezeigt,
    das problem liegt an den Häusern,
    das heißt es wird nur für Haus1 erstellt, ich hab doch eine schleife drin,
    also muss es doch gehen oder nicht?
    Mfg²

    stock sscanf(string[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(string))
    #else
    if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    stringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (string[stringPos] && string[stringPos] <= ' ')
    {
    stringPos++;
    }
    while (paramPos < paramCount && string[stringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = string[stringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = string[++stringPos];
    }
    do
    {
    stringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = string[stringPos];
    do
    {
    stringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, string[stringPos++]);
    }
    case 'f':
    {

    new changestr[16], changepos = 0, strpos = stringPos;
    while(changepos < 16 && string[strpos] && string[strpos] != delim)
    {
    changestr[changepos++] = string[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    stringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = stringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = string[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    string[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - stringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, string[stringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    string[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    stringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = string[stringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = string[stringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    stringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
    {
    stringPos++;
    }
    while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
    {
    stringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }

    Danke für die antwort,
    nur ich frag mich wie ich das den machen soll.
    Dort ist ja bei der abfrage

    PHP
    if(HausInfo[i][Vergeben] == 1)


    kein GameText beim

    PHP
    else

    funktioniert aber.
    Wie soll ich das sonst abfragen?
    Mfg

    Moinsen,
    ich bastell mir mit dem bfx_ini System ein Haus System.
    So, hab im Script enum erstellt und Maximale Häuser definiert

    PHP
    #define MAX_HOUSES 3


    So, die Datei wird erstellt,
    bsp mein Enum sind folgenderweiße aus:


    So meine Datei wird erstellt,die sieht dann so aus


    Da ich logischer weiße bei der definierung von Häusern 3 habe wurden auch 3 erstellt.
    Nun, bsp ich ändere bei den 2 Häusern was,



    So das eine Haus gehört dem Stadt, also nicht Vergeben (Vergeben0=0)
    das andere mir, also Vergeben (Vergeben1=0)
    Jetzt hab ich eine Schleife erstellt.



    Dort bei den if abfragen liegt auch mein problem,
    von

    PHP
    if(HausInfo[i][Vergeben] == 1)


    wird mir der GameText nicht angezeigt,
    vom

    PHP
    else

    also if(HausInfo[i][Vergeben] == 0) schon,
    ich verstehe nicht warum, könnte einer helfen?, ist echt wichtig.
    Mfg Schnacke


    Das mein Code, jedoch wird nur bei if(HausInfo[i][Vergeben] == 0)
    Der GameText angezeigt, bei if(HausInfo[Vergeben] == 1) kommt nichts.
    Hab die beiden Codes auch in einer Schleife probiert mit

    PHP
    for(new i=0;i<MAX_HOUSES;i++){	if(IsPlayerInRangeOfPoint(i,3.0,HausInfo[i][eX],HausInfo[i][eY],HausInfo[i][eZ]))   	{    	if(OpenINI("Haus.cfg"))     	{			format(bString, 64, "Vergeben%d", i);			HausInfo[i][Vergeben] = ReadIntKey(bString);			if(HausInfo[i][Vergeben] == 0)			{		       	format(bString, 64, "Preis%d", i);				HausInfo[i][Preis] = ReadIntKey(bString);			  	format(aString,sizeof(aString),"~g~Haus Informationen~n~~w~Preis: %d ~y~Besitzer: Staat ~b~",HausInfo[i][Preis]);				GameTextForPlayer(i,aString,2500,3);			}			else			{			    format(bString, 64, "Preis%d", i);			  	HausInfo[i][Preis] = ReadIntKey(bString);			  	format(bString, 64, "Besitzer%s", i);			   	HausInfo[i][Besitzer] = ReadIntKey(bString);			 	format(aString,sizeof(aString),"~g~Haus Informationen~n~~w~Geld: %d ~y~Besitzer: %s ~b~",HausInfo[i][Preis],HausInfo[i][Besitzer]);				GameTextForPlayer(i,aString,2500,3);			}		}		CloseINI();	}	return 1;}


    Ich mache grad ein Haus System mit BFX_INI und so ja hab halt nen enum erstellt und abfrage damit erstellt wie man sehen kann:
    [i]if(HausInfo[i][Vergeben] == 0 bzw 1)

    Nur funktioniert das mit der 1 nicht wirklich.
    Mfg

    Du kannst auch

    PHP
    stock GetPlayerSpeed(playerid,bool:kmh) // by misco
    {
        new Float:Vx,Float:Vy,Float:Vz,Float:rtn;
        if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz); else GetPlayerVelocity(playerid,Vx,Vy,Vz);
        rtn = floatsqroot(floatabs(floatpower(Vx + Vy + Vz,2)));
        return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }


    benutzen.
    Bsp du hast dein Speedo per Textdraw oda GameText

    PHP
    [Hier dein format oder was auch immer du benutz]"Kmh: %d",GetPlayerSpeed(i,true));


    Mfg

    Peace, bastell grad damit ein Haus System und meine frage ist vollgende,
    bsp ich hab nen enum erstellt..

    PHP
    enum wasauchimmer
    {
        lol,
        lol2,
        lol3,
        schnacke,
    };
    new abcdefghijkl.......


    und so bsp ich will schnacke abfragen,
    es ist doch möglich dann

    PHP
    if(abcdefghi...[i][schnacke] == 0)


    abzufragen oder?
    Mfg

    den elwa hätte lieber schweini schießen solln...
    ist doch klar das poldi immer mit links schießt das der ball nach rechts fliegt und vorteil für den torwart war das er das wusste und im vorraus sprang... :thumbdown: