Okay, es funktioniert mittlerweile alles wie es soll, vielen Dank!
Gruß
Okay, es funktioniert mittlerweile alles wie es soll, vielen Dank!
Gruß
Jop, jetzt gäbe es nur noch das Problem mit den \n, dies soll ja einen Zeilenumbruch erwirken, was ja so nicht funktioniert.
Es funktioniert leider immer noch nicht,
ich habe es das Filterscript gerade als Gamemode ausgeführt, wobei es dann auch nicht ging.
EDIT: Okay, ich habe es geschafft, nun klappt es!
Anbei:
Ich konnte Pawn mal, aber das ist auch schon was her.
Es ist mein erstes Filterscript, zuvor habe ich immer alles in einer Scriptfile
gepackt bis ich nach mehreren Tausend Seiten den Überblick verloren habe.
Ist halt wie bei der Schule, wenn man raus ist verdrängt man das meiste was man gelernt hat.
War bei mir jedenfalls so..
Okay, ich habe es mal reingepackt, nun ist folgender Fehler aufgetreten:
"warning 235: public function lacks forward declaration (symbol "GpsTimer")"
Gemeint ist folgendes:
public GpsTimer(playerid) <---
{
new string[64];
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
format(string, sizeof(string), "GPS-Koordinaten:\n%f,\n%f,\n%f", x, y, z);
PlayerTextDrawSetString(playerid, GpsText[playerid], string);
PlayerTextDrawHide(playerid, GpsText[playerid]);
PlayerTextDrawShow(playerid,GpsText[playerid]);
return 1;
}
Folgendes habe ich nun gemacht.
ocmd:gps(playerid,params[])
{
if(GpsOnOff[playerid] == 0)
{
SendClientMessage(playerid, 0x00FF00FF, "1");
PlayerTextDrawShow(playerid, GpsText[playerid]);
SendClientMessage(playerid, 0x00FF00FF, "2");
GpsOnOff[playerid] = 1;
SendClientMessage(playerid, 0x00FF00FF, "3");
}
else if(GpsOnOff[playerid] == 1)
SendClientMessage(playerid, 0xFF9933FF, "4");
{
SendClientMessage(playerid, 0xFF9933FF, "5");
PlayerTextDrawHide(playerid, GpsText[playerid]);
GpsOnOff[playerid] = 0;
SendClientMessage(playerid, 0xFF9933FF, "6");
}
return 1;
}
Daraufhin wurde mir im Chat die Zahlen 1-6 geschrieben.
Dann habe ich folgendes gemacht
ocmd:gps(playerid,params[])
{
if(GpsOnOff[playerid] == 0)
{
SendClientMessage(playerid, 0x00FF00FF, "1");
PlayerTextDrawShow(playerid, GpsText[playerid]);
SendClientMessage(playerid, 0x00FF00FF, "2");
GpsOnOff[playerid] = 1;
SendClientMessage(playerid, 0x00FF00FF, "3");
}
return 1;
}
Damit kamen dann nur noch die Zahlen 1-3, aber damit hat sich auch nichts verbessert.
Der Timer ist auch weg aber es bringt nichts.
Gruß
Okay, hier mal das was ich mir mittlerweile zusammengeschustert habe,
der Befehl "/gps" funktioniert noch immer nicht.
#include <a_samp>
#include <ocmd>
new PlayerText:GpsText[MAX_PLAYERS];
forward GpsTimer(playerid);
new GpsOnOff[MAX_PLAYERS] = 0;
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" GPS-Koordinaten-Fliterscript von Syneroz!");
print("--------------------------------------\n");
for(new i = 0; i < MAX_PLAYERS; i++)
{
new string[64];
new Float:x, Float:y, Float:z;
GetPlayerPos(i, x, y, z);
format(string, sizeof(string), "GPS-Koordinaten:\n%f,\n%f,\n%f", x, y, z);
GpsText[i] = CreatePlayerTextDraw(i, 240.0,580.0, string);
PlayerTextDrawColor(i,GpsText[i],0xffffffff);
PlayerTextDrawBackgroundColor(i,GpsText[i],0xFF9933FF);
PlayerTextDrawAlignment(i,GpsText[i],2);
PlayerTextDrawFont(i,GpsText[i],1);
PlayerTextDrawLetterSize(i,GpsText[i],0.35,0.7);
PlayerTextDrawSetOutline(i,GpsText[i],1);
PlayerTextDrawSetShadow(i,GpsText[i],1);
PlayerTextDrawSetProportional(i,GpsText[i],1);
}
return 1;
}
public OnPlayerConnect(playerid)
{
SetTimerEx("GpsTimer", 1000, true, "", playerid, "");
return 1;
}
ocmd:gps(playerid,params[])
{
if(GpsOnOff[playerid] == 0)
{
PlayerTextDrawShow(playerid, GpsText[playerid]);
GpsOnOff[playerid] = 1;
}
else if(GpsOnOff[playerid] == 1)
{
PlayerTextDrawHide(playerid, GpsText[playerid]);
GpsOnOff[playerid] = 0;
}
return 1;
}
public GpsTimer(playerid)
{
new string[64];
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
format(string, sizeof(string), "GPS-Koordinaten:\n%f,\n%f,\n%f", x, y, z);
PlayerTextDrawSetString(playerid, GpsText[playerid], string);
return 1;
}
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;
}
Okay, die beiden Zeilen sind raus.
Nun kommt folgendes "error 017: undefined symbol "playerid", das wäre dann Zeile 20.
GetPlayerPos(playerid, x, y, z);
Nun würde ich "playerid" durch "i" ersetzen, allerdings funktioniert dann der Befehl "/gps" nicht mehr.
#else
Ist damit die Zeil von sscanf gemeint?
Hallo,
ich habe heute ein Filterscript erstellt und stehe nun vor den
Problem, dass ich mein TextDraw nicht verändern kann.
Im Script kann ich zwar die Zeilen (Größe, Schriftart usw.) verändern und alles
mögliche, aber InGame ändert sich am Textdraw (Größe, Schriftart usw.) nichts.
Hier mal die ganzen Zeilen, es wäre sehr nett wenn mir da jemand helfen könnte.
#include <a_samp>
#include <ocmd>
new Text:GpsText[MAX_PLAYERS];
forward GpsTimer(playerid);
new GpsOnOff = 0;
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" GPS-Koordinaten-Fliterscript von Syneroz!");
print("--------------------------------------\n");
for(new i = 0; i < MAX_PLAYERS; i++)
{
new string[64];
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
format(string, sizeof(string), "GPS-Koordinaten:\n%f,\n%f,\n%f", x, y, z);
GpsText[i] = TextDrawCreate(240.0,580.0, string);
TextDrawColor(GpsText[i],0xffffffff);
TextDrawBackgroundColor(GpsText[i],0xFF9933FF);
TextDrawAlignment(GpsText[i],2);
TextDrawFont(GpsText[i],1);
TextDrawLetterSize(GpsText[i],0.35,0.7);
TextDrawSetOutline(GpsText[i],1);
TextDrawSetShadow(GpsText[i],1);
TextDrawSetProportional(GpsText[i],1);
}
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#endif
public OnPlayerConnect(playerid)
{
SetTimerEx("GpsTimer", 1000, true, "", playerid, "");
return 1;
}
ocmd:gps(playerid,params[])
{
if(GpsOnOff == 0)
{
TextDrawShowForPlayer(playerid, GpsText[playerid]);
GpsOnOff = 1;
}
else if(GpsOnOff == 1)
{
TextDrawHideForPlayer(playerid, GpsText[playerid]);
GpsOnOff = 0;
}
return 1;
}
public GpsTimer(playerid)
{
new string[64];
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
format(string, sizeof(string), "GPS-Koordinaten:\n%f, %f, %f", x, y, z);
TextDrawSetString(GpsText[playerid], string);
return 1;
}
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;
}
Gruß und vorab schon einmal vielen Dank!
Naja, das Theme ist vorerst selbst gemacht bis ich jemanden finde der mir ein ordentliches und schlichtes erstellen kann.
Mit Testen meine ich genauer gesagt, ob die Buttons usw. die richtige Funktion erledigen und ob irgendwo noch schwarze Schrift o.ä. ist.
Hallo Leute,
es wäre nett, wenn ihr bei Gelegenheit mein Forum testet und mir sagt ob Fehler vorhanden sind oder ob etwas verbessert werden sollte!
Macht euch dafür eventuell ein Account mit folgenden Tag: "[TESTER]Wunschname".
Accounts mit diesen Tag werden nachher gelöscht.
Wichtig dabei ist unter anderen das Theme! - Bei unstimmigkeiten bitte Bescheid geben!
Hier der Link zur Seite: http://www.all-cops-are-beautiful.de
//Edit: Wenn die Theme / das Design nicht gefällt: Allgemeiner Marktplatz: [Suche] MyBB Theme! - Machs besser!
Gruß
Der schaut gut aus!
Wenn es das Design zulässt, könntest Du eventuell auch Bilder von ein Piaggio-Rennen nehmen (einfach mal danach googlen!).
Aber Bilder von deiner Piaggio kannst Du auf jeden Fall auch benutzen!
Gruß
Hey,
ja, wenn der Roller gut aussieht!
- Das Logo sollte nach möglichkeit Leuchten..
- Vielleicht ein wenig Carbon dabei (muss aber nicht sein)..
Maße: 1.020px × 176px
Hallo Leute,
ich suche jemanden, der mir eine MyBB 1.6.13 Theme erstellen/designen kann!
Die Theme soll für eine Seite, die über Rollertuning handelt sein.
Folgende Voraussetzungen solltet ihr erfüllen:
Gruß
Hallo Leute,
ich suche jemanden der mir ein MyBB Theme /Design erstellen kann.
Es soll eher in dunklen Farben und schlicht gehalten sein!
Thema des Forums: Rollertuning!
Folgende Voraussetzungen sollten durch euch erfüllt sein:
Gruß
______
Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.
Nun habe ich auch 1GB Webspace und will mybb nutzen.
Ich habe mir jetzt die neuste Version von mybb gedownloadet, was muss ich nun machen?
Wie wäre es mit einer Boxkampf-Arena?
Ansonsten eine Death-Race-Arena, siehe den Film: Klick Mich!