Beiträge von Trooper[Y]

    Prüf den Namen exakt, und nimm das ! vor strcmp raus...
    Andre Ursachen gibt's nicht.


    Mach bei strcmp Ne Else mit richtigem Namen und eingetippten

    Wollte mal fragen, was alles in einem Include rein muss, damit der Compiler nicht abstürzt...
    Habe jetzt mal das hier in eine Textdatei (stocks.inc) gepackt und includet, damit ich da die großen platzfressenden Funktionen reinpacken kann....


    Code
    #include <a_samp>native sscanf(string[], format[], {Float,_}:...);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':			{				setarg(paramPos, 0, _:floatstr(string[stringPos]));			}			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;}


    Leider stürzt der Compiler dabei ab....


    Wäre nett, wenn das einer berichtigt oder mir sagt, was falsch ist...

    Ich kann ebenfalls Seven empfehlen, und das obwohl ich immer die EInstellung hatte "XP läuft, was andres brauch ich nicht".
    Aber der Speedgewinn, die um einiges (!!!) leichtere Anwendung und die gute Abwärtskompatibilität überzeugen enorm.


    Zitat

    •Ist es ein stabiles betriebssystem? also kommt es häufig zu abstürtzen?
    •laufen programme wie sa:mp oder pawno und das ganze zeug darauf? also kurz gesagt: läuft ältere software darauf?
    •wie viel wird es kosten? ich habe etwas von knapp 200€ gelesen, aber ich weiß nicht ob es stimmt :D


    Ja (kein einziger Crash seit Wochen)
    Ja (Perfekt kompatibel)
    Nun, kommt auf den Händler an. Frag deine Familie, ob ihr euch nicht zusammen eine Home-Lizenz anlegen wollt, sollte um einiges günstiger sein (ka obs das überhaupt gibt, glaube aber schon)

    Lustige Aktion.
    Die wissen auch nicht, gegen was Sie vorgehen wollen.
    Dieben die Hand abschlagen,
    Betrügern die Augen ausstechen,
    Kindern ihre Videogames wegnehmen.


    Klingt doch alles nach heutiger Politik, nicht ?


    btw. wie war das?
    Wenn man ein Videogame ins Wasser wirft, und es schwimmt, ist es ein verfluchtes Spiel ?! ;)


    Ne, ma ohne Schmuh, die Menschen brauchen halt einen Sündenbock, der "alles schuld ist".
    Das war schon immer so.
    Und aktuell sind halt alle Amokläufer nur wegen Killerspielen dran.


    Aber die haben doch gar nicht den allergrößten Zusammenhang zwischen den Amokläufern bemerkt:
    *Außenseiter
    *Vernachlässigt
    *Waffen
    *Windows


    Wenn einer in der Nähe wohnt, kann der dann in meinem namen ne Windows-CD reinwerfen, und den Hohlköpfen erklären,
    dass 100% aller Amokläufer Windows besaßen, bzw. davon beeinflusst wurden...

    Nein, auserdem geht's hier um was andres.
    Wenn ihr aber weiterspammen wollt, kann ich gerne mal den Hammer der Gerechtigkeit auspacken...


    @topic: was soll da nicht gehen?
    Createn, attachen


    zeig uns doch ma deinen Versuch, da helfen alle viel lieber

    Weil es nicht geht.
    Bots werden nie in der Spielerliste angezeigt,
    und füllen keinen Slot, sondern ziehen einen ab.
    Dadurch kann man keinen Server optisch so aussehen lassen,
    als wäre er voll und beliebt....

    Wie kann ich mit dem MED Mapeditor (oder MEd o.ä.) eigene Mapobjekte in eine Datei exportieren ?
    Also so wie im MTA Mapeditor, wo ich dann die ganzen Koords übersichtlich rauskriege.
    Sehe da nur die Option "Save", und das gibt keine Koords aus, zumindest sehe ichs nicht.


    Mfg,
    Trooper