START FREESURF
Ist es etwa möglich mehrmalls durchzuführen oda wie :D`?
Oda meinste halt mit ner anderen Karte=
Mfg
START FREESURF
Ist es etwa möglich mehrmalls durchzuführen oda wie :D`?
Oda meinste halt mit ner anderen Karte=
Mfg
Ich glaub eher Spam anstadt meinung....
Mfg
Jop, Tasmanger ist auch das einziegste in meinem Kopf, aber muss doch noch andere möglichkeiten geben
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
Hab alles mögliche probiert, von mind bString 25 - 256,
hab Beistzer mit %d und %s probiert geht auch nicht.(Ja ich weiß bei Texten muss es %s sein).
Sonst noch ideen?
Mfg
Ich hab problem mit dem Compilen,
public helpme^^(playerid)
{
new bString[64];
if(OpenINI("Haus.cfg"))
{
for(new i=0;i<MAX_HOUSES;i++)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,HausInfo[i][eX],HausInfo[i][eY],HausInfo[i][eZ]))
{
format(bString, 64, "Vergeben%d", i);
HausInfo[i][Vergeben] = ReadIntKey(bString);
if(HausInfo[i][Vergeben] == 1)
{
format(bString, 64, "Preis%d", i);
HausInfo[i][Preis] = ReadIntKey(bString);
format(bString, 64, "Besitzer%s", i);//<
HausInfo[i][Besitzer] = ReadStringKey(bString);//<
format(bString,sizeof(bString),"~g~Haus Informationen~n~~w~\nMietkosten: %d ~y~\nBesitzer: %s ~b~",HausInfo[i][Preis],HausInfo[i][Besitzer]);
GameTextForPlayer(playerid,bString,2500,3);
}
else
{
format(bString, 64, "Preis%d", i);
HausInfo[i][Preis] = ReadIntKey(bString);
format(bString,sizeof(bString),"~g~Haus Informationen~n~~w~\nHaus Preiß: %d ~y~\nBesitzer: Staat ~b~",HausInfo[i][Preis]);
GameTextForPlayer(playerid,bString,2500,3);
}
}
}
CloseINI();
}
return 1;
}
Alles anzeigen
Zitaterror 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;
}
Ja schreib doch mal genauer >.>
welche Kommas...
Mfg
Was willst du damit sagen?
Bei den Coordinationen müssen kommas hin für die Symbole.
Mfg.
Moinsen,
ich bastell mir mit dem bfx_ini System ein Haus System.
So, hab im Script enum erstellt und Maximale Häuser definiert
So, die Datei wird erstellt,
bsp mein Enum sind folgenderweiße aus:
enum hInfo
{
Float:eX, //X Eingang
Float:eY,//Y Eingang
Float:eZ,//Z Eingang
Float:aX,//X Ausgang
Float:aY,//Y Ausgang
Float:aZ,//Z Ausgang
Preis,//Preis
Besitzer[24],//Besitzer
Vergeben,//if Abfrage für GameTexte
};
new HausInfo[MAX_HOUSES][hInfo];
Alles anzeigen
So meine Datei wird erstellt,die sieht dann so aus
ZitatAlles anzeigeneX0=0.000000
eY0=0.000000
eZ0=0.000000
aX0=0.000000
aY0=0.000000
aZ0=0.000000
Preis0=0
Besitzer0=
Vergeben=0
eX1=0.000000
eY1=0.000000
eZ1=0.000000
aX1=0.000000
aY1=0.000000
aZ1=0.000000
Preis1=0
Besitzer1=
eX2=0.000000
eY2=0.000000
eZ2=0.000000
aX2=0.000000
aY2=0.000000
aZ2=0.000000
Preis1=0
Besitzer1=
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,
ZitatAlles anzeigeneX0=1642.2094,
eY0=-2335.4189,
eZ0=13.5469,
aX0=0.000000
aY0=0.000000
aZ0=0.000000
Preis0=1000
Besitzer0=Staat
Vergeben0=0
//Haus 2
eX1=1635.5204,
eY1=-2334.8687,
eZ1=13.5469,
aX1=0.000000
aY1=0.000000
aZ1=0.000000
Preis1=100
Besitzer1=Snake
Vergeben1=1
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.
//hier drüber sind andere schleifen....
new bString[256];
for(new i=0;i<MAX_HOUSES;i++)
{
if(OpenINI("Haus.cfg"))
{
if(IsPlayerInRangeOfPoint(i,5.0,HausInfo[i][eX],HausInfo[i][eY],HausInfo[i][eZ]))
{
format(bString, 64, "Vergeben%d", i);
HausInfo[i][Vergeben] = ReadIntKey(bString);
if(HausInfo[i][Vergeben] == 1)
{
format(bString, 64, "Preis%d", i);
HausInfo[i][Preis] = ReadIntKey(bString);
format(bString, 64, "Besitzer%s", i);
HausInfo[i][Besitzer] = ReadIntKey(bString);
format(bString,sizeof(bString),"~g~Haus Informationen~n~~w~Geld: %d ~y~Besitzer: %s ~b~",HausInfo[i][Preis],HausInfo[i][Besitzer]);
GameTextForPlayer(i,bString,2500,3);
}
else
{
format(bString, 64, "Preis%d", i);
HausInfo[i][Preis] = ReadIntKey(bString);
format(bString,sizeof(bString),"~g~Haus Informationen~n~~w~Preis: %d ~y~Besitzer: Staat ~b~",HausInfo[i][Preis]);
GameTextForPlayer(i,bString,2500,3);
}
}
}
CloseINI();
}
return 1;
}
Alles anzeigen
Dort bei den if abfragen liegt auch mein problem,
von
wird mir der GameText nicht angezeigt,
vom
also if(HausInfo[i][Vergeben] == 0) schon,
ich verstehe nicht warum, könnte einer helfen?, ist echt wichtig.
Mfg Schnacke
public 12345()
{
new bString[256];
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);
}
}
CloseINI();
}
}
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] == 1)
{
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;
}
Alles anzeigen
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
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
Die Include in alle SAMP Ordner wo Includes oder ist pawno/includes ist tun.
Mfg
Du kannst auch
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
Mfg
Peace, bastell grad damit ein Haus System und meine frage ist vollgende,
bsp ich hab nen enum erstellt..
und so bsp ich will schnacke abfragen,
es ist doch möglich dann
abzufragen oder?
Mfg