eit wann gibt es einen maxnpcs Ordner?
Meine natürlich npcmodes... ![]()
eit wann gibt es einen maxnpcs Ordner?
Meine natürlich npcmodes... ![]()
Naja, was steht denn genau im Log?
Bist du sicher, dass du auch den maxnpcs Ordner übernommen hast? ![]()
Hast du die maxnpc in der Server.cfg auch wieder hoch gesetzt? ![]()
Sicher, dass du das gemacht hast: Gamemode lädt nicht ? ![]()
Hallo ich wollte mal fragen ob es ein include/Filterscript gibt für einen Gefixten timer sprich einen Ganauen timer
Jeffry:
Da gibt es 3 Möglichkeiten:
1. Das Plugin (sehr zu empfehlen): http://forum.sa-mp.com/showthread.php?t=435525
2. Die Include zur Behebung (da ist das Plugin besser): http://forum.sa-mp.com/showthread.php?t=289675
3. y_timers: http://forum.sa-mp.com/showthread.php?t=571044
mfg. ![]()
aber die zeigts mir trotzdem nicht an
Du musst diese Funktion noch verwenden: TextDrawShowForPlayer
mfg. ![]()
Naja, du musst Textdraw auch schon deklarieren...also schreib mal oben in dein Skript:
new Text:Textdraw[2]; //jetzt könntest du den Index 0-1 füllen also 2 TextDraws
mfg. ![]()
Dann vielleicht: 1303
Du kannst aber auch Objekte kleiner bzw größer machen: [ SCRIPTING ] Objekte Größer bzw Kleiner machen
mfg. ![]()
Hey, ich suche die Objekt-ID von diesem Stein.
Ich bin mir nicht sicher, aber das könnte 2936 sein ![]()
Kann mir jemand sagen was das ist?
Was für einen TextDraw Editor nutzt du denn? ![]()
Soweit ich weiß, brauchst du da gar keine Plugins...
Schreib es so:
ocmd:stats(playerid, params[])
{
new string[256];
format(string,sizeof(string),"accounts/%s.txt",SpielerName(playerid));
if(dini_Int(string,"Perso")==1)
{
new level=dini_Int(string,"Level");
format(string,sizeof(string),"Name \t%s [%i] \t100 \t100\n",SpielerName(playerid),playerid);
format(string,sizeof(string),"%sLevel \t%i \t100 \t100\n",string,level);
strcat(string,"Respekt \t$5000 \t100 \t100\nZeit seit PayDay \t$5000 \t100 \t100\nWarns \t$5000 \t100 \t100\nRespakt \t$1000 \t100 \t50");
ShowPlayerDialog(playerid,DIALOG_Stats,DIALOG_STYLE_TABLIST,"Stats",string,"Select", "Cancel");
}
return 1;
}
Zeige mal mehr Zeilen...
Datenbank nichtmehr importieren
Das ist keine Datenbank sondern Tabellen...
Eine Datenbank musst du schon erstmal selbst erstellen ![]()
Also Variablen im define kann man nicht einfach so mal verändern ?
Sachen die du mit #define machst, sind keine Variablen...
Zum Beispiel:
#define MaxVeh 5
//Irgendwo
MaxVeh = 9;
Während dem Compilen, ersetzt der Pre-Compiler das durch:
5 = 9;
und das macht ja absolut keinen Sinn.
Wenn du mit Variablen arbeiten willst, nutze new.
Aber hier musst du nur mit einer PlayerVariable arbeiten...so wie du dein Geld...Level etc abspeicherst...
Deshalb sind die Funktionen nicht ganz richtig.
Das konnte man aus deinem Post nicht erfahren, ob oder ob das so nicht sein sollte.
Okay, wenn das so sein soll, dann behandle das doch einfach als SpielerVariable und...speichere und lade sie genau so (dann brauchst du auch kein define).
Ja, es gibt bereits R39-3: https://github.com/pBlueG/SA-MP-MySQL/releases
Da ist immer ein Changelog dabei, kannst also alles genau nachlesen ![]()
Also so wie ich das jetzt verstanden habe, willst du die Variable MaxVeh dynamisch während der Laufzeit ändern und in einer Datei speichern.
Dann musst du das nicht für jeden Spieler machen, sondern kannst das einfach global machen:
//Oben anstatt dem Makro
#define MAX_VEH_PATH "MaxVeh.ini"
new MaxVeh;
//Am besten machst du dir 2 Funktionen:
stock SetMaxVeh(anzahl)
{
new File:f=fopen(MAX_VEH_PATH,io_write),buffer[8];
valstr(buffer,anzahl),MaxVeh = anzahl;
fwrite(f,buffer),fclose(f);
}
stock GetMaxVeh()
{
new buffer[8] = "3";
if(!fexist(MAX_VEH_PATH)) return strval(buffer); //Hier falls es nicht existiert der Defualt Wert 3
new File:f=fopen(MAX_VEH_PATH,io_read);
fread(f,buffer),fclose(f);
return strval(buffer);
}
//Dann unter OnGameModeInit
MaxVeh = GetMaxVeh();
//Und in einem Command oder so kannst du sie so setzen:
SetMaxVeh(5); //dann wäre das z.B. 5
Hoffe du hast es so grob verstanden ![]()
Naja, du machst ein Array:
//Oben in dein Skript schreiben:
stock const Float:checkP[][3] = {
{1436.0986,-1735.5679,13.0875},
{1818.4584,-1911.8336,13.0939},
{2059.4771,-1940.6632,13.0563},
{2008.5358,-1457.9471,13.0952},
{1718.0936,-1414.9360,13.0885},
{1558.5846,-1294.5383,16.4447},
{1427.1154,-1030.7017,23.3610},
{1203.2323,-933.3453,42.4372},
{793.3743,-1354.3220,13.0956},
{561.6163,-1399.9645,14.5171},
{357.1045,-1649.3328,32.5020},
{1143.0398,-1737.3237,13.2442}
};
//Und dann unten einfach so:
switch(Bus[playerid])
{
case 1..12: {
new str[64],id=Bus[playerid]-1;
format(str,64,"Du hast den Checkpoint Nr. %d erreicht.",Bus[playerid]);
SendClientMessage(playerid,GRUN,str);
SetPlayerCheckpoint(playerid,checkP[id][0],checkP[id][1],checkP[id][2], 5.0);
Bus[playerid]++;
}
case 13: {
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid,GRUN, "Herzlichen Glueckwunsch Du hast Bestanden");
DestroyVehicle(GetPlayerVehicleID(playerid));
}
}
PS: Mit TogglePlayerControllable(playerid,0); freezt du den Spieler...musst ihn aber wieder entfreezen (TogglePlayerControllable(playerid,1)) mit einem Timer o.ä.
mfg. ![]()
aTickets...ist deine TextDraw id, beinhaltet aber nicht die Anzahl der Tickets ![]()