Macht in der Hinsicht keinen Unterschied, da die beiden sich gleich verhalten.
[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
-
-
Hi, kann ich Objekte entfernen wenn ich die Koordinaten in einem Float angebe?
Beispiel:
new Float: GasPumpCoords[78][3] =
{ {-85.2422, -1165.0312, 2.6328},
{-90.1406, -1176.6250, 2.6328},
{2645.2500, 1111.7500, 11.2500}}; -
Welche Objekte willst du entfernen?
-
-
Dazu brauchst du die einzelnen Koordinaten nicht, wenn es alle sein sollen.
Es reicht wenn du:
https://wiki.sa-mp.com/wiki/RemoveBuildingForPlayerMit den Koordinaten 0,0,0 und dem Range 6000 ausführst.
Als modelid gibst du die modelid der Zapfsäule an. -
Wie kann ich nochmal Tore schräg öffnen ? Ich hatte bisher immer das Problem, dass sich das Tor nicht gerührt hat.
Habe es bisher so:
gate[0] = CreateDynamicObject(19861, -3195.77759, 1581.97351, 6.48850, 0.00000, 0.00000, -180.00000);
if(gatetor[0] == 0){
MoveDynamicObject(gate[0], -3195.77759, 1581.97351, 6.48850, 3.0, -90.00000, 0.00000, -180.00000);
gatetor[0] = 1;
}
else {
MoveDynamicObject(gate[0], -3195.77759, 1581.97351, 6.48850, 3.0, 0.00000, 0.00000, -180.00000);
gatetor[0] = 0;
} -
MoveDynamicObject(gate[0], -3195.77759, 1581.97351, 6.48850, 3.0, -90.00000, 0.00000, -180.00000);
Zu
MoveDynamicObject(gate[0], -3195.77759, 1581.92351, 6.43850, 0.01, -90.00000, 0.00000, -180.00000);
Ich habe die Position minimal verändert, und die Geschwindigkeit extrem klein gemacht.Beim anderen MoveDynamicObject musst du nur noch die Geschwindigkeit auf 0.01 setzen (oder einen anderen Wert, falls es zu langsam oder zu schnell ist).
-
Moin, mir wurde vor kurzem gesagt ich soll einen Wert aus der Datenbank mit orm Funktionen abrufen.
Jedoch blicke ich durch die Wikipedia nicht durch, ich lerne besser wenn ich beispiele sehe / es selber mache :).
-> http://wiki.sa-mp.com/wiki/MySQL/R33
Beschreibung: Würde gerne einen Wert (Int) aus meiner DB abrufen und dort zu ner Rechnung verwenden.
new taxvalue;
new steuer;
gehalt = taxvalue / steuer;
-
Warum willst du das überhaupt jedes mal aus der Datenbank lesen?
Lese es doch einmalig bei OnGameModeInt aus der Datenbank in eine globale Variable, und nutze bei der Berechnung dann diese Variable. Das macht mehr Sinn. -
Weil man es dynamisch im Spiel ändern kann durch einen Befehl.
Und trotzdem weiß ich immer noch nicht wie ich das jetzt lade
-
Weil man es dynamisch im Spiel ändern kann durch einen Befehl.
Und trotzdem weiß ich immer noch nicht wie ich das jetzt lade
Habe leider irgendwie keine Zeit, hmm..
Such mal nach "fevents" hier im Forum - ein System von mir.
Dort kannst du dir die Cache Verwendungen abschauen.
Bei Bedarf kann ich dir das Script auch kommentieren. -
Weil man es dynamisch im Spiel ändern kann durch einen Befehl.
Dann kannst du die Variable ja auch mit dem Befehl ändern.
Laden kannst du es so:
mysql_pquery(dbhandle, "SELECT taxvalue FROM tabelle WHERE ...", "OnTaxLoad", ""); //anpassenUnd dann:
forward OnTaxLoad();
public OnTaxLoad()
{
taxvalue = cache_get_row_int(0, 0);
return 1;
} -
Dann kannst du die Variable ja auch mit dem Befehl ändern.
Laden kannst du es so:
mysql_pquery(dbhandle, "SELECT taxvalue FROM tabelle WHERE ...", "OnTaxLoad", ""); //anpassenUnd dann:
forward OnTaxLoad();public OnTaxLoad(){ taxvalue = cache_get_row_int(0, 0); return 1;}Kriege einen Error "undefined symbol dbhandle", muss ich einfach new dbhandle; oder fehlt mir 'was?
-
Da muss das hin was du auch sonst bei den MySQL Angaben stehen hast, das was mysql_connect zurück gibt.
-
Ok naja keine Ahnung ob es funktioniert, habe, falls du dich erinnerst, immer noch diesen Fehler mit den wirren Zahlen wie aus meinem Bankrob Problem Hilfethread.
Nun kann ich "v unten v" nicht richtig einsetzen. Setze ich sie oben ins Script ein kommt ein error weil taxvalue oben noch keinen Wert hat, sondern einfach nur ein Wort ist.
Setze ich es unten bei meinem Timer ein, kriege ich wieder wirre Zahlen wie 1.836.368.368.963 statt 14.700 raus (exakte Zahl die rauskommen müsste)...
new scheck = PlayerInfo[playerid][pPaycheck];
new steuer = taxvalue / 100;
new lohnsteuer = scheck * steuer;
new gehalt = scheck * taxvalue / 100; -
Poste bitte mal noch den Code dazu, mit dem du die Werte ausgibst.
-
Wieso tauchen Probleme auf wenn ich bei meiner EXP Bar die EXP von 100 auf 1000 erhöhe? Wenn ich das auf 1000 änder, sind die Login Textdraws verbuggt und noch viele mehr.
(Sorry das einige Teile auf Portugiesisch sind)
GivePlayerExp(playerid, exp) {
pData[playerid][P_Exp] += exp;
if(pData[playerid][P_Exp] >= pData[playerid][P_MExp]) {
for(new i; i < 10; i++) {
if(pData[playerid][P_Exp] >= pData[playerid][P_MExp]) {
pData[playerid][P_Exp] -= pData[playerid][P_MExp];
SetPlayerLevel(playerid, pData[playerid][P_Level]+1);
pData[playerid][P_MExp] += 100;
}
else break;
}
}
AtualizarPB(playerid);
}AtualizarPB(playerid) {
SetPlayerProgressBarValue(playerid, PB[playerid], pData[playerid][P_Exp] / (pData[playerid][P_MExp] / 100));
new string[24];
format(string, sizeof string, "%d/%d", pData[playerid][P_Exp],pData[playerid][P_MExp]);
PlayerTextDrawSetString(playerid, ExpTexts[playerid][1], string);
PlayerTextDrawShow(playerid, ExpTexts[playerid][1]);
format(string, sizeof string, "Level: %d", pData[playerid][P_Level]);
PlayerTextDrawSetString(playerid, ExpTexts[playerid][0], string);
PlayerTextDrawShow(playerid, ExpTexts[playerid][0]);
return 1;
}Da wo 100 zweimal steht habe ich das auf 1000 geändert, dann tauchen die Probleme auf
-
Das weiß ich nicht, da ich keines der beiden Systeme kenne.
Aber wenn du nur die Anzeige ändern willst, dann kannst du
format(string, sizeof string, "%d/%d", pData[playerid][P_Exp],pData[playerid][P_MExp]);
Zu
format(string, sizeof string, "%d/%d", pData[playerid][P_Exp]*10,pData[playerid][P_MExp]*10);
ändern. -
@[LnD]JustMe.77
Ich gehe davon aus, du möchtest die maximale Anzahl des Wertes der Progress Bar ändern? Dann versuch mal die Funktion:
SetProgressBarMaxValue(barid, max) -
Ich habe das Problem gelöst, nur ist ein kleines hinzu gekommen. Die Textdraws zeigen 0/1000 an, aber wenn sich die EXP Bar updatet, sind das immer noch 100. Weil wenn ich 50 EXP dazu erhalte, nimmt das schon die Hälfte weg weil es immer noch mit 100 kalkuliert. Weiß aber nicht wo genau ich das ändern soll, hat jemand eine Idee?