moin,
kurtzes problem:
error 047: array sizes do not match, or destination array is too small
die zeile: tInfo[i][Name] = dini_Get("save", "Name");
tInfo[i][Name] ist im enum mit 128 angegeben:
enum Teams
{
Name[128],
....
}
moin,
kurtzes problem:
error 047: array sizes do not match, or destination array is too small
die zeile: tInfo[i][Name] = dini_Get("save", "Name");
tInfo[i][Name] ist im enum mit 128 angegeben:
enum Teams
{
Name[128],
....
}
Alles anzeigenmoin,
kurtzes problem:
error 047: array sizes do not match, or destination array is too small
die zeile: tInfo[i][Name] = dini_Get("save", "Name");
tInfo[i][Name] ist im enum mit 128 angegeben:
enum Teams
{
Name[128],
....
}
format(tInfo[i][Name], 128, "%s", dini_Get("save", "Name"));
Bei Strings setzen musst du format benutzen.
Gruß, Piet
format(tInfo[i][Name], 128, "%s", dini_Get("save", "Name"));
Bei Strings setzen musst du format benutzen.
Gruß, Piet
müssen ? eher können um zwei string zusammen zu bringen gibt es diverse andere string funktionen ich würde da eher strcat dazu verwenden was 2 mal schneller ist
als format
ID: 18728
Achso :o
new Grund[MAX_PLAYERS][256],Datum[MAX_PLAYERS][256],Uhrzeit[MAX_PLAYERS][256],GBV[MAX_PLAYERS][256];
db_get_field_assoc(Result,"Banned",str,sizeof(str));
SpielerInfo[playerid][Banned]=strval(str);
db_get_field_assoc(Result,"Grund",str,sizeof(str));
Grund[playerid]=str;
db_get_field_assoc(Result,"Datum",str,sizeof(str));
Datum[playerid]=str;
db_get_field_assoc(Result,"Uhrzeit",str,sizeof(str));
Uhrzeit[playerid]=str;
db_get_field_assoc(Result,"Gebanntvon",str,sizeof(str));
GBV[playerid]=str;
if(SpielerInfo[playerid][Banned] == 1)
{
// format(str,sizeof(str),"Du wurdest gebannt!\nGrund: %s\nDatum: %s\nUhrzeit: %s\nGebannt von: %s",Grund[playerid],Datum[playerid],Uhrzeit[playerid],GBV[playerid]);
ShowPlayerDialog(playerid,BanTrue,DIALOG_STYLE_MSGBOX,"{00FF00}[Ausschluss]",str,"OK", "");
SetTimerEx("Kicked",250,false,"i",playerid);
}
Jemand ne Idee, warum meine Stack/Heapsize auf über
Stack/heap size: 16384 bytes; estimated max. usage=514467 cells (2057868 bytes)
Total requirements: 300256 bytes
geht?
emand ne Idee, warum meine Stack/Heapsize auf über
Stack/heap size: 16384 bytes; estimated max. usage=514467 cells (2057868 bytes)
Total requirements: 300256 bytes
geht?
Ja, du erstellt da 4 Variablen mit jeweils einem 2 Demensionalen Array....
Sprich die 1. Dimension bei dir Verbraucht (500*4=2000Bytes*4=) 8000Bytes und die 2. Dimension verbraucht nochmal 256*4*4 = 4096
Erstelle nur 1ne Variable und nicht 4 und mach die doch etwas kleiner....
Erstelle nur 1ne Variable und nicht 4 und mach die doch etwas kleiner....
Du meinst ich Soll Grund, Uhrzeit, Datum etc. in einer Variable speichern?
Das ist mir schon klar, dass die zu groß sind, habs auch schon mit nem Enum versucht.
Will ja nur das aus der Datenbank, in die Variable laden, und im Dialog ausgeben lassen.
Du meinst ich Soll Grund, Uhrzeit, Datum etc. in einer Variable speichern?
Ja...zum beispiel, einfach so:
new tmp_var[4][MAX_PLAYERS][64]; //Ich hoffe MAX_PLAYERS ist nur so auf 100 definiert...
//PS: du musst nicht die Variable str benutzen, kannst auch direkt unsere Variable werden^^
db_get_field_assoc(Result,"Grund",str,sizeof(str));
tmp_var[0][playerid]=str;
db_get_field_assoc(Result,"Datum",str,sizeof(str));
tmp_var[1][playerid]=str;
db_get_field_assoc(Result,"Uhrzeit",str,sizeof(str));
tmp_var[2][playerid]=str;
db_get_field_assoc(Result,"Gebanntvon",str,sizeof(str));
tmp_var[3][playerid]=str;
mfg.
new tmp_var[4][MAX_PLAYERS][64]; //Ich hoffe MAX_PLAYERS ist nur so auf 100 definiert...
Jop ist auf 75 Slot Zahl definiert.
Gut, danke hat soweit funktioniert.
format(bstr,sizeof(bstr),"Du wurdest gebannt!\nGrund: %s\nDatum: %s\nUhrzeit: %s\nGebannt von: %s",banvar[0],banvar[1],banvar[2],banvar[3]);
ShowPlayerDialog(playerid,BanTrue,DIALOG_STYLE_MSGBOX,"{00FF00}[Ausschluss]",bstr,"OK", "");
Aber jetzt kommt im Dialog nur Grund: "ø
Musst das ja auch so schreiben:
format(bstr,sizeof(bstr),"Du wurdest gebannt!\nGrund: %s\nDatum: %s\nUhrzeit: %s\nGebannt von: %s",banvar[0][playerid],banvar[1][playerid],banvar[2][playerid],banvar[3][playerid]);
ShowPlayerDialog(playerid,BanTrue,DIALOG_STYLE_MSGBOX,"{00FF00}[Ausschluss]",bstr,"OK", "");
mfg.
format(bstr,sizeof(bstr),"Du wurdest gebannt!\nGrund: %s\nDatum: %s\nUhrzeit: %s\nGebannt von: %s",banvar[0][playerid],banvar[1][playerid],banvar[2][playerid],banvar[3][playerid]);
Hab garnicht an [MAX_PLAYERS] gedacht.
Passt, danke.
Hey ich wollte euch fragen warum das nicht geht.
Ich will wenn man /tv macht und wieder ausmacht das man dort landet wo man TV angemacht hat
if(strcmp(cmd, "/tv", true) == 0 || strcmp(cmd, "/recon", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Float:x,Float:y,Float:z;
if(PlayerInfo[playerid][pAdmin] > 0 || PlayerInfo[playerid][pSupporter] > 0)
{
if(WatchingTV[playerid] < 1)
{
GetPlayerPos(playerid, Unspec[playerid][Coords][0],Unspec[playerid][Coords][1],Unspec[playerid][Coords][2]);
}
}
if(Spectate[playerid] == 255 && PlayerInfo[playerid][pLocal] != 255 || Spectate[playerid] == 255 && PlayerInfo[playerid][pAdmin] > 0)
{
GetPlayerPos(playerid, Unspec[playerid][sPx], Unspec[playerid][sPy], Unspec[playerid][sPz]);
Unspec[playerid][sPint] = PlayerInfo[playerid][pInt];
Unspec[playerid][sLocal] = PlayerInfo[playerid][pLocal];
PlayerInfo[playerid][pLocal] = 255;
gTeam[playerid] = 0;
}
tmp = strtok(cmdtext, idx);
if(strcmp("off", tmp, true, strlen(tmp)) == 0)
{
if(WatchingTV[playerid] > 0)
{
WatchingTV[playerid] = 0;
Spectate[playerid] = 253;
GameTextForPlayer(playerid, "~w~ TV~n~~r~ Aus", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
SetPlayerPos(playerid,x,y,z);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Mit dem Befehl schaltest du den Fernseher aus [Einschalten mit /tv [ID]!");
return 1;
}
}
if(PlayerInfo[playerid][pAdmin] > 0 || PlayerInfo[playerid][pSupporter] > 0)
{
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerPos(playerid,x,y,z);
Spectate[playerid] = giveplayerid;
new Float:health;
GetPlayerHealth(Spectate[playerid], health);
GetPlayerName(Spectate[playerid], giveplayer, sizeof(giveplayer));
new cash = GetPlayerMoney(Spectate[playerid]);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "Recon: (%d) %s $%d H:%.0f",Spectate[playerid],giveplayer,cash,health);
}
else
{
format(string, sizeof(string), "UAV: (%d) %s",Spectate[playerid],giveplayer);
}
SendClientMessage(playerid, COLOR_GREEN, string);
WatchingTV[playerid] = 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREEN, "Ziel ist nicht verfügbar.");
}
}
else
{
SendClientMessage(playerid, COLOR_GREEN, "Du bist nicht befugt!");
return 1;
}
}
return 1;
}
wie wäre es wenn du die position ausließt und temporär zwischen speicherst
Guten Abend,
mein Problem ist das mein erstes Textdraw nicht angezeigt wird. Sondern mein zweites, wo hab ich den Fehler gemacht?
Unter OnGameModeInit:
Registerflug = TextDrawCreate(123.200012, 140.373321,"Entfernt");TextDrawLetterSize(Registerflug, 0.291999, 1.321244);TextDrawAlignment(Registerflug, 1);TextDrawColor(Registerflug, -1);TextDrawSetShadow(Registerflug, 0);TextDrawSetOutline(Registerflug, 1);TextDrawBackgroundColor(Registerflug, 51);TextDrawFont(Registerflug, 2);TextDrawSetProportional(Registerflug, 1);
Registerflugans = TextDrawCreate(122.400016, 161.777755, "Entfernt II");TextDrawLetterSize(Registerflugans, 0.291999, 1.321244);TextDrawAlignment(Registerflugans, 1);TextDrawColor(Registerflugans, -1);TextDrawSetShadow(Registerflugans, 0);TextDrawSetOutline(Registerflugans, 1);TextDrawBackgroundColor(Registerflugans, 51);TextDrawFont(Registerflugans, 2);TextDrawSetProportional(Registerflugans, 1);
Unter meinem stock:
TextDrawShowForPlayer(playerid,Registerflug);
TextDrawShowForPlayer(playerid,Registerflugans);
Der Registerflugans Textdraw funktioniert, der Registerflug nicht.
Da BlackAce der Waschlappen schon weg ist, muss mir irgendnen anderer Script-Guru mal kurz behilflich sein:
Gibt es eine Funktion von PAWN um die SERVER IP + Port auszugeben, auf der das besagte Filter-Script gerade läuft?
/ Edit: Achja und gegebenfalls vielleicht noch den Servernamen?
Da BlackAce der Waschlappen schon weg ist, muss mir irgendnen anderer Script-Guru mal kurz behilflich sein:
Gibt es eine Funktion von PAWN um die SERVER IP + Port auszugeben, auf der das besagte Filter-Script gerade läuft?
Ja sollte gehen sovern die bindip eingetragen ist:
http://wiki.sa-mp.com/wiki/GetServerVarAsInt
http://wiki.sa-mp.com/wiki/GetServerVarAsString
http://wiki.sa-mp.com/wiki/GetServerVarAsBool
Natürlich die String Funktion benutzen