Geht auch nicht.. public OnPlayerRequestClass(playerid, classid)
{
SpawnPlayer(playerid);
return 1;
}
[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
-
-
Wird der Code überhaupt aufgerufen, setze dort mal einen print hin und schaue ob der angezeigt wird.
-
Der hat doch gar keine Informationen wo er Spawnen soll, was für ein Skin, was für Waffen etc.. Nutze dazu [wiki]SetSpawnInfo[/wiki]
public OnPlayerRequestClass(playerid, classid)
{
SetSpawnInfo( playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 ); // aus der Wiki
SpawnPlayer(playerid);
return 1;
} -
-
Hallo,
ich hab ne Frage undzwar ist es möglich die Lebensanzeige eines Spielers zu "entfernen" oder ähnliches?
Sprich wenn mir gegenüber ein Spieler ist sehe ich ja sein Namen und seine Lebensanzeige...
Gibts dafür einen Callback, suche nämlich schon sehr lange danach...Kann mir jemand weiterhelfen?
Vielen Dank im vorraus -
https://wiki.sa-mp.com/wiki/ShowPlayerNameTagForPlayer
bzw:
https://wiki.sa-mp.com/wiki/ShowNameTagsDas entfernt allerdings auch den Name.
-
Du kannst den Nametag entfernen, dann ist Name + Lebensanzeige weg. Solltest du dann den Namen wieder wollen, einfach ein 3D Label über den Spieler erzeugen oder ganz darauf verzichten.
ShowNameTags(0); -
-
Komischerweise wird meine bizkasse nicht gespeichert.
printf("b_kasse1: %i",bizInfo[i][b_kasse]);
saveBizKasse(bizInfo[i][b_id]);
//Wert wird beim print richtig angegeben.
saveBizKasse(id)
{
printf("b_kasse2: %i",bizInfo[id][b_kasse]);
new query[128];
format(query,sizeof(query),"UPDATE bizs SET b_kasse='%i' WHERE id='%i'",bizInfo[id][b_kasse],id);
mysql_function_query(dbhandle,query,false,"","");
printf("b_kasse3: %i",bizInfo[id][b_kasse]);
printf(query);
return 1;
}
//Wert ist auf einmal 0.Ich bin mir zu 100 % sicher, dass ich den Wert nicht überschriebe. Ist irgendwas bei saveBizKasse falsch?
mfg.
-
saveBizKasse(bizInfo[i][b_id]);
zu:
saveBizKasse(i); -
Hey, ich möchte, das wenn mein Server gestartet wird, der Server für einige Sekunden gesperrt sein soll damit alles hochfährt.
Dafür soll auch der Server Name aktuallisiert werden damit man sieht wie weit man ist (Prozentangabe)Aber ich kriege es irgendwie nicht vernünftig hin.
new serverstarting;
public OnGameModeInit()
{SendRconCommand("password abc");
serverstarting += random(10);
format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Starting %%] [Ultra-h.com] :.", serverstarting);
SendRconCommand(svstarting);
if(serverstarting >= 99)
{
SendRconCommand("password 0");
}}
-
Kannst du nicht einfach mit einem Timer, der x=sekunden deiner Wahl lange geht, die Variable serverstarting hochzählen bis sie auf 10 ist? und 10 ist dann in dem Fall fertig z.B. Dann kannst du doch den Timer mit KillTimer(); stoppen, damit er keine Belastung mehr ist.
public ServerStart(){ serverstartcounter++; switch(serverstartcounter) { case 0: { SendRconCommand("hostname Test 0%"); }//case 10: z.B. Ende (kannst du ja variieren) case 10: { SendRconCommand("hostname Testserver Fertig"); SendRconCommand("password 0"); KillTimer(); }
So ähnlich. Wäre zumindest eine Möglichkeit, die mir in den Sinn kommt.
//Edit
Btw. Jeffry, b_kasse: %i ist nun der richtig eingetragene Wert, WHERE id='%i' ist allerdings jetzt 0. Vorher wars ja genau andersrum, richtige ID aber falsche b_kasse. In der Konsole steht WHERE id='0'. -
Das wäre dann aber nicht schön geschrieben wenn ich für jeden dazugezählten Prozent ein case erstelle, außerdem würde der das dann in wenigen Sekunden durchführen und das möchte ich ja nicht :c
-
Btw. Jeffry, b_kasse: %i ist nun der richtig eingetragene Wert, WHERE id='%i' ist allerdings jetzt 0. Vorher wars ja genau andersrum, richtige ID aber falsche b_kasse. In der Konsole steht WHERE id='0'.
format(query,sizeof(query),"UPDATE bizs SET b_kasse='%i' WHERE id='%i'",bizInfo[id][b_kasse],id);
zu:
format(query,sizeof(query),"UPDATE bizs SET b_kasse='%i' WHERE id='%i'",bizInfo[id][b_kasse],bizInfo[id][b_id]);____
Hey, ich möchte, das wenn mein Server gestartet wird, der Server für einige Sekunden gesperrt sein soll damit alles hochfährt.
Versuche es so:
public OnGameModeInit()
{
SendRconCommand("password abc");
SetTimerEx("StartupCountdown", 1000, false, "d", 10);
return 1;
}forward StartupCountdown(num);
public StartupCountdown(num)
{
new svstarting[128];
if(num >= 99)
{
SendRconCommand("password 0");
format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Ultra-h.com] :.", num);
}
else
{
SetTimerEx("StartupCountdown", 1000, false, "d", num + 10);
format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Starting %d%%] [Ultra-h.com] :.", num);
}
SendRconCommand(svstarting);
return 1;
} -
@[LnD]JustMe.77
So wie du den Code da oben hast, funktioniert das aber nicht. Du musst ja schon einen Timer haben, der dann abfragen kann, ob die Prozentanzeige auf 100 ist, um das zu stoppen. Außerdem brauchst du den (gleichen) Timer auch, um die Prozentanzeige stetig zu erhöhen. -
Ist mir klar, sonst hätte ich nicht gefragt
Habe es während Jeffry geantwortet hat so fertig gestellt:
new serverstarting = 0;
new RST;
//OngamemodeinitRST = SetTimer("RunStartingTime", 900, true);
new svstarting[128];
format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Starting %d%%] [Ultra-h.com] :.", serverstarting);
SendRconCommand(svstarting);forward RunStartingTime();
public RunStartingTime() {
new rand = random(9);
serverstarting += rand;
new svstarting[128];
format(svstarting, sizeof(svstarting),"hostname .: [LnD] 77 BattleArena [Starting %d%%] [Ultra-h.com] :.", serverstarting);
SendRconCommand(svstarting);
if(serverstarting >= 99) {
SendRconCommand("password 0");
KillTimer(RST);
SendRconCommand(SV_NAME);
}
return 1;
} -
Gibt's irgendeinen Fix dafür, dass sobald ich aus dem CJ Haus raus gehe, die Cars unter der Map sind und dann nach 2 sekunden ca. 5m weiter weg komplett falsch spawnen? Habe mal probiert, die Z-Achse mit mit ein paar Werten zu erhöhen, hat aber nichts gebracht. Ich kann auch schlecht solide Objekte überall hinmachen, da die User ja /fpark machen können.
Irgendwelche bekannten Lösungen? -
Hi, wieso taucht das in meiner MySQL Log aus? Mehr als 500 mal.
[19:13:51] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE Name = '[LnD]JustMe.77'' at line 1
[19:13:51] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE Name = ''' at line 1 -
Zeig mal deine Code für die Abfrage also den SQL-Abschnitt.
-
Welchen denn genau? Davon steht ja nichts in der Log.
Eventuell die hier?
format(Query,sizeof(Query),"UPDATE `players` SET Admin = %d, Level = %d, Kills = %d, Deaths = %d, Ratio = '%f', Weed = %d, Exp = %d, MExp = %d, Banned = %d, Skin = %d, Color = %d, Weather = %d, Time = %d, AL = %d, ReceivedBonus = %d, DoubleEXP = %d, WHERE Name = '%s'", -