Zu Frage 2, ich glaube zu 7-8 Buchstaben und der Text ist dann unterschiedlich Groß (Glaub ich jedenfalls)
Zu 1, so wie du es da hast geht es sowieso nicht, der 2 Parameter (Kennzeichen) wird nirgends gespeichert, und du formatierst den string text, in dem nix ist als string und nutzt dann die variable text? lol
Beiträge von DurtyFree
-
-
@BlackAce nutzt du vllt. einen Fahrzeug Streamer ?
-
Würde mich auch interessieren, hab hier mal was gefunden, aber davon kapier ich wenig da es objekt orientiertes PHP ist
http://www.woltlab.com/forum/b…-des-passworts-in-der-db/? -
http://wiki.sa-mp.com/wiki/SetNameTagDrawDistance
Das sollte es eigentlich sein, ich weiß nur nicht ob es nur für den Namen ist oder auch für den Heal. -
Zunno
Pack das unten oder oben (ausserhalb eines Callbacks/einer Funktion) noch hin
#if !defined isnull
#define isnull(%1) \
((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
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;
}
DOB::BytesToWord (bytes [0], bytes [1], bytes [2], bytes [3], word);
return word;
} -
Und es gibt sogar schon ein Compiler Plugin, http://forum.sa-mp.com/showthread.php?t=174033
Bei diesem Plugin gabs glaub einen trick zum Kopieren: http://forum.sa-mp.com/showthread.php?t=92246
Man musste die Datei in den gleichen Ordner verschieben oder so, dann dupliziert sie sich Irgendwie sowas wars, am besten du liest in dem Thread mal nach -
Hmm, es sieht so aus als ob du ein Dynamisches NPC System machen willst, bestimmt eins mit dem man InGame recorden kann und abspielen kann oder?
-
Ein Tutorial dazu aus meinem Forum:
http://www.minecraft.at/Forum/…-ich-den-tabmenue-bbcode/ -
Genau, aber du darfst nicht vergessen "text" mit deiner Text Variable zu ersetzen.
-
-
Du musst die Funktion unten ins Script einfügen, und kannst dann wie in meinem Beispiel die Funktion überall nutzen, zb. für den Normalen Chat unter OnPlayerText folgendes einfügen:
if (AdvertisementCheck (text)){SendClientMessage(playerid,FARBE,"Dir ist es untersagt Werbung auf diesem Server zu machen!");return 1;} -
Wieso so kompliziert? Also du willst einen String in einer .amx Datei ändern? Ob die .amx Datei dannach noch funktioniert... Schreib mal genauer was du vor hast dann können wir vielleicht andere Wege das zu machen posten.
-
Bei der Formatierung kann das ja nur schief gehen, probiers mal so:
if(strcmp(cmdtext, "/lohn", true) == 0)
{
GetPlayerWeaponData(playerid,slot,367,ammo);
if(ammo == 0)
{
GivePlayerMoney(playerid, 500);
return 1;
}
else
{
SendClientMessage(playerid,RED,"Nope, zu wenig!");
return 1;
}
} -
Also mehr kann ich wirklich nicht tuhen, da steht doch alles SOGAR AUF DEUTSCH, die Variable strtok wird nicht genutzt also benutz sie oder lösch sie einfach, auskommentieren geht übrigens auch (// an anfang der Zeile)
-
Dann entfern die strtok funktion oder füg ausserhalb einer Funktion/Callback "#define strtok" ein (Ohne Anführungszeichen)
-
Hab mein Beitrag editiert, les dir den Teil mal durch.
-
Und erklär mal was es bringt den Beifahrer zu blitzen wenn der Fahrer doch fährt und das Tempo bestimmt? Und wo soll der Fehler sein/Was funktioniert nicht/oder nicht richtig?
-
Hast du denn schon eine Anti IP Funktion im Script? Wird diese bei OnPlayerText aufgerufen?
//Edit, ok du hast die Funktion ja in den Mainpost editiert, die Funktion scheint aber nicht gerade gut zu seinIch empfehle dir Double-0-$even seine,
stock AdvertisementCheck (text []) //By Double O Seven
{
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))
return true;// Check for an IP.
for (i = 0, idx = 0; i < len; ++i)
{
if (string [i] == ':')
{
ipstring [idx] = '\0';
if (ipstring [0] && SplitIp (ipstring) != 0xFFFFFFFF)
return true; // Something of the form "number1.number2.number3.number4" has been found where 0 <= number1-4 <= 255. Can it be something else than an IP?
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; // Something of the form "number1.number2.number3.number4" has been found where 0 <= number1-4 <= 255. Can it be something else than an IP?
}
return false;
}
Dann einfach überall wo du sie nutzen willst:
if (AdvertisementCheck (textvariable))
{
//Er hat eine IP/Domain geschrieben, was soll passieren? Kick/Ban?
return 1;
} -
mach
#include <strtok>
raus, also lösch das und füg ganz unten den Code von oben ein. -
Strtok ist soviel ich weiß eine Funktion und keine Include
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}