Ah hatte das return vergessen *pardon^^
Bin mich nur nicht gewohnt so´ne ganze Zeile mit if´s zu sehen
Beiträge von Jason_Gregory
-
-
GivePlayerMoney(playerid, dini_Int(accFormat,"Geld"));
Heißt auf deutsch übersetzt, Server gibt Spieler Geld aus der Datei die als accFormat definiert wurde und die Summe steht nach Geld.
dini_IntSet(accFormat, "Geld", GetPlayerMoney(playerid));
Heißt, speichere Integer (ganze Zahl) in die Datei die als AccFormat definiert wurde und nen die Variable die dann drinne steht "Geld"
zusätzlich (GetPlayerMoney) gucke ich wie viel Geld der Spieler hat und schreibe es rein.Ich hoffe du verstehst es jetzt...
-
-
Geht auch noch kürzer, über eine eigentlich bescheuerte Art.
Es lassen sich zwar keine Varchars mit return zurückgeben aber
man kann während man es ausgibt den String formatieren.Würd dir außerdem raten deine if´s durch elseif zu ersetzen
so wie es gerade da steht durchsucht er alle Funktionen selbst
wenn der Spieler schon einen Rang ausgesucht hat...CodePrüfung Spieler = 10 Kills *geprüft Prüfung Spieler = 20 Kills *geprüft Prüfung Spieler = 30 Kills richtig (er prüft aber trotzdem weiter = unsinnig) Prüfung Spieler = 40 Kills *geprüft Prüfung Spieler = 50 Kills *geprüft Prüfung Spieler = 60 Kills *geprüft
Hoffentlich ist das jetzt besser zu erkennen
Du brauchst dazu nur die Kills von groß nach Klein sotieren
new var[20];
public killtorank(playerid,integer = 0) //kills stehen für gamepunkte
{
if(integer == 0)
{
if(ausbildung[playerid] >= 2000) return var="Auszubildender";
else if(kills[playerid] >= 1500) return var="Soldat";
else if(kills[playerid] >= 1300) return var="Gefreiter";
else if(kills[playerid] >= 1000) return var="Unteroffizier";
else if(kills[playerid] >= 800) return var="Feldwebel";
else if(kills[playerid] >= 550) return var="Leutnant";
else if(kills[playerid] >= 350) return var="Hauptmann";
else if(kills[playerid] >= 200) return var="Major";
else if(kills[playerid] >= 100) return var="Brigadegeneral";
else if(kills[playerid] >= 50) return var="Generalleutnant";
else if(kills[playerid] >= 0) return var="General";
}
else
{
/*Hier auch um umdrehen Server Cpu zu schonen*/
if(ausbildung[playerid] == 0) return 0;
else if(kills[playerid] >= 50) return 1;
else if(kills[playerid] >= 100) return 2;
else if(kills[playerid] >= 200) return 3;
else if(kills[playerid] >= 350) return 4;
else if(kills[playerid] >= 550) return 5;
else if(kills[playerid] >= 800) return 6;
else if(kills[playerid] >= 1000) return 7;
else if(kills[playerid] >= 1300) return 8;
else if(kills[playerid] >= 1500) return 9;
else if(kills[playerid] >= 2000) return 10;
}
} -
Funktioniert der obrige Link den nicht (nicht der vom 1.Beitrag) ?
-
Wenn dich das schon abschreckt dann guck dir mal untenstehende function an...
Das sind Funktionen die man mal in der schnelle baut, da kommt es schnell vor das man Kilometer/Meilen mal vertauscht.
Find ich nicht schlimmCode
Alles anzeigenfunction Function() local pX = -2026.1130 local pY = 485.1528 local pZ = 34.8990 local x = pX + math.cos(math.deg(rot))*2 local y = pY + math.sin(math.deg(rot))*2 local sight, eX, eY, eZ = processLineOfSight(pX, pY, pZ, x, y, pZ+1, true, false, false) if (sight) then setCameraMatrix(eX, eY, eZ, pX, pY, pZ+0.2) else setCameraMatrix(x+5, y+5, pZ+1, pX, pY, pZ+0.2) end rot = rot + 0.0001 end
Ist übrigends Lua und eine Sinus und Cosinus Berechnung mit der die Kamera eine Winkel fährt um hier ein Fahrzeug zu begutachten
-
Wieso großer Fehler ?
Du nimmst den Kilometer Wert einfach durch 0.621371192, statt wie es umgedreht passiert ist.
und fertig. Das Script ist auch schon ziemlich alt, aber ich denke das bekommt man hin. -
GetPlayerMoney gibt als Resultat ein Integer aus, wieso nimmst du dann
dini_Set
verbraucht unsinnig verplante Leistung vom Server und ist falschdiniInt_Set
-
Habs angehangt...
Werd euch das mal demnächst umbauen, damit es aktuell ist. -
Der ist doch sowieso schon zu alt^
Außerdem ist die Geschwindigkeitsberechnung überholt, inzwischen geht das Milisekunden genau ohne einen Timer. -
Zitat
Also das die leader autos akufen können und die den auch inner base parken könn
Wieso soll das nicht funkionieren ?
Fahren zum Autohaus, kaufen Auto, parken Auto in der Basis. -
Können sie mit einem normalen Autohaus auch
-
#define IsSkin(%0) /*Skins einfügen ohne geschweifter Klammer, danach einfach nach ner if Schleife false ausgeben*/
if(IsSkin(Skinid)) /*...*/
if(!IsValidSkin(skin)) //Ob sie gültig sind//=========== Oder ================//
new Skins[Skinanzahl] = {
{247},
{248},{100},{256},{263},{262},{261},{260},{259},{258},{257},{256},{255},
{253},{252},{251},{246},{245},{244},{243},{242},{241},{239},
{238},{237},{236},{235},{234},{233},{232},{231},{230},{229},
{226},{225},{224},{223},{222},{221},{220},{219},{218},
{217},{216},{215},{214},{213},{212},{211},{210},{209},
{207},{206},{205},{204},{203},{202},{201},{200},{199},{198},{197},{196},
{195},{194},{193},{192},{191},{190},{189},{185},{184},{183},
{182},{181},{180},{179},{178},{176},{172},{170},{168},{167},{162},
{161},{160},{159},{158},{157},{156},{155},{154},{153},{152},{151},
{146},{145},{144},{143},{142},{141},{140},{139},{138},{137},{136},{135},
{134},{133},{132},{131},{130},{129},{128},{254},{99},{97},{96},{95},{94},
{92},{90},{89},{88},{87},{85},{84},{83},{82},{81},{80},{79},{78},{77},{76},
{75},{73},{72},{69},{68},{67},{66},{64},{63},{62},{58},{57},{56},{55},
{54},{53},{52},{51},{50},{49},{45},{44},{43},{41},{39},{38},{37},{36},{35},
{34},{33},{32},{31},{30},{29},{28},{27},{26},{25},{24},{23},{22},{21},{20},
{19},{18},{17},{16},{15},{14},{13},{12},{11},{10},{1},{2},
{290},
{291},
{293},
{187},
{296},
{297},
{298},
{299}
};new i;
for(; i<sizeof(Skins); i++)
if(Skins[i] == /*Deine Skinauswahl*/ -
Nja von einer Server.exe von Sa-mp die sich als Trojaner kennt, hab ich noch nicht gehört.
Vermutlich weil sie deinen Port öffnet, vielleicht geht es deshalb von einem Trojaner aus.
Wenn du auf sicher gehen möchtest gehst du mal auf Virustotal.com und ladest deinen Datei hoch.Außerdem wird ein Antivir Programm keine Script Zeilen lesen. (!Sourcecode)
Zumal es ja compiliert ist, aber du kannst dich gerne mit nem Hexeditor dranhocken und
versuchen einen Trojaner zu finden -
Kann eigentlich nicht sein, hast du nicht vielleicht die Attribute verändert oder versuchst du eine weitere Spalte mit ner
Unique Eigenschaft auszustatten. Hast du auch schon andere Datenbankmanager getestet (bitte nicht den in Lua geschrieben von MTA).Ansonsten mal direkt SQL Execute zum Spalten krierren ausprobieren, meine SQLLite Datenbank, Stand 21.12.09, hat 15 Spalten.
Wenn es bei der Übertragung zwischen .db und Mta gewesen wäre, gäb es viele Ursachen, aber hier kann es nur eine fehlerhafte
Attributeinstellung oder ein Fehler vom Datenbankexplorer sein. -
Hm...ich selber hatte damit eigentlich keine Probleme weil dir die Console in dem Fall des Falles rechtzeitig Bescheid sagt.
Sind die Standartwerte der Acl schon so festgezogen ?Nimm es mal mit auf...Thx
-
Wieso bringt /save nichts ?
Funktioniert bei mir tadellos... -
Den gesamten Public einfach rausnehmen, was drinnen steht in deinen zweiten OnGamemodeInit() einfügen.
oder du hast die Klasse mit forward definiert, dann müsstest du in deinem Script nachsehen... -
Zitat
dazu brauchst du mysl und mysql
Dir reichen Textdatein natürlich aus, aber bequemer und variabler bist du mit MySQL unterwegs
-
Hm....das einzige was mir einfällt was noch die Tuning Garage behindern könnte wäre GetPlayerKeys.
Mal danach gesucht ?