So erstmal danke für das Feedback, ich habe eine Kern Funktion umgebaut um Werte zu Trennen, sie
läuft nun schneller & somit sollte auch die Lade Funktion nun schneller laufen, weiterhin viel Spaß
Beiträge von BlackFoX
-
-
Danke, die Anzeige könnt ihr nach belieben ändern wenn ihr möchtet

-
Hallo Leute,
ich habe diesmal ein FS gemacht das es ermöglicht Nitro zu boosten wie in NFS ( Need For Speed ) zudem wird angezeigt wie viel Nitro
noch übrig ist , nachfüllen könnt ihr in jeden Shop in den Fahrzeuge getunt werden können, das Nitro System beschränkt sich auf gewisse Fahrzeuge.Um Nitro zu boosten fahrt in ein Tunings Shop & tankt erstmal N20, je nach Menge 2x , 5x, 10x bekommt ihr eine gewissen Füllmenge.
drückt während ihr fahrt die Feuer Taste & um Nitro einzusetzen, lasst sie wieder los um aufzuhören euer Status sprich die Anzeige wird beim boosten sinken sprich
sie zeigt das an was noch übrig ist ein Lachgas, ihr wisst wie ich es meine
Screenshots
-
new lastfarmpoint = sizeof(farmercheckpoints)+1;
ansonsten teste mal per Blank Skript & main()
main()
{
for(new i = 0;i<sizeof(...);i++)printf("%f",Array[i]);}
und schau wie der Inhalt wiedergegeben wird sprich dann musst du nicht jedesmal ins Game einfach nur so testen ( mit +1 & ohne )
-
sizeof ermittelt die Größe eines Arrays
new Float:Checks[][] = {
{...},
{...}
}new lasiza = sizeof(Checks);
-
sizeof ermittelt die Größe der Array also wäre das die bessere Variante die endgültige Größe zu erfassen

aso , wenn du die Array auf 10 Maximale Plätze setzt
sind Slot 0 - 9 gültige Plätze sprich sind es dann trotzdem 10 wenn man es so sieht der letzt Platz enthält den Escape char bzw. den Nullwert \0 -
versuch es mal so
if(pInfo[playerid][gefarmt] <= lastfarmpoint)
statt
if(pInfo[playerid][gefarmt] < lastfarmpoint) -
Manchmal bedeutet es auch das der Zugriff auf den Pfad fehlt sprich eine Datei wird vom Stream benutzt oder das Zugriffsprogramm hat die Rechte nicht
-
Strtok Löschen ausm Skript oder neuste Dini Version von http://www.dracoblue.net holen dann sollte das Problem aus der Welt sein
-
if(!strcmp(cmd,"/report",true))
{
tmp = strrest(cmdtext,idx);
if(!tmp[0])return SendClientMessage(playerid,0xFF0000FF,"/report [nachricht]");
new form[255],nname[MAX_PLAYERS];
GetPlayerName(playerid,nname,sizeof nname);
format(form,sizeof form,"%s Report : %s\r\n",nname,tmp);
new File:ddx = fopen("report.log",io_append);
fwrite(ddx,form);
fclose(ddx);
return 1;
}stock strrest(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[128];
while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
} -
eine eigene Funktion schreiben wäre da eine Lösung
AddStaticVehicleDx(model,Float:x,Float:y,Float:z,Float:a,farbe1,farbe2,vw)
{
new car = AddStaticVehicle(model,x,y,z,a,farbe1,farbe2);
SetVehicleVirtualWorld(car,vw);
return car;
}kannst danach auch Direkt auf die Original Funktion verweisen dann musst du nur die vw hintendran hängen
#define AddStaticVehicleDx AddStaticVehicle
-
-
wenn du in vb
Dim Hallo as boolean = false
setzt dann abfragst
if(not Hallo)then Msgbox("not Hallo")
if(Hallo)then MsgBox("Ist Hallo")
wird not = nicht als False erkannt sprich ist Falsch anders rum ohne not Wenn Hallo dann = True
-
Schau doch mal unter diese Funktion dort ist extra eine Liste aller Tasten
http://wiki.sa-mp.com/wiki/GetPlayerKeys
ansonsten öffnest du die a_samp.inc & schaust dir die Makros an, dort kannst du entweder die Direkte Zahl/ID für die Taste verwenden oder einfach den Bezeichner
-
-
Meine Fresse Leute LERNT LESEN, hier ist der Showroom oder geht zum Optiker & holt euch eine Brille

-
%0.4f , 4 Stellen nach dem Komma
%1.5f = 1 Stelle vor & 5 Stellen nach dem Komma
-
strlen gibt die länge zurück bis zum Escape \0
strval gibt den Wert als Integer/Zahl wieder -
forward Float:GetPlayerCash(playerid);
-
stock Float:GetPlayerCash(playerid)
sollte so gehen da der Typ erst gekennzeichnet werden muss