//edit
wird bei /rcon unloadfs OnFilterScriptExit aufgerufen ?
Ja wird es.
//edit
wird bei /rcon unloadfs OnFilterScriptExit aufgerufen ?
Ja wird es.
Dann gib dir doch mal $coastp aus, und guck was in dieser Variable steht.
Hey,
Kurze frage die wartezeit bei selbstmord funktioniert nicht irgendwie man kann ständig selbstmord machen?
CAlles anzeigenocmd:selbstmord(playerid,params[]) { new Float:Pos[3], SelbstmordStatusTimer; if(!(Spieler[playerid][pFraktion] == 18))return SendClientMessage(playerid, COLOR_WHITE, ERROR_FRAKTION); if((Spieler[playerid][pSprengstoff] - 2) < 0)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Es ist nicht genügend Sprengstoff vorhanden."); if(gettime() > SelbstmordStatusTimer) { SelbstmordStatusTimer = gettime() + (60*60); GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); new randompos = random(20),randexploderadius = random(40)+10; CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); randexploderadius = random(30)+10; randompos = random(10); CreateExplosion(Pos[0]+randompos, Pos[1]+randompos, Pos[2]+randompos, 7, randexploderadius); SetPlayerHealth(playerid, 0); Spieler[playerid][pSprengstoff] -= 2; ForEachPlayer(i) { if(IsPlayerInRangeOfPoint(i, 20.0, Pos[0], Pos[1], Pos[2])) { if(playerid != i) { Spieler[playerid][pKills]++; SetPlayerHealth(i, 0); new string[256]; OnWantedChange(playerid, Spieler[playerid][pWanteds], (Spieler[playerid][pWanteds]+2)); Spieler[playerid][pWanteds] += 2; UpdateWantedTD(playerid); format(string, sizeof(string), "{AA3333}Du hast ein Verbrechen begangen. (%s) Reporter: %s", "Mord", "Niemand"); SendClientMessage(playerid, COLOR_WHITE, string); format(string, sizeof(string), "{FFFF00}Dein aktuelles Wanted Level: %d", Spieler[playerid][pWanteds]); SendClientMessage(playerid, COLOR_WHITE, string); } } } } else { new SelbstmordTime = SelbstmordStatusTimer-gettime(), string[128]; format(string,sizeof(string),"{AFAFAF}Du kannst erst in %i:%02d Minuten Selbstmord machen.", floatround(SelbstmordTime/60), floatround(SelbstmordTime%60)); SendClientMessage(playerid, COLOR_WHITE, string); return 1; } return 1; }
Das liegt daran, dass SelbstmordStatusTimer eine lokale Variable ist, beim ausführen des Befehls also immer 0 ist.
Du musst dies zu einer globalen Variable ändern, die du dem Spieler zuweist.
Die globale Variable erstellst du einfach ganz oben in deinem Script so: new SelbstmordStatusTimer[MAX_PLAYERS];
Und in deinem Befehl ersetzt du jedes SelbstmordStatusTimer mit SelbstmordStatusTimer[playerid]
Du checkst nirgendwo ob der Spieler überhaupt connectet ist. Dazu ist der String dafür nur 128 Cells groß, was viel zu klein ist.
if(dialogid == DIALOG_RAKETE_ZIELAUSWAHL)
{
if(!response) return 0;
new strings[1024],LocationZone[MAX_ZONE_NAME];
new Float:x, Float:y, Float:z;
switch(listitem)
{
case 0:
{
if(CheckPointSetted[playerid] == 0) return SCM(playerid,-1,"Du hast auf der Karte kein Ziel markiert.");
}
case 1:
{
for(new i = 0; j = GetPlayerPoolSize(); i <= j; i++)
{
if(!IsPlayerConnected(i)) continue;
GetPlayerPos(i, x, y, z);
Get2DZone(x,y, LocationZone, MAX_ZONE_NAME);
format(strings, sizeof(strings), "%s%s ( ID: %d ) Position: %s\n",strings,GetName(i),i,LocationZone);
}
ShowPlayerDialog(playerid,DIALOG_RAKETE_SPIELERAUSWAHL,DIALOG_STYLE_LIST,"Ziel Auswählen",strings,"Auswählen","Abbrechen");
}
}
}
Alles anzeigen
Und statt für Spielerloops MAX_PLAYERS zu verwenden solltest du [wiki]GetPlayerPoolSize[/wiki] verwenden.
Habe nun einen Bot programmieren lassen, für 40€ und wollte gerade das Geld überweisen an den Typen der den Bot gemacht hat, auf einmal kam jedoch folgende Nachrichten (siehe Anhang), angeblich hat er das nicht gesendet und er hätte so eine Nachricht auch nicht bekommen, wie kann das sein das der Bot Viren verschickt? Weil der Link ist offensichtlich ein Virus.
Dann hat er wohl offensichtlich diese Nachricht in seinen Bot eingebaut um Leuten damit zu schaden, oder irgendwelche Informationen daraus zu kriegen.
Falls du den Bot schon hast, kannst du diese Nachricht dann aber einfach aus dem Sourcecode entfernen.
@LeonMrBonnie
Dann gib am besten ein mehr oder festes Budget an, damit wir dann auch wissen, in welche Richtung wir uns bewegen können.
LG
Ich hab halt keine Ahnung von Laptoppreisen, es soll ja aber auch nicht allzu overkill sein, da die Anwendungen ja jetzt wirklich nicht ressourcenintensiv sind.
Max. 700€
MacBook Air reicht für sein Vorhaben vollkommen und bekommt man für 930e
Das ein akzeptabler preis und die Geräte sprechen für dich und halten dementsprechend auch um einiges länger als “Windows” Laptops
Nette Idee, ich werde aber kein Appleprodukt kaufen.
Hi,
ich suche einen Laptop (bzw. Notebook) um damit hauptsächlich zu coden und YouTube zu gucken.
Ich habe nicht vor damit Spiele zu spielen, halt hauptsächlich leichte Aufgaben wie eben YouTube Videos gucken und eben in NodeJS, JS, PAWN etc. zu coden.
Hab keine wirkliche Preisvorstellung, aber sollte nicht allzu teuer sein, da es ja keine schweren Tätigkeiten ausführen muss.
Ich hab von Laptops (bzw. Notebooks) keine Ahnung, deswegen frage ich lieber hier.
Selfmade?
das design kommt mir bekannt vor
Das ganze baut auf Bootstap auf und ist dem Aussehen des ehemaligen FBI / LSPD Keybinder CP vom Design her ähnlich.
Steht direkt im 3. Satz.
Im Jahr 2019 Avira zu verwenden ist wie wenn du im Jahr 2019 mit MP3 Player vor die Türe gehst.
Als alternative Lösung kann ich Dir nur Avast empfehlen.
Die Kostenlose Version kannst Du Dir installieren und die wird keinerlei Probleme in dem Bereich hervorrufen.
Avast hat genau so viele False-Positives wie Avira, und dazu nervt es dich noch, dass du bitte die Pro Version kaufen sollst.
Am Besten ist es einfach kein Antiviren Programm zu haben. Windows Defender ist eines der besten Antivirirus Programme die es gibt, und nervt einen nicht mit Werbung oder sonstigem Müll.
Zusammengeschrieben sieht es finde ich einfach etwas komisch aus, erst recht wegen dem doppelten p. Da würde ich auch eher die Version mit dem Bindestrich wählen.
Geht der Discord Invite Link nicht mehr oder bin ich gebannt obwohl ich noch nie drauf war?
Bei mir geht der Link.
PHPmyadmin
Das "INTO" musst du aus dem Query entfernen. Das "INTO" Stichwort gehört nur in Querys mit INSERT.
Es muss einfach so sein: mysql_format(handle, query, sizeof(query), "UPDATE personalcars SET P_KZ = %d",PCar[playerid][d][P_KZ]);
Während dem Registrierungsvorgang falle ich und landeam 0 Punkt, wenn die Registrierung abgeschlossen ist lande ich ebenso am 0 Punkt.
SaveUserStats sieht so aus
CodeUPDATE `accounts` SET `Level` = '1', `Euro` = '0', `Cent` = '0', `Skin` = '78',`Admin` = '0', `SpawnX` = '132.000000',`SpawnY` = '-67.288498',`SpawnZ` = '1.578125',`SpawnR` = '-0.000000', `SpawnInt` = '0', `SpawnWorld` = '0', `LastLogin` = '14.02.2019', `LastLoginZeit` = '18:10:56' WHERE `ID` = '16'
Über kurze Hilfe am TS wäre ich sehr dankbar
Wie meinst das?
Wird SpielerDaten[playerid][player_Spawn] irgendwo erneut überschrieben?
Printe dir doch mal ob bei OnPlayerSpawn ob diese Variablen richtig sind. Setzt du sonst noch irgendwo die Position vom Spieler?
Hast du dir das Thema überhaupt durchgelesen?
Ich hab nirgendwo gefragt wie ich das mit PHP mache, sondern wie ich PHP auf meiner Webseite einbinde...
Wie auch immer ist es bereits erledigt, da ich es mit NodeJS selber hingekriegt habe.
public OnPlayerText(playerid, text[])
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new message[128],rpname[255],string[128];
rpname = RemoveUnderscore(SpielerDaten[playerid][player_RPName]);
format(message, sizeof(message), "%s sagt: {FFFFFF}%s", rpname, text);
new chat_color;
for(new i=0; i<GetPlayerPoolSize(); i++)
{
if(!SpielerDaten[i][player_Eingeloggt]) continue;
if(!IsPlayerInRangeOfPoint(i, CHAT_RADIUS, x, y, z))continue;
new Float:distance = GetPlayerDistanceFromPoint(i, x, y, z);
if(distance < CHAT_RADIUS / CHAT_FADES)
{
chat_color = COLOR_CHAT;
}
else if(distance < CHAT_RADIUS / CHAT_FADES * 2)
{
chat_color = COLOR_FADE1;
}
else if(distance < CHAT_RADIUS / CHAT_FADES * 3)
{
chat_color = COLOR_FADE2;
}
else if(distance < CHAT_RADIUS / CHAT_FADES * 4)
{
chat_color = COLOR_FADE3;
}
else if(distance <= CHAT_RADIUS / CHAT_FADES * 5)
{
chat_color = COLOR_FADE4;
}
SendClientMessage(i, chat_color, string);
}
return 0;
}
Alles anzeigen
Verwende bei Loops bei denen du durch alle Spieler loopst entweder GetPlayerPoolSize (Das ist die Anzahl der verbundenen Spieler) oder nutze das foreach Include.
Wie hast du denn CHAT_RADIUS und CHAT_FADES definiert?
Muss es if(!SpielerDaten[player_Eingeloggt](i)) continue; sein oder ohne (i)?
Das (i) in Klammern macht dort keinen Sinn, da du ja auf deine Spielerdaten zugreifen willst die in einem enum gespeichert sind, und nicht eine Funktion aufrufst. Also muss es if(!SpielerDaten[i][player_Eingeloggt]) continue; sein.