Beiträge von Kaliber
-
-
ok, und wo muss ich die dann hochladen? in FTP? oder auf ne Webspace?
Was für eine Frage
Nun, ja es muss auf einen Webspace, da du von extern darauf zugreifen musst, aber du lädst Dateien durch FTP auf einen Webspace

mfg.

-
-
Wie macht man das mit den Orten? Würde mich interessieren.
Es gibt dafür extra einen Array, wo Positionen (von jeder Area) und dessen Name steht, irgendjemand im englischen Forum hatte da Langeweile und hat das gemacht.Schaden: Bekommst du durch http://wiki.sa-mp.com/wiki/GetVehicleHealth_DE
Geschwindigkeit + Fahrzeugname + Tank: Hatte ich mal ein Include geschrieben (kannst es ja nutzen wenn du willst) [ INCLUDE ] Simple Tachound das packst du einfach in ein TextDraw und fertig

mfg.

-
Du nutzt veraltete Includes

mfg.

-
Wurden Zeit Vergleiche aufgenommen?
Mit was soll ich es denn vergleichen?
Bin ich blind oder werden einfach nur Zeilen in die Benutzerdatei geschrieben, ohne die alten Werte zu löschen?
io_write sorgt dafür, dass die alten Sachen gelöscht werden
mfg.

-
Also, es gibt ja gaanz viele Speicherungssysteme schon. Allerdings sind die meisten so aufgebaut, dass man permanent irgendwelche Sachen eingeben muss wie z.B. dini:
dini_Int(...); //-> Immer 1ne Funktion für 1ne Variable
Nun, da mir mal wieder extrem langweilig ist, habe ich für euch ein kleines Speicherungssystem geschrieben welches das extrem vereinfacht, sieht z.B. so aus:
//Parameter erklärt:
User::save(pfad[], pw[], args[], var1, var2, var3, var4, ...); //da wo ... ist, kann es unendlich weiter gehen
//pw[] steht für das Passwort des Spielers
//args[] sind die Argumente, unten steht eine genaue Erklärung
//var1 = Die 1. Variable die man speichern will//Anwendungsbeispiel:
new pfad[MAX_PLAYER_NAME+4],name[24];
GetPlayerName(playerid,name,24);
format(pfad,MAX_PLAYER_NAME+4,"%s.txt",name);
User::save(pfad, "123", "ddfs", int1, int2, float1, string);
//pfad = Wo die Datei gespeichert werden soll
//"123" = Das Passwort des Spielers
//"ddfs" = Sind die Argumente
//int1 ist die erste Variable die gespeichert wird.und zum laden ist es auch ganz einfach:
//Parameter:
User::load(pfad[], pw[], args[], var1, var2, var3, var4, ...); //da wo ... ist, kann es unendlich weiter gehen
//pfad[] = Wo die Datei gespeichert werden soll
//pw[] steht für das Passwort des Spielers
//args[] sind die Argumente, unten steht eine genaue Erklärung
//var1 = Die 1. Variable die wieder geladen wird//Anwendungsbeispiel:
new int1,int2,Float:float1,string[32],pfad[MAX_PLAYER_NAME+4],name[24];
GetPlayerName(playerid,name,24);
format(pfad,MAX_PLAYER_NAME+4,"%s.txt",name);
User::load(pfad, "123", "ddfs", int1, int2, float1, string);Besonders wichtig ist, dass das Passwort immer übereinstimmt, sonst gibt die "Load" Funktion eine 0 zurück, das ist ein eingebautes Passwort Abfrage System

Args (Argumente):
Die Argumente kennt ihr aus dem sscanf-Code
Hier nochmal eine kleine Liste:Wichtig:
Ich habe eine statische Größe angegeben, die Datei kann momentan nur 256 Bytes groß sein. Falls ihr das erhöhen müsst (wenn ihr z.B. viele Texte abspeichern müsst), dann macht ihr das so:#define MAX_BUFFER 512 //Jetzt könnte die Datei 512 Bytes groß sein
#include <k_save>Speedtest + Support:
Falls noch Fragen bestehen, könnt ihr diese gerne stellen, einen Speedtest habe ich auch gemacht, also für 1000 Saves, dauert das (mit diesen 4 Variablen * 1000 halt) = 150ms
und das Laden 80ms...
Also es ist verdammt schnell
Download:
Source-Code: Pastebin
Direkter-Download: MediafireWürde mich über ein kleines Feedback freuen

mfg.
//Edit:
Nochmal alles etwas ausführlicher erklärt und etwas hinzugefügt.
Nun muss man keine playerid angeben... -
Muss ich mal wieder weitere includes veröffentlichen ich glaub mein ansehen als professioneller Skripter geht den Back runter zu dem das nur 3 Leute mein CMD Prozessor gedownloadet haben
Das liegt doch nur daran, dass du den Code am Anfang direkt in den Thread geschrieben hast und ihn hat fast niemand verstanden, dass hat denen bestimmt Angst gemacht
Zudem waren es 2 Leute, 2x ich und 1x Blackace
mfg.

-
(Grad keine Ahnung, ob man in C# mit einem oder zwei Gleich-Zeichen arbeitet)
Mit 2 ==
mfg.

-
Und mit SetTimerEx einfach nach 10 Sekunden oder so die Chatbubble auf garnichts setzen.
Das ist nichtmal nötig, da es einen Parameter gibt und den einfach auf 10000 setzen kann und dann steht das da so oder so nur 10Sekunden
(Wobei das ziemlich lang ist)
mfg.

-
Da gäbe es 2 Möglichkeiten, entweder:
http://wiki.sa-mp.com/wiki/SetPlayerChatBubble (da sehen es alle anderen aber man selbst nicht)
oder man macht es durch:
http://wiki.sa-mp.com/wiki/Create3DTextLabel und http://wiki.sa-mp.com/wiki/Attach3DTextLabelToPlayer
mfg.

-
Also, das ist möglich musst aber ein bisschen ausprobieren

Das Nitro ist immer eine konstante Zeit da, finde einfach heraus wie lange es dauert, bis es weg ist und dann kannst du dir den Rest zusammenrechnen

mfg.

-
Ja, in der Tat, das ist möglich

Das basiert auf einem System von Makros

Hier mal ein Beispiel:
#define User::%0(%1,%2,%3) \
(%0(%1,%2,%3))//Hier mal aufgerufen:
main() {
User::create("Kaliber", "123", 1234);
}stock create(name[],pw[],...) {
printf("%s | %s",name,pw); //printet->Kaliber|123
}mfg.

-
Aber bei mehreren Anweisungen wenn man diese in einer reihe schreibt nur sind da die codes ein ganz ganz wenig schneller.
Beispiel
Wir reden hier aber von Klammern und keinen Anweisungen
-
Mit der Berechnung ist es möglich abzuprüfen ob sichjemand in einem Dreieck befindet gedacht war die berechnung für einen blitzer womit man einseitig blitzen kann.
Das ist ne gute Idee und schöne Umsetzung
Allerdings, frage ich mich gerade wieso du die eine Deklaration nicht in 1ne Zeile schreibst?!
Schreibs doch so:
new const Float:Winkel = 60.0,Float:Weite = 30.0;
Nun...egal, mir ist aufgefallen, dass dieses ^ Zeichen in Pawn keine exponentielle Rechnung macht.
Aus diesem Grund habe ich ein kleines Makro geschrieben:
#define expo(%0^%1) \
(floatround(floatpower(%0,%1)))//Nutzung:
printf("%d",expo(5^2)); // ->Ergebnis: 25mfg.

-
also manche parken das Fahrzeug ja wärend dem fahren
Bitte was?
-
Eine Fraktion zu erstellen ist ja nicht sonderlich schwer ... nur ist mein Problem wenn ich jemanden Invite(Bei meinem Script /einladen) dann wird das nicht in der Account Datei von der Person gespeichert(Also muss ich es manuell eintragen, Arbeite mit Dini) auch andere Dinge z.B /makeadmin werden dort nicht Abgespeichert und ich versteh nicht ganz wo man was eintragen muss und wie man es eintragen muss (Bei denn ganzen Stocks) Damit es sich überhaupt Speichert,
Geld wird auch nicht Abgespeichert :<.Hier mal mein Register,LoadAccount,Login,OnPlayerDisconnect und mein enum Player_Info:
Um zu wissen, wieso es das nicht speichert, musst du uns zeigen wie du es speicherst und dazu musst du die Funktion "stock SpielerSpeichern(playerid)" mal zeigen
Alles anzeigenIch habe immer 2 Probleme bei meinen Fraktions Cars:
1tens:
Entweder kann keiner damit Fahren(Egal ob die FraktionsID`s übereinstimmen also meine FraktionsID ist 2 und die des Autos auch 2 (Im Script halt))Oder
Jeder kann damit Fahren
Hier meine Cars und die Abfrage:
Als erstes, solltest du mal folgendes tun:Anstatt:
ZitatAlles anzeigenSetVehicleNumberPlate(GROVEcar[0],"Grove Street");
SetVehicleNumberPlate(GROVEcar[1],"Grove Street");
SetVehicleNumberPlate(GROVEcar[2],"Grove Street");
SetVehicleNumberPlate(GROVEcar[3],"Grove Street");
SetVehicleNumberPlate(GROVEcar[4],"Grove Street");
SetVehicleNumberPlate(GROVEcar[5],"Grove Street");
SetVehicleNumberPlate(GROVEcar[6],"Grove Street");
SetVehicleNumberPlate(GROVEcar[7],"Grove Street");
SetVehicleNumberPlate(GROVEcar[8],"Grove Street");
SetVehicleNumberPlate(GROVEcar[9],"Grove Street");
SetVehicleNumberPlate(GROVEcar[10],"Grove Street");
SetVehicleNumberPlate(GROVEcar[11],"Grove Street");
SetVehicleNumberPlate(GROVEcar[12],"Grove Street");
SetVehicleNumberPlate(GROVEcar[13],"Grove Street");
SetVehicleNumberPlate(GROVEcar[14],"Grove Street");
SetVehicleNumberPlate(GROVEcar[15],"Grove Street");
SetVehicleNumberPlate(GROVEcar[16],"Grove Street");
SetVehicleNumberPlate(GROVEcar[17],"Grove Street");
SetVehicleNumberPlate(GROVEcar[18],"Grove Street");
Schreibe einfach:
for(new i; i<sizeof(GROVEcar); i++) SetVehicleNumberPlate(GROVEcar[i],"Grove Street");PS: Fang bitte bei den Cars erstellen mit einem Array von 0 an.
Also, das Mysterium bei deinen "Autos" liegt einfach darin, dass du 2 verschiedene Varianten verwendest um eine Fraktion zu bestimmen.
Die 1. ist diese: PlayerInfo[playerid][Fraktion] (Die verwendest du beim Speichern).
und die 2. beim Abfragen ist diese: GetPVarInt(playerid,"Fraktion") (Bei der Abfrage).
Nun, anstatt 2 verschiedene zuverwenden, solltest du dich auf 1ne einigen, dann wird das auch funktionieren
Die Letze Frage habe ich nicht verstanden

mfg.

-
hätt ja sein können :x
Nein aus 3 Gründen:1. Der Fehler liegt nicht am Gamemode, sondern in der Include (diese Zeile ist aus seinem GM).
2. Der Array hat die richtige Größe.
3. Was sollte das mit SetPlayerMoney (dem eigentlichen Fehler) zu tun haben?!mfg.

-
Da würd ich jetzt mal gerne eine Lösung hören :x
Schreib mal bitte unter die #include <a_samp> folgendes:#define I_USE_SETPLMONEY
//edit:
Zitat von Flaschbrotmach mal #define MAX_WEAPONS 9
Also so ein Quatsch!
mfg.

-
Macht es eigentlich ressourcentechnisch einen Unterschied ob man
Nein. Nur einen Zeilen Unterschied in der .pwn
mfg.
