Du kannst ein bool:isObjectDynamic[MAX_OBJECTS] erstellen. Wenn Du ein dynamisches Objekt erstellst, setzt Du bei der returnten ObjectID den Wert auf true. Wird das Objekt zerstörst, setzte den Wert auf false. Bei OnFilterScriptExit zerstörste alle Objekte welche den Wert true (sprich dynamisch sind) haben.
Beiträge von Dudalus
-
-
Mal eine ganz andere Frage: Was soll der Code eigentlich bewirken. faggio ist doch ein Array (Grund: Verwendung des sizeof Operators), warum schreibste dann:
if(GetPlayerVehicleID(playerid)==faggio)
Das ist, wie wenn Du Apfel mit Birne vergleichst
-
Einige Sachen sind mir unklar:
- Wofür brauchste die alte sscanf Version ?
- DialogID mit dem Wert 1 kann beim einen oder anderen Script zu Problemen führen (Meine externen IDs beginnen bei 1000)
- OnFilterScriptExit: Zerstörst Du da bewusst nicht alle gestreamten Objekte ? Ich frage das darum, denn nimm mal an, es gibt gestreamte und Objekte, welche mittels CreateObject erstellt worden sind. Wenn Du jetzt streamst und das Filterscript unloadest, haste Objekte, welche Du nicht mehr ansprechen kannst (Irgendwann musste dann den Server neustarten, weil alle verfügbaren Serverobjekte erstellt sind)
Dazu noch ein kleiner (eher unwichtiger) Hinweis zu Variablennamen: Komplett grossgeschriebene Variablen bedeuten, es handelt sich um eine Preprocessor Anweissung, zB #define MAX_PLAYER, sprich TIMER sollte anders heissen, zB timer (Da es keine Preprocessor-Direktive ist). Nochn Link dazu: http://wiki.sa-mp.com/wiki/Keywords:DirectivesGruss
-
Siehe Kommentar:
Zitat
How can you make this interior,instat? ;x using samp editor or wich one?
darius94arad15 7 months agoZitat
Yes, you have to use RemoveBuildingForPlayer.
Nikolas21121 in reply to darius94arad15 7 months agoKann dir aber auch nicht das dazu passende Objekt nennen
-
Wahrscheinlich eine Massen-PM
Achja Animeboy274 Nein ich mag keine AMV, sprich ich aboniere dich nicht - dafür hab ich hier ein kleines Geschenk für dich, es ist ja bald Weihnachten
-
Muss sagen, dachte zuerst auch Du seist Trooper - aber würde eine PN mit einer festen Frist zum Entfernen des Avatars nicht einfach reichen
-
Kein´s da dort Android drauf installiert ist.
Aber wenn du wirklich nur ein´s von den beiden haben möchtest würde ich schon das Galaxy S 3 vorziehen.
Sehr konstruktiver Beitrag von einem Teamler@Topic: Ich habe ein One X und schaue teilweise ein wenig neidisch zu den S3lern rüber. Muss aber sagen, dass ich mit meinem One X sehr zufrieden bin. Nimm beide Handy und schaue was dir besser gefällt, man kann sowas nicht individuel sagen. Hardwaremässig haben Beide was drauf und "nur" weil Android draufläuft sind sie nicht schlecht...
-
-
Da ich jetzt schon PVars habe ist das schwer in Enum´s umzusetzen?
Besser gesagt wie stelle ich das an?
Zuerst würd ich mal alle speicherrelevanten Variablen umstellen, sprich erstell ein enum und ersetzte per Ctrl+F "PVar" (nur) dieses PVars (Also die speicherrelevanten). Hab es auch gemacht, ist halt ne Fleissarbeit (Ich lasse mich aber gerne belehren ^.^) -
Zitat
Halbwissen ist was sehr gefährliches... Ich will nicht wissen was für ein List Object hinter der PVar Select Funktion sitztIch kann nur diesen Thread empfehlen von Y_Less: http://forum.sa-mp.com/showthread.php?t=268499
Kurzgesagt:
- Alle statischen Spielerdaten: Array --> Enumeration
- Ändernde Spielervariablen Array/Enumeration oder PVars --> Was dir lieber ist
Solltest Du dir ernsthaft Gedanken darüber machen, ein grosses Array würde zuviel Speicher fressen, dann rechne mal die Cellsize und den Speicherverbrauch aus - er ist schwindend gering (Spreche aus eigener Erfahrung, da fressen Plugins bei weitem mehr)
Gruss -
Ebenso, diese Tutorials ala wie mache ich ein Autohaus, sind kompletter Müll - wie soll ich etwas lernen, das ich dahin geklatscht bekomme?
Was schlägst Du dann (besseres) vor ? (Ehrlich gemeinte Frage - nicht angreifend)
Edit @BlackAce: Ich hab mir damals das Haussystem von BlackFoxUD ausgedruckt und während Autofahren analysiert.....so hardcoremässig muss es denke ich mal nicht sein
-
Hi
Ich verstehe deine Frage nicht ganz (Threadtitel und Frage sind unterschiedlich). Geht es darum, ein fest definiertes Array zu vergrössern ? Dann gibt est 2 Möglichkeiten:
- Einfach, aber nicht sehr schön: Du erstellst ein grösseres Array und setzt zum Beispiel einen bool, ob das jeweilige Feld gesetzt ist
- Schön, aber aufwendiger: Du lässt in einer statischen Memorymap dynamisch Speicher allozieren. Y_Less hat hierzu ein nettes Plugin geschrieben:
http://forum.sa-mp.com/showthread.php?t=58827
Gruss
Edit: Ach zur Compiletime, dann vergiss meine Antwort, der Threadtitel hat mich zu sehr beeinflusst
-
Warum schreibt ihr nicht eure langen texte zuerst auf dem Pc vor und dann Kopiert ihr das ins Forum.
Wofür hat dan das Forum einen WYSIWYG Editor#Dafür
-
Der Newsstream des Forums gefällt mir sehr, hoffe mal, dass man den Filtern kann (zB Freunde oder evt gibts eine Erweiterung, wo man Gangs/Bizes oä liken kann - à la Facebook)
-
Hi
Reden wir auch über C++ basierende Plugins ? Habe momentan eben nicht die Zeit dazu und würde mich evt. mal bei dir melden.
Gruss Simon
-
Ich muss sagen, ich habe selten einen so speziellen und fragwürdigen Beitrag gesehen, konkret haben sich bei mir folgende Fragen/Feststellungen eingeschlichen:
- Rooten -> Garantieverlust
- Warum braucht man mehr als 16 GB internen Speicher, es erkennt ja Sachen auf der SD
- Wie sieht das Ganze bei nem Factory Reset aus
Im Ganzen Artikel ist nirgends davon die Rede, dass beim Rooten die Garantie verloren geht - gehts noch ? Zudem find ich es auch "Eigenwerbung" auf euer Forum zu verweisen (Welches eh schon überall ein wenig hochgepusht wird). Du könntest es ja hierher kopieren, falls der dortige Content mal nicht (mehr) erreichbar wäre.Verstehe mich nitte nicht falsch, ich will nicht sagen die Erweiterung ist eine schlechte Idee, ich finde nur den Artikel nicht komplett
Gruss
-
Okay, wart schnell, danach kippen wir noch:
- Events und Wettbewerbe (Darüber könnte man noch streiten)
- Pranger (Fliegt ja eh mit)
- Hardware/Software (Wir sind Scripter, keine CPU-Designer bei Intel)
- Games (Braucht man wegen SA-MP nicht mehr)
- Grafikdesign (Wer braucht schon Grafik bei SA-MP)
- Coding (Pawn 4 ever)
- Homepage-Werbung (Wer braucht schon sowas wenn er wegen SA-MP kein RL mehr hat)
- Smalltalk (Wir Suchthaufen benutzen ja IRC)
- Vorstellungsrunde (Damit man sich beim Namen anfluchen kann ?)
- Archiv (Wer lungert da schon rum)
Achja und Mafia2 Verlinkung fliegt auch noch. Nein, jetzt mal genug rumgealbert.Beim Allgemeinen Marktplatz stimme ich dir zu, nicht aber beim SA-MP Marktplatz. Man sollte lieber mal die "Ich suche XY (Aber nicht SA-MP betreffend)" Anfragen abschaffen. Aber warum Du den SA-MP Marktplatz abschaffen willst ist mir echt schleierhaft ? Wo sollen dann gewisse Leute ihre Scriptingkünste anbieten - im englischen Forum sicher nichtGruss
-
Hi
Um dir dein Ablauf mal zu erläutern:
- Speichere Input in Datei (Nicht in Benutzervariablen)
- Speichere Benutzervariablen in Datei
- Lade Daten aus Datei und setzte Benutzervariablen
sGeld, sPin und sKarte werden also in BankSpeichern leere Werte (0) haben und diese speicherst Du dann. Die Lösung liegt also darin, gleich die Benutzervariablen zu setzen oder nur BankLaden und nicht davor BankSpeichern aufzurufen
Edit: Versuch es also mal so:
if(dialogid==DIALOG_CREATEPIN)
{
new Bankdatei[64];
if(response==0)
{
SCM(playerid,COLOR_BLUE,"Du hast den Vorgang abgebrochen");
}
else
{
new string[128];
format(Bankdatei,sizeof(Bankdatei),"/Bankdaten/%s.ini",SpielerName(playerid));
dini_Create(Bankdatei);
dini_IntSet(Bankdatei,"Pin",strval(inputtext));
dini_IntSet(Bankdatei,"Geld",STARTBONUS);
dini_IntSet(Bankdatei,"ECKarte",0);
BankLaden(playerid);
format(string,sizeof(string),"Du hast absofort ein Bankkonto.\nDu erhielst außerdem ein Startbonus von $2000.\nPin: %d\nGeld: 2000\n\n BITTE MACH EIN RELOG !\n Damit auch alles funktioniert",strval(inputtext));
ShowPlayerDialog(playerid,bankdaten,DIALOG_STYLE_MSGBOX,"Übersicht",string,"Bestätigen","Abbrechen");
}
} -
Sodele:
#include <a_samp>main()
{
new xstate = 2;
new text[64];
format(text, 64, "%s", (xstate == 1) ? ("Eins") : ("Anderes"));
printf("%s", text);
} -