Wo finde ich die Farben für den Textdraw?
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
Warum geht das nicht?
Code
Alles anzeigen[09:26:04] [junkbuster] - Joypad = 2 [09:26:04] [junkbuster] - ArmedVehicles = 0 [09:26:04] [junkbuster] - VehicleRepair = 0 [09:26:04] [junkbuster] - TuningHack = 0 [09:26:04] [junkbuster] - PayForGuns = 1 [09:26:04] [junkbuster] - SpawnVehicles = 0 [09:26:04] [junkbuster] - MaxTotalWarnings = 15 [09:26:04] [junkbuster] - TooManyWarningsAction = 1 [09:26:04] [junkbuster] - AirbrakeDetection = 1 [09:26:04] [junkbuster] - SpeedhackDetection = 1 [09:26:04] [09:26:04] [junkbuster] 0 IP-bans have been loaded. [09:26:04] [junkbuster] 0 temporary bans have been loaded. [09:26:04] [junkbuster] 0 whitelist entries have been loaded. [09:26:04] [junkbuster] 5 blacklist entries have been loaded. [09:26:04] [junkbuster] 45 bad words have been loaded. [09:26:04] [junkbuster] 4 forbidden weapons have been loaded. [09:26:04] [junkbuster] JunkBuster has been configurated. [09:26:04] [junkbuster] JunkBuster (v11) has successfully been loaded. [09:26:04] Loaded 1 filterscripts. [09:26:04] Script[gamemodes/NoL.amx]: Run time error 19: "File or function is not found" [09:26:04] Number of vehicle models: 0
-
Wo finde ich die Farben für den Textdraw?
http://www.colorpicker.com
Im Format
0xRRGGBBAA
Von der Seite bekommst du das RRGGBB. Das AA ist die Transparenz. -
Wie rechne ich aus dem gettime(); Tage aus?
Also ich möchte ein Befehl machen "/makepremium <Spieler-ID> <Tage>" und wie rechne ich da die Tage dann aus?
-
new zeitBisEnde = gettime() + tage * 86400; //1 Tag = 86400 Sekunden
-
So ich hab da jetzt mal etwas versucht aber ich glaube das funktioniert nicht ganz...
In der Datenbank wird diese zahl gespeichert, wenn ich 1 Tag Premium gebe.
-1446823452stock MakePremium(playerid,dauer,makerid)
{
new timestamp,str[128],str2[128],query[1024];
timestamp = gettime();
new zeitBisEnde = gettime() + dauer * 86400;
timestamp += zeitBisEnde;
format(str,sizeof(str), "%s hat dir %i Tage den Premiumrank übergeben.", SpielerName(makerid), dauer);
SendClientMessage(playerid, GELB, str);
format(str2,sizeof(str2), "%s hat %s %i Tage den Premiumrank übergeben.", SpielerName(makerid), SpielerName(playerid), dauer);
SendAdminMessage(ADMIN, str2);
format(query,sizeof(query), "UPDATE accounts SET PremiumZeit='%d' WHERE ID='%i'", timestamp, sInfo[playerid][pDBID]);
mysql_function_query(mysql,query,false,"","");
return 1;
} -
timestamp += zeitBisEnde;
Zu
timestamp = zeitBisEnde;Du kannst aber auch einfach zeitBisEnde in die Datenbank eintragen.
-
Ok geht.
kann ich das abfagen auch wie hier bei meinem timeban machen.
Also bei dem login anzeigen wie lange der SPieler noch Premium hat.new timestamp = gettime();
new bisgebannt = sInfo[playerid][pTimeBanZeit];
if(timestamp < bisgebannt)
{
new differenz = bisgebannt - timestamp;
new Minuten = differenz / 60;
new str[256];
format(str,sizeof(str), "Du bist noch für %i Minuten gebannt!", Minuten);
SendClientMessage(playerid, ADMIN, str);
SetTimer("KickTimer", 1000, false);
return 1;
} else {
new query[1024];
format(query,sizeof(query), "UPDATE accounts SET TimeBanZeit='0' WHERE ID='%i'", sInfo[playerid][pDBID]);
mysql_function_query(mysql,query,false,"","");
} -
Ja, das kannst du genau gleich machen.
-
Nochmal zu den Stunden. Das ist diesesmal ja nicht
new zeitBisEnde = gettime() + tage * 86400;
Durch wie viel muss ich denn da teilen? durch die 86400? Um die Stunden zu bekommen?
new Minuten = differenz / 60; -
Nochmal zu den Stunden. Das ist diesesmal ja nicht
new zeitBisEnde = gettime() + tage * 86400;
Durch wie viel muss ich denn da teilen? durch die 86400? Um die Stunden zu bekommen?
new Minuten = differenz / 60;3600
-
Geht soweit aber Der sagt mir das sind ~1430 Minuten?
-
Ein Tag hat 1440 Minuten.
Kannst es ja noch durch 60 teilen, dann hast du es in Stunden.Oder du erstellst dir durch herunter rechnen eine Ausgabe wie
ZitatDu hast noch X Tage, X Stunden und X Minuten Premium.
-
Ja ok dann habe ich mich Falsch ausgedrückt.
Ich möchte das so haben, dass da dann steht bei 1 Tag Premium 23 Stunden und 59 Minuten.
-
new zeitBisEnde = DIE_SPIELER_VARIABLE;
new tage = zeitBisEnde / 86400;
zeitBisEnde -= tage * 86400;
new stunden = zeitBisEnde / 3600;
zeitBisEnde -= stunden * 3600;
new minuten = zeitBisEnde / 60;
zeitBisEnde -= minuten * 60;
new sekunden = zeitBisEnde; -
mhm.... also entwerde stehe ich total auf dem Schlauch oder das nicht nicht richtig...
So hab ichs jetzt
new timestamp = gettime();
if(sInfo[playerid][pPremium] == 1){
new nochpremium = sInfo[playerid][pPremiumZeit];
if(timestamp < nochpremium)
{
new tage = nochpremium / 86400;
nochpremium -= tage * 86400;
new stunden = nochpremium / 3600;
nochpremium -= stunden * 3600;
new minuten = nochpremium / 60;
nochpremium -= minuten * 60;
new str[256];
format(str,sizeof(str), "Du bist noch für {FF9E00}%i Tage{FFFFFF}, {FF9E00}%i {FFFFFF}Stunden und {FF9E00}%i {FFFFFF}Minuten Premium!", tage, stunden, minuten);
SendClientMessage(playerid, WEISS, str);
} else {
new query[1024];
format(query,sizeof(query), "UPDATE accounts SET PremiumZeit='0', Premium='0' WHERE ID='%i'", sInfo[playerid][pDBID]);
mysql_function_query(mysql,query,false,"","");
}
}Und das kommt dann im CHat bei 1 Tag Premium:
-
Die momentane Zeit muss noch abgezogen werden.
nochpremium = sInfo[playerid][pPremiumZeit] - gettime();Dachte das machst du schon.
Das darfst du aber erst NACH der Abfrage machen.EDIT:
Also so:
Spoiler anzeigen new timestamp = gettime();
if(sInfo[playerid][pPremium] == 1){
new nochpremium = sInfo[playerid][pPremiumZeit];
if(timestamp < nochpremium)
{
nochpremium = sInfo[playerid][pPremiumZeit] - gettime();
new tage = nochpremium / 86400;
nochpremium -= tage * 86400;
new stunden = nochpremium / 3600;
nochpremium -= stunden * 3600;
new minuten = nochpremium / 60;
nochpremium -= minuten * 60;
new str[256];
format(str,sizeof(str), "Du bist noch für {FF9E00}%i Tage{FFFFFF}, {FF9E00}%i {FFFFFF}Stunden und {FF9E00}%i {FFFFFF}Minuten Premium!", tage, stunden, minuten);
SendClientMessage(playerid, WEISS, str);
} else {
new query[1024];
format(query,sizeof(query), "UPDATE accounts SET PremiumZeit='0', Premium='0' WHERE ID='%i'", sInfo[playerid][pDBID]);
mysql_function_query(mysql,query,false,"","");
}
} -
Okay es fkuntioniert nun danke!
-
Hey,
ich habe folgendes Problem:
Ich möchte das mit dem Befehl /random ein Randomplayer der gerade auf dem server ist zu einer Postmition geportet wird.
Ich bin mit meinen Latein am ende, und google konnte mir auch nicht wirklich helfen.
mfg.
Mausibiba -
Ich möchte für eine Fraktion alle Skins zur verfügung stellen. Ist es hier möglich?
new BincoSystemFraktionsSkins[][BincoFrakt_daten] =//{Skinid,Fraktid}
{
{283,1},{282,1},{281,1},{280,1},{267,1},{266,1},{288,1},
{163,2},{164,2},{165,2},{166,2},{286,2},{141,2}
};Oder muss ich da jetzt wirklich jede ID eintragen?#