@Kaliber
Man lernt nie aus und das mit dem Zitat tja, kein Profi in der nutzung von sowas
Beiträge von Mogly1
-
-
Alles anzeigen
Du hast hier einen string quasi, der 2000 Indizes belegt.
Das entspricht 2000 * 4 Byte = 8.000 Byte = 8kb die du da allozierst.
Das geht aber auch mit 600. Somit würdest du (600 * 4 Byte = 2.400 Byte = 2.4kb) 5.6kb sparen.
Das kann schon performanz technisch was aus machen.Dann kann man hier noch strcat nutzen, welches den String befüllt und zwar sehr schnell und effizient und am Ende nur ein format macht.
So sieht das dann ordentlich aus:
Cnew DialogString[600]; strcat(DialogString,"{FFFFFF}Linie 1: LS Stadtlinie 1 {33AA33}(%d){FFFFFF}, ab Skill 0\n"); strcat(DialogString,"{FFFFFF}Linie 2: LS Stadtlinie 2 {33AA33}(%d){FFFFFF}, ab Skill 2\n"); strcat(DialogString,"{FFFFFF}Linie 3: LS Stadtlinie 3 (East) {33AA33}(%d){FFFFFF}, ab Skill 3\n"); strcat(DialogString,"{FFFFFF}Linie 4: LS-SF {33AA33}(%d/5){FFFFFF}, ab Skill 4\n"); strcat(DialogString,"{FFFFFF}Linie 5: SF-LS {33AA33}(%d/5){FFFFFF}, ab Skill 4\n"); strcat(DialogString,"{FFFFFF}Linie 6: SF Stadtlinie 1 {33AA33}(%d/5){FFFFFF}, ab Skill 6\n"); strcat(DialogString,"{FFFFFF}Linie 7: SF Stadtlinie 2 {33AA33}(%d/5){FFFFFF}, ab Skill 7\n"); strcat(DialogString,"{FFFFFF}Linie 8: SF-LV {33AA33}(%d/5){FFFFFF}, ab Skill 8\n"); format(DialogString,sizeof(DialogString),DialogString, linie[0], linie[1], linie[2], linie[3], linie[4], linie[5], linie[6], linie[7]);
wenn du wirklich noch mehr sparen willst brauchst ud eig nur 540 ca. -
versuch es so
new DialogString[1500],string1[250],string2[250];
format(string1, sizeof(string1), "{FFFFFF}Linie 1: LS Stadtlinie 1 {33AA33}(%d){FFFFFF}, ab Skill 0\n{FFFFFF}Linie 2: LS Stadtlinie 2 {33AA33}(%d){FFFFFF}, ab Skill 2\n{FFFFFF}Linie 3: LS Stadtlinie 3 (East) {33AA33}(%d){FFFFFF}, ab Skill 3\n{FFFFFF}Linie 4: LS-SF {33AA33}(%d/5){FFFFFF}, ab Skill 4",
linie[0], linie[1], linie[2], linie[3]);
format(string2, sizeof(string2), "{FFFFFF}Linie 5: SF-LS {33AA33}(%d/5){FFFFFF}, ab Skill 4\n{FFFFFF}Linie 6: SF Stadtlinie 1 {33AA33}(%d/5){FFFFFF}, ab Skill 6\n{FFFFFF}Linie 7: SF Stadtlinie 2 {33AA33}(%d/5){FFFFFF}, ab Skill 7\n{FFFFFF}Linie 8: SF-LV {33AA33}(%d/5){FFFFFF}, ab Skill 8",
linie[4], linie[5], linie[6], linie[7]);
format(DialogString, sizeof(DialogString), "%s\n%s",string1,string2);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Linien Auswahl", DialogString, "Starten", "Abbrechen"); -
Nur ne Frage, bei der Tankstelle bekommst du keine?
-
Wenn es nicht ordent lich auf den dach sitzt muss du doch
AttachDynamicObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID],0.0,0.0,0.85,0,0,0);
bearbeiten bzw. was genau war jetzt die frage? -
Na du müsstes abfragen ob
if(killerid == INVALID_PLAYER_ID)
{
//selbstmord
} -
Dann printe doch mal, um zusehen wie weit er kommt/geht.
-
Frag doch erstmal ab ober überhaupt in einer fraktion ist, bevor du die ganzen autos durchgeht, damit sparrst auch bissel ;D
if(SpielerInfo[playerid][pFraktion]>=1)
{
if(IsAMemberFromFraktion(GetPlayerVehicleID(playerid)) != SpielerInfo[playerid][pFraktion])return SendClientMessage(playerid, -1, "Du hast die Autoschlüssel nicht!");
//motor an...
} -
ocmd:job(playerid,params[])
{
ShowMenuForPlayer(Stadthalle, playerid);
FreezePlayer(playerid);
return 1;
}
versuch es mal so -
Da es ja von aussehn geht, mach das mal wegGetPlayerVirtualWorld(playerid) != 1
und versuch es dann, wenn es dann geht bist in der falschen virtuellen welt -
Bekommst du denn eine Nachricht wenn du drinne versuchst das aufzuschließen oder passiert einfach nichts?
-
Ey sry aber wtf...
mach das mal so
ocmd:ausruesten(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,4.0, 2807.5308,-1174.7401,1025.5703))
{
if(PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pLeader] == 12)
{
new header[64], string[256];
format(header, 96, "%d Mats, %dg Drogen", GroveMats, GroveDrugs);
format(string, sizeof(string), "4g Drogen: 4400$ (1100$ je Gramm)\nBaseballschläger: 72$ (12 Mats)\nDeagle 300$ (50 Mats)\nShotgun: 150$ (25 Mats)\nMP5: 300$ (50 Mats)\nAK47: 450$ (75 Mats)");
ShowPlayerDialog(playerid, DIALOG_GROVESTREET, DIALOG_STYLE_LIST, header, string, "Kaufen", "Abbrechen");
return 1;
}
else
{
return SendClientMessage(playerid,COLOR_RED,"Nicht 12");
}
}
if(IsPlayerInRangeOfPoint(playerid,4.0,255.0789,77.4782,1003.6406) || IsPlayerInRangeOfPoint(playerid,4.0,197.8206,168.2515,1003.0234) || IsPlayerInRangeOfPoint(playerid,4.0,225.0941,121.8315,999.0803))
{
if(IsACop(playerid))
{
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100);
ShowPlayerDialog(playerid, DIALOG_LSPDEQUIP, DIALOG_STYLE_LIST, "Ausrüstung", "Schlagstock\nDesert Eagle\nShotgun\nMP5\nSniper\nSpray","Ausrüsten", "Abbrechen");
return 1;
}
return SendClientMessage(playerid,COLOR_RED,"Nicht Cop");
}
return SendClientMessage(playerid,COLOR_RED,"Nicht an der Umkleide");;
}
Diese Abfrage
if(!IsPlayerInRangeOfPoint(playerid,4.0, 2807.5308,-1174.7401,1025.5703))return SendClientMessage(playerid,COLOR_RED,"Nicht an der Umkleide");
{
...
}
if dann return und dann { } ist einfach nur auaist doch ...(idiotisch)
-
Du nutz eine for schleife in einer forschleife ändere das i zu einem a oder etc...
dann geht esedit: du solltest die House schleife evt. beenden bevor die nächste anfängt glaube du ahst da ne klammer falsch platziert.
-
Da hast du doch die Antwort
SetPlayerVirtualWorld(playerid, i+12000); -
du kannst auch einfach anstatt i, -1 setzten dann sieht mann die überall all egal welche virtualworld man ist...
Problem bleibt dann nur wenn du auch texte da hin schreiben willst ;D -
...
Du speicherst dann
Lastlogin=
ab
Also da ich keinen Schimmer habe wie dein Login/Reg System ist mach ich das einfach mal so also...Wenn du den Spieler speichern lässt, fügst du noch das hinzu Lastlogin=gettime();
Nun lässt du es wieder Laden wenn er sich einloggt.
Dann kannst du einfach wie schon geschrieben *hust*
das hier nutzen
stock LastLogin(playerid)
{
new LastLogin = gettime();
LastLogin -= GetPVarInt(playerid,"LetzterLogin");//GetPVarInt(playerid,"LetzterLogin") dies musst du anpassen an deine System da
return LastLogin;//Login ist in sekunden nun angegeben willst du damit weiter rechnen nutze eifnach /60 für minuten und /60 für stundne und so weiter...
}
Beispiel nutzung
new string[100];
format(string,sizeof(string),"Dein Letzter Loginw ar vor %d Sekunden",LastLogin(playerid));
SendClientMessage(playerid,-1,string);if(LastLogin(playerid)>=60)
{
//Was passiert wenn der Spieler seinen letzten Login 60 Sekunden zuvor hatte oder länger
} -
Suchen einen Script ohne Mysql !!!
Sollte bitte nicht zu alt sein
bitte links in die kommentare schreiben
Mfg SentrixxNur so als kleine Frage, was sollte alles noch im Script sein?
Ich meine ein Blank script oder filterscripts haben auch kein MYSQL und so mit wäre deine frage geklärt...
Nimm ein Blank Script das hat kein MYSQL -
Beim ausslogen(OnPlayerDiesconenct) setzt du dannd deine Variable so (Time ist nur ein beispiel)
Time= gettime();und abfrage wäre dann die
stock LastLogin(playerid)
{
new LastLogin = gettime();
LastLogin -= Time;
return LastLogin;//Login ist in sekunden nun angegeben willst du damit weiter rechnen nutze eifnach /60 für minuten und /60 für stundne und so weiter...
}somit sollte das dann die Zeit seit dem letzten Login wiedergeben.
mit bsp.
new string[100];
format(string,sizeof(string),"Dein Letzter Loginw ar vor %d Sekunden",LastLogin(playerid));
SendClientMessage(playerid,-1,string);#Edit da ich dir nicht alels vorschreiben will musst du natürlich Time deinen System anpassen damit es auch gespeichert wird in der Spieler Datei
-
#PUSH
Ihr spielt gerne auf den Server und seid reif?
Es werden Admins/Supporter gesucht, die auf den Server für Ordnung sorgen.
Einfach per PN melden. -
bin ich jetzt auch dabei?