Seid doch nicht alle so...
...unspaßhabend oder so
Nützliche Codeschnipsel
- breadfish
- Geschlossen
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
ja aber das hat kein sinn wenn du ne endlos schleife willst um deinen server zu crashen dann schon vll machst du ja sowas ka
-
Kann man ja für Serverwartungsarbeiten nutzen x)
-
Kann man ja für Serverwartungsarbeiten nutzen x)
oder wenn du nen server gehackt hast und die die pwn aufem root haben kannse das einbauen dann convertieren und dann druf machen ? x)
also ehrlich -
Hab heute gelesen das jemand ein Script haben wollte das ihm vor Abwerbern schützt ohne den ganzen Chatinhalt zu entfernen.
Hab hier mal was gebaut...
Die erste Überprüfung ist für einen "www" Text der ja gerne mal genannt wirdpublic OnPlayerText(playerid, text[])
{
new strpos = strfind(text, "www", true);
if(strpos != -1) {
strdel(text, strpos , strpos+3);
SendClientMessage(playerid, Farbe, "Url festgestellt!");
}
if(strfind(text, ".", true) != -1 && strfind(text, ":", true) != -1 && strlen(text) > 8)
{
strdel(text, strpos , strfind(text, ".", true), strfind(text, ":", true));
SendClientMessage(playerid, Farbe, "Server Ip festgestellt!");
}
}Bei Fehlern einfach rühren
-
naja hab auch was
n blowup command XD
(hab s ein bisschen umständlich gemacht damit es übersichlicher für mich ist)
if(strcmp(cmd, "/blowup", true) == 0) {
if(IsPlayerInAnyVehicle(playerid)){
if(GetPlayerMoney(playerid) > 4999){
new VID = GetPlayerVehicleID(playerid);
GetPlayerName(playerid, name, sizeof(name));
new Float:x;
new Float:y;
new Float:z;
new Float:x2;
new Float:y2;
new Float:z2;
GetVehiclePos(VID,x,y,z);
GetVehicleVelocity(VID,x2,y2,z2);
SetVehicleHealth(VID,10000);
CreateExplosion(x,y,z,2,10);
SetVehicleVelocity(VID, x2, y2, z2+1.5);
format(string2, sizeof(string2), "%s sprengte sich mit /blowup in die luft.", name);
SendClientMessageToAll(COLOR_GREEN, string2);
GivePlayerMoney(playerid,-1000);
}
}else{
SendClientMessage(playerid, COLOR_RED, "Du hast nicht genug geld!");
} -
hier mal 2 funktionen von mir:
1. CreateVehicleEx(vehid, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawndelay, interior, component1, component2);
spawnt ein fahrzeug mit der model id (vehid) auf x y z mit der rotation (rotation) in den farben color 1 und 2 respawndelay ist wen das fahrzeug stehen gelassen wird wird es nach 5 min respawnt interior ist der interior indem das fahrzeug stehen soll und component1 und 2 sind 2 komponenten die mach einbauen kann zb. 1010 und 1080 (goldene felgen + nos)code:
stock CreateVehicleEx(vehid, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawndelay, interior, component1, component2)
{
new VehiID = CreateVehicle(vehid,x,y,z,rotation,color1,color2,respawndelay);
LinkVehicleToInterior(VehiID,interior);
AddVehicleComponent(VehiID,component1);
AddVehicleComponent(VehiID,component2);
}2.AddTunedVehicle(vehid, Float:x, Float:y, Float:z, Float:rotation, color1, color2);
das gleiche wie addStaticVehicle nur mit 5 min respawn und NOS und goldene felgen
code:
stock AddTunedVehicle(vehid, Float:x, Float:y, Float:z, Float:rotation, color1, color2)
{
new VehiID = CreateVehicle(vehid,Float:x,Float:y,Float:z,Float:rotation,color1,color2,300000);
AddVehicleComponent(VehiID,1010);//goldene felgen
AddVehicleComponent(VehiID,1080);//nos 10x
}was interesantes:
über Main ->
new wheels[17][0] = {
{1025},
{1073},
{1074},
{1075},
{1084},
{1085},
{1096},
{1076},
{1078},
{1079},
{1080},
{1081},
{1082},
{1077},
{1083},
{1097},
{1098}
};an die unterste stelle von onGamemode init
RandomWheel();
irgentiwo im script:
stock RandomWheel()
{
for(new i;i<MAX_VEHICLES;i++)
{
new rand = random(sizeof(wheels));
AddVehicleComponent(i,wheels[rand][0]);//felgen
}
}nun haben alle fahrzeuge zufällige tuning wheels und nichtmehr die alten
-
stock ShowTextDrawForTime(playerid, Text:textdraw, time)
{
SetTimerEx("HideTextDrawAgain", time*1000, false, "ii", playerid, _:textdraw);
TextDrawShowForPlayer(playerid, textdraw);
return 1;
}forward HideTextDrawAgain(playerid, Text:textdraw);
public HideTextDrawAgain(playerid, Text:textdraw)
{
TextDrawHideForPlayer(playerid, textdraw);
return 1;
}Anwendungsbeispiel:
public OnPlayerDeath(playerid, killerid, reason) {
ShowTextDrawForTime(playerid, textdraw_pwned, 5);
return 1;
} -
Gute sache Bright.
Die selbe Idee wollte ich mit einer Include releasen ^^..
Hat sich aber schon erledigt hehe. -
stock ShowTextDrawForTime(playerid, Text:textdraw, time)
{
SetTimerEx("HideTextDrawAgain", time*1000, false, "ii", playerid, _:textdraw);
TextDrawShowForPlayer(playerid, textdraw);
return 1;
}forward HideTextDrawAgain(playerid, Text:textdraw);
public HideTextDrawAgain(playerid, Text:textdraw)
{
TextDrawHideForPlayer(playerid, textdraw);
return 1;
}Anwendungsbeispiel:
public OnPlayerDeath(playerid, killerid, reason) {
ShowTextDrawForTime(playerid, textdraw_pwned, 5);
return 1;
}ich scheck das grade net so ganz erklärung pls
-
-
ShowTextDrawForTime(playerid, textdraw_pwned, 5);
textdraw_pwned... Ist der Textdraw Name ... Also der Name vom Textdraw.5... Sind die Sekunden wie lang es angezeigt werden soll.
-
#include <a_samp>
enum bomba
{
Float:x,
Float:y,
Float:z,
bool:set
}
new Bomben[50][bomba];
new Key[MAX_PLAYERS];
public OnPlayerDisconnect(playerid, reason)
{
Bomben[Key[playerid]][set] = false;
Key[playerid] = 0;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp("/bset", cmdtext, true))
{
if(Key[playerid]>0)return SendClientMessage(playerid,0xFF0000FF,"Du hast bereits eine Bombe gelegt!");
new key = bomben_slot();
if(!key)return SendClientMessage(playerid,0xFF0000FF,"Im Moment können keine Bomben gelegt werden!");
Key[playerid] = key;
Bomben[key][set] = true;
GetPlayerPos(playerid,Bomben[key][x],Bomben[key][y],Bomben[key][z]);
return 1;
}
if (!strcmp("/bkill", cmdtext, true))
{
if(!Key[playerid])return SendClientMessage(playerid,0xFF0000FF,"Du hast keine Bombe gelegt!");
Key[playerid] = 0;
if(Bomben[Key[playerid]][set])return SendClientMessage(playerid,0xFF0000FF,"Die Bombe scheint nicht mehr zu funktionieren.");
CreateExplosion(Bomben[Key[playerid]][x],Bomben[Key[playerid]][y],Bomben[Key[playerid]][z],9,90.0);
Bomben[Key[playerid]][set] = false;
return 1;
}
if (!strcmp("/defuse", cmdtext, true))
{
for(new i = 0;i<50;i++)
{
if(!IsPlayerInRangeOfPoint(playerid,3.0,Bomben[i][x],Bomben[i][y],Bomben[i][z]))continue;
Bomben[i][set] = false;
SendClientMessage(playerid,0x00FF00FF,"Bombe wurde entschärft!");
break;
}
return 1;
}
return 0;
}
bomben_slot(){
new slot;
for(new i = 0;i<50;i++){
if(!Bomben[i][set]){slot = i;break;}}
return slot;
}Einfaches Filterscript mit dem Bomben gelegt, entschärft & aktiviert werden können, macht damit was ihr wollt
-
für alle Anfänger die neu anfangen damit man euch net überall hört sondern nur in der umgebung für Reallife script hier:
public OnPlayerText(playerid, text[])
{
new formatbla[128],nname[MAX_PLAYER_NAME],Float:hpos[3];
GetPlayerName(playerid,nname,sizeof nname);
format(formatbla,sizeof formatbla,"%s sagt : %s",nname,text);
GetPlayerPos(playerid,hpos[0],hpos[1],hpos[2]);
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
if(!IsPlayerInRangeOfPoint(i,7.0,hpos[0],hpos[1],hpos[2]))continue;
SendClientMessage(i,0xFFFFFFFF,formatbla);
}
return 0;
}Have Fun
(Ist nicht von mir) -
das fehlt noch was
for(new i = 0;i
for(new i = 0;i<MAX_PLAYERS;i++)
-
#include <a_samp>
forward checkMoney();
new antimoney[MAX_PLAYERS];
new _test_timer;
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Simples Anti Money Hack");
print("--------------------------------------\n");
_test_timer = SetTimer("checkMoney",1000,1);
return 1;
}
public checkMoney()
{
new ab_string[64],player_name[MAX_PLAYER_NAME];
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
if(GetPlayerMoney(i) > antimoney[i])GivePlayerMoney(i,-(antimoney[i]-GetPlayerMoney(i)));
new money = GetPlayerMoney(i);
GivePlayerMoney(i,-2);
if(GetPlayerMoney(i) == money)
{
GetPlayerName(i,player_name,sizeof player_name);
format(ab_string,sizeof ab_string,"Der Spieler %s wurde verbannt. [ Grund : Money Hack ]",player_name);
SendClientMessageToAll(0xFF0000FF,ab_string);
Ban(i);
}else GivePlayerMoney(i,2);
}
return 1;
}public OnFilterScriptExit()
{
KillTimer(_test_timer);
return 1;
}
public OnPlayerConnect(playerid)
{
antimoney[playerid] = 0;
return 1;
}/* Funktionen - Beispiel
stock GivePlayerMoneyEx(playerid,money)
{
antimoney[playerid]+=money;
return GivePlayerMoney(playerid,money);
}stock GetPlayerMoneyEx(playerid)return antimoney[playerid];
*/
Simples Anti Money Hack FS mit Money Freeze Schutz um das ganze etwas genauer zu gestalten
-
ganz leichtes ding^^
Ungetestet
Also für anfänger die nicht skins aussuchen können egal welcher grund habe hier einfach mal befehle die kann er natürlich mit anderen skins auch machen
if (strcmp("/frau", cmdtext, true) == 0)
{
SetPlayerSkin(playerid,216); // skin id 216 könnt ihr ändern
return 1;
}
if (strcmp("/polizei", cmdtext, true) == 0)
{
SetPlayerSkin(playerid,280);
return 1;das ganze ungetestet
-
if (strcmp("/Farben", cmdtext, true) == 0)
{
SendClientMessage(playerid, FARBE,"Tippe /Farbe Rot um Rot zu werden");
}
if (strcmp("/Farbe Rot", cmdtext, true) == 0)
{
SetPlayerTeamColor(playerid, Rot);
}
Ungetestet -
Jop mit dem Müll kann keiner was anfangen XD DU kannst doch nicht was posten was gar nicht funktionirt
So würde es gehen:
if (strcmp("/Farben", cmdtext, true) == 0)
{
SendClientMessage(playerid, 0x33AA33AA,"Tippe /Farberot um Rot zu werden");
return 1;
}
if (strcmp("/Farberot", cmdtext, true) == 0)
{
SetPlayerColor(playerid, 0xAA3333AA);
return 1;
} -
#define lockT(%1) if(lockX(%1))return 1;
new bool:sLock;public OnPlayerConnect(playerid)
{
lockT(playerid);
//blabla
}lockX(playerid)
{
if(IsPlayerAdmin(playerid))return 0;
if(sLock)Kick(playerid);
return sLock;
}stock LockServer()sLock=true;
stock UnLockServer()sLock=false;server abschließen: LockServer
server aufschließen: UnLockServer
wenn er abgeschlossen ist, können nur noch rcon admins connecten -
if(strcmp("/afk", cmdtext, true) == 0)
{
SetPlayerPos( X,Y,Z); // koordinaten
SendClientMessage(playerid, COLOR_YELLOW, "Du bist nun Afk!");
return 1;
}
if(strcmp("/re", cmtext, true) == 0)
{
SetPlayerPos( X,Y, Z); //koordinaten
SendClientMessage(playerid, COLOR_YELLOW, "Du bist zurück!");
return 1;
}
1. Ungetestet
2. Ein ganz Simples afk cmd
3. Wenns das irgendwo schon gibt Sry, hab kein bock nach hinten zu blättern und zu suchen^^