Na dann wäre eine Umfrage nicht verkehrt.;)
Beiträge von Nikolas-Mrak
-
-
Also ich hätte auf jeden Fall Interesse an einer MySql Versiom
-
Kleine Frage was die "Serverbelastung" angeht.. Ich hab ein kleines Lichtblitzer-System gebaut (so wie beim Lightmod, das die vorderen Lichter des Fahrzeugs abwechselnd blinken).. Damit das auch vernünftig aussieht wegen der Geschwindigkeit hab ich den Timer jetzt auf 127.
Sowas ist ja eigentlich eine große Belastung für den Server, oder?Hier mal der Code, vielleicht kann mir jemand Tipps geben, wie man es resourcenschonender machen kann, Performancetipps etc, und ob ein anderer Weg sinnvoller wäre..
SetTimer("SosiBlitzer", 127, 1);
new count1 = 0;
new count2 = 1;
public SosiBlitzer()
{
new panels, doors, lights, tires;for(new i = 0; i < MAX_VEHICLES; i++)
{
if(SSBlitzer[i] == true)
{
GetVehicleDamageStatus(i, panels, doors, lights, tires);if(count2 == 1)
{
if(count1 == 0) { UpdateVehicleDamageStatus(i, panels, doors, 4, tires); count1++; return 1; }
if(count1 == 1) { UpdateVehicleDamageStatus(i, panels, doors, 5, tires); count1++; return 1; }
if(count1 == 2) { UpdateVehicleDamageStatus(i, panels, doors, 4, tires); count1++; return 1; }
if(count1 == 3) { UpdateVehicleDamageStatus(i, panels, doors, 5, tires); count1 = 0; count2 = 2; return 1; }
}
else if(count2 == 2)
{
if(count1 == 0) { UpdateVehicleDamageStatus(i, panels, doors, 3, tires); count1++; return 1; }
if(count1 == 1) { UpdateVehicleDamageStatus(i, panels, doors, 5, tires); count1++; return 1; }
if(count1 == 2) { UpdateVehicleDamageStatus(i, panels, doors, 3, tires); count1++; return 1; }
if(count1 == 3) { UpdateVehicleDamageStatus(i, panels, doors, 5, tires); count1 = 0; count2 = 1; return 1; }
}
}
}
return 1;
}Im Befehl wird dann einfach SSBlitzer für die jeweilige VehicleID auf true gesetzt.
-
Aber das ist doch kein Sirenensound, sondern nur so ne Hupe
-
Na dann bezahl du mal 490€ für ein Mainboard von nem Laptop, das bereits 4 Jahre alt ist und komplett nichtmal soviel Wert ist...
-
So ich hab das jetzt mal mit so ner Art Lötlampe versucht, allerdings ohne Erfolg. Immernoch das gleiche Problem wie vorher..
Hat jemand noch eine Idee was ich machen könnte?
Würds evtl was bringen wenn ich da mit dem Ofen versuche? Auch wenns danach funktiomieren würde, ist das ein temporär Fix oder könnte nach 2 Wochen wieder das Problem auftreten?
-
Nabend,
ich habe ein HP dv9318ea Notebook. Wie so oft bei den Geräten, ist bei mir warscheinlich der Grafikchip flöten gegangen... Beim Einschalten hab ich ein schwarzes Bild und nichts passiert.. Beim anschließen eines externen Monitors kann ich im abgesichertem Modus booten, hab dann aber falsche Farben und Streifen im Bild.Jetzt habe ich im Internet gelesen, das man das Problem durch Erhitzen des Chips beheben kann, z.B. mir einem Bunsenbrenner, Heißluftfön o.Ä., da so "Risse" oder kalte Lötstellen wieder verschmelzen.. Auf YouTube gibt es dazu auch zahlreiche Videos.. Ich hab das Notebook mal auseinander genommen und werde den Trick mal versuchen, vielleicht hilfts ja..
Auch Grafikkarten kann man ja bei einigen Fällen durch Erhitzen im Backofen reparieren.
Was haltet ihr davon? Hat das einer von euch schonmal versucht, und hats geklappt?
//EDIT:
Kennt einer eine Firma in Deutschland, am Besten im Rhein-Main-Gebiet, die Mainboards mit dem BGA-Verfahren repariert? -
Kostenlos wirst du da nicht wirklich was gutes finden. Kannst dir ja mal Corel VideoStudio anschaun.
-
Wäre es denn besser wenn man im Script nur PVars verwendet und keine normalen Variablen? Ist das resourcenschonender?
-
Doch, die 0.3c Version ist released.
-
dcmd_geld(playerid, params[])
{
new pID, betrag;
if(sscanf(params, "uu", giveplayer, betrag))
{
return SendClientMessage(playerid, COLOR_RED, "FEHLER: Benutze: /geld [ID] [Betrag]")
}
new spender[20] string[128], giveplayer[20];
GetPlayerName(playerid, spender, sizeof(spender);
GetPlayerName(pID, giveplayer, sizeof(giveplayer);
format(string, sizeof(string), " %s hat %s %u gegeben", spender, giveplayer, betrag);
//Hier müsste eine Funktion hin - ProxDetector(); weiß die syntax nicht auswendig. ProxDetector ist, damit Spieler in der Nähe das sehen können ;)
// Und hier kommen die Befehle fürs Geld abziehen bzw. zufügen hin, einfach den dem der es dem anderen gibt den betrag abziehen und dem anderen drauf zählen.
}bin zwar kein profi scripter, aber ich denke so müsste das ungefähr stimmen
So würd das nicht funktionieren, versuch mal das:
dcmd_geld(playerid, params[])
{
new pID, betrag;
if(sscanf(params, "ud", pID, betrag))
{
return SendClientMessage(playerid, COLOR_RED, "FEHLER: Benutze: /geld [ID] [Betrag]")
}
new spender[MAX_PLAYER_NAME], string[128], giveplayer[MAX_PLAYER_NAME];
GetPlayerName(playerid, spender, sizeof(spender);
GetPlayerName(pID, giveplayer, sizeof(giveplayer);
format(string, sizeof(string), " %s hat %s %d gegeben", spender, giveplayer, betrag);
//Hier müsste eine Funktion hin - ProxDetector(); weiß die syntax nicht auswendig. ProxDetector ist, damit Spieler in der Nähe das sehen können ;)
// Und hier kommen die Befehle fürs Geld abziehen bzw. zufügen hin, einfach den dem der es dem anderen gibt den betrag abziehen und dem anderen drauf zählen.
} -
Lösch ich "name" raus, kommt ingame nur der Text ohne Klammern u. Name..
Das hast du auch nirgendswo gescriptet.
format(blabla, sizeof(blabla), "(( %s sagt: %s ))", playername, string); //beispiel!
Playername musst du natürlich noch rausfinden, mit GetPlayerName.
-
Ups ich hab mich verschrieben, das sollte kein "d" sein sondern ein "s".
Kann es sein das du ochatoff auf 1 hast und es deshalb nicht geht?
-
dcmd_o(playerid,params[])
{
new string[128], name[24];
if(sscanf(params, "d",string))return SendClientMessage(playerid,0xC8C8C8FF,"/o [Text]");
{
if(ochatoff == 1){
if(pInfo[playerid][AdminLevel] > 2)
{
SendClientMessageToAll(0xFFFFFFFF, string);
}else{
SendClientMessage(playerid,0xC8C8C8FF,"Der Occ-Chat ist zurzeit Ausgeschaltet!");
}
}else{
SendClientMessageToAll(0xFFFFFFFF, string);
}
}
return 1;
}Versuchs mal so.
-
Vielleicht benutzen die Server blinkende Lichter bei Einsatzfahrzeugen (Cops, Rettungsdienst, etc.) und wollen deshalb nicht das es andere benutzen.
-
Moin,
was ist eigentlich der Unterschied zwischen return 0 und return 1 bei dem Fall hier?://OnPlayerText:
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, COLOR_ERROR, "Du kannst nichts schreiben, da dich ein Administrator gemuted hat!");
return 0;
}
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, COLOR_ERROR, "Du kannst nichts schreiben, da dich ein Administrator gemuted hat!");
return 1;
}
Beides macht das selbe - Wenn der Player gemuted ist schickt er die Message und "stoppt" da den Code.//EDIT
2. Wofür steht das "const" hier:
stock SendAdminMessage(level, const msg[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (PlayerInfo[i][pAdminlevel] >= level)
{
new string[128];
format(string, sizeof(string), "[Adm] %s", msg);
SendClientMessage(i, COLOR_ADMIN, string);
}
}
}
return 1;
}
Wenn man es weglässt funktioniert es genau so. -
Danke, habs jetzt so:
if(sscanf(params, "uS( )[128]", pID, sGrund)) {
-
Habe ein kleines Problemchen.
Hier mein Command:
dcmd_kick(playerid, params[])
{
if(PlayerInfo[playerid][pAdminlevel] >= 2) { } else return SendNotAdminMessage(playerid);new
sGrund[128],
pID;if(sscanf(params, "uz", pID, sGrund)) {
return SendUsageMessage(playerid, "/kick [playerid] ([grund])");
}
if(!IsPlayerConnected(pID)) {
return SendNotOnlineMessage(playerid);
}
SendKickMessage(pID, sGrund);
Kick(pID);
return 1;
}stock SendKickMessage(pID, reason[])
{
new string[128];
if(strlen(reason) > 0) {
format(string, sizeof(string), "> "#CNAME"%s "#CCADET"wurde vom Server gekickt. Grund: %s", GetName(pID), reason);
return SendClientMessageToAll(COLOR_CADET, string);
} else {
format(string, sizeof(string), "> "#CNAME"%s "#CCADET"wurde vom Server gekickt.", GetName(pID));
return SendClientMessageToAll(COLOR_CADET, string);
}
}In der Serverkonsole krieg ich jetzt beim Befehl folgendes:
Zitat[17:34:39] sscanf warning: 'z' is deprecated, consider using 'S' instead.
[17:34:39] sscanf warning: No default value found.
[17:34:39] sscanf warning: Format specifier does not match parameter count.Woran liegt das?
-
So gehts auch nicht, in die Variable pUsername packt er dann "SELECT * FROM '".
//EDIT:
Fehler gefunden.. Ich idiot..
In der Datenbank hatte das Feld Password 129 Zeichen, im Script nur 128. Dadurch kam die Verschiebung zustande. -
Hm..
new
EscPass[38],
Query[128];mysql_real_escape_string(inputtext, EscPass);
format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Username` = '%s' AND `Password` = md5('%s')", GetName(playerid), EscPass);
mysql_query(Query);
mysql_store_result();if(mysql_num_rows() > 0)
{
LoadPlayerInfo(playerid);
// ..... blablaDa lade ich den User und da habe ich das SELECT * FROM blabla