Also willst du es in der Datei verschlüsseln oder wenn man es eintippt ?
mfg.
Also willst du es in der Datei verschlüsseln oder wenn man es eintippt ?
mfg.
So ungefähr:
md5(string);
mfg.
Schreibe das ganz alles ganz unten in dein Script, sollte soweit funzen
stock anty(string[])
{
if (!isnull (text))
{
new
idx,
i,
ipstring [128],
string [128],
len = strlen (text);
for (i = 0; i < len; ++i)
if (text [i] != ' ')
string [idx++] = text [i];
if (!(len = strlen (string)))
return false;
if (!strfind (string, "www.", false) || !strfind (string, "http://", false) || !strfind (string, ".com", false) || !strfind (string, ".net", false)
|| !strfind (string, ".de", false) || !strfind (string, ".org", false) || !strfind (string, "|", false))
return true;
for (i = 0, idx = 0; i < len; ++i)
{
if (string [i] == ':')
{
ipstring [idx] = '\0';
if (ipstring [0] && SplitIp (ipstring) != 0xFFFFFFFF)
return true;
idx = 0;
ipstring [0] = '\0';
}
else if ('0' <= string [i] <= '9' || string [i] == '.')
ipstring [idx++] = string [i];
}
ipstring [idx] = '\0';
if (ipstring [0] && SplitIp (ipstring) != 0xFFFFFFFF)
return true;
}
return false;
}
stock BytesToWord (byte0, byte1, byte2, byte3, &word, mode = 0)
{
switch (mode)
{
case 0:
{
new bytes [4 char]; // 4 char = 1
bytes {0} = byte3;
bytes {1} = byte2;
bytes {2} = byte1;
bytes {3} = byte0;
word = bytes [0];
}
default:
{
word = byte0; // & 0xFF;
word |= (byte1 << 8); // & 0xFF00;
word |= (byte2 << 16); // & 0xFF0000;
word |= (byte3 << 24); // & 0xFF000000;
}
}
}
stock SplitIp(ipstring [])
{
new
j,
bytes [4],
word;
for (new i = 0, len = strlen (ipstring); i < len; ++i)
{
if (j > 3)
return 0xFFFFFFFF;
if (ipstring [i] == ' ')
continue;
if (ipstring [i] == '*')
bytes [j] = 0xFF;
else if (ipstring [i] == '.')
{
++j;
}
else if ('0' <= ipstring [i] <= '9')
{
bytes [j] = 10 * bytes [j] + ipstring [i] - '0';
if (bytes [j] > 0xFF || bytes [j] < 0)
return 0xFFFFFFFF;
}
else
return 0xFFFFFFFF;
}
BytesToWord (bytes [0], bytes [1], bytes [2], bytes [3], word);
return word;
}
mfg.
InternetInk macht seine Arbeit wirklich super.
Da kann ich nur zustimmen
Großes Lob an Internetink aka Benjamin
mfg.
Schreibe einfach das ganz unten in dein Script:
stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}
mfg.
In der Tat, sehr privat
Das kann ich nur noch mal wiederholen
Und der weiße Hintergrund mit der hell grünen schrift ist übertrieben, nimm einfach einen anderen schwarz ton oder so
mfg.
#define MAX_BIZZES 50
enum bInt
{
Float:bX,
Float:bY,
Float:bZ,
Interior,//Int kannste net schreiben, das ist eine definition für eine Zahl in Visual C ( C++ )
};
new BizInfo[MAX_BIZZES][bInt];
Machs doch so ?
mfg.
Mit ForceClassSelection könnt ihr Spieler dazu bringen in diese Auswahl zu bringen mit: " << " " >> " oder " spawn "
mfg.
Ehm...
1. Was ist ein Cooldown ?!
2. Hier der Code für den Repair:
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
RepairVehicle(GetPlayerVehicleID(playerid));
mfg.
Finde so eine Brille hammer
Kostet aber bestimmt ne schöne Stange Geld...
Naja, aber schon eine geile idee
mfg.
new string[3500],string2[50];
format(string2,sizeof(string2),"Verbrechen/%s.txt",SpielerName(strval(inputtext)));
new File:f = fopen(string2, io_read);
fread(f, string);
fclose(f);
Also 1. Frage, wieso verwendest du strval(inputtext) ?
Sinnlos mach nur inputtext, da du ja keine Zahl auslesen willst ?!
So und nur die 1. Zeile wird ausgelesen, weil glaube ich der string zu klein ist von string2 setzte den mal am besten auf 256
mfg.
//EDIT:
Mach das mal so:
new string[256];
format(string,sizeof(string),"Verbrechen/%s.txt",SpielerName(inputtext));
new File:f = fopen(string, io_read);
fread(f, string);
fclose(f);
Setze das ganz unten in dein Script:
stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}
und dieses pTban
trägst du in dein enum ein
mfg.
Na super
Hier alle skinids: Klick
so und nun nochmal, der Code muss unter:
public OnPlayerCommandText(playerid, cmdtext[])
mfg.
das kannst du sicherlich im Script einstellen.
Klar wo auch sonst
ne Spaß, also wenn du da einen Befehl willst hier mal ein Codeschnipsel:
if(strcmp(cmd, "/skinchange", true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 1) //halt angeben in welcher Frak man ist
{
SetPlayerSkin(playerid, 1); // 1 ist nur ein bsp musste halt mir der gewünschten skinid ersetzen
}
return 1;
}
So ist das wenn du GF benutzt.. weiß halt nicht wie das in deinem Script ist, aber hoffe du kannst gut genug scripten um dir das selber einzurichten
mfg.
Sieht gut aus
Besonders das hier:
Warum haue ich euch nicht über den Tisch (ja, warum eigentlich nicht? :D)?
Ne, Spaß, nur zu empfehlen
mfg.
gar net auf den vorderen teil geachtet
mfg.
if(dialogid==DIALOG_VNAME)
{
if(response==0)
{
return 1;
}
if(response==1)
{
if(strlen(inputtext) >= 1)
{
SetPVarInt(playerid,"VName",inputtext);
return 1;
}
}
}
mfg.
Ich wollte euch nur drauf hinweisen, da sieht man mal wieder wie unreif ihr seid.
Das sagt der, der hier 2 Verwarnungen hat ...
Nunja ist jetzt mal gut damit, ich finde da du eh an keinem Scriptkurs teilnimmst, solltest du aufhören mich zu reizen...
mfg.
Mhm, mach das doch mal so:
new Text:Hallo[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
Hallo[playerid] = TextDrawCreate(1,1,"--");
//hier irgentwas halt so
}
Und dann kannst du es zerstören mit TextDrawDestroy(Hallo[playerid]);
So zerstörst du es halt nur für die playerid
mfg.