Überleg doch mal einen Schritt weiter,was bringt uns nur ein Teil deines Codes ?
Du müsstest zumindest noch die Funktion hack() posten,denn:
SetTimerEx("hack",45000,false,"i",playerid); // Ich nehme an,hier soll entsperrt werden
Bist du sicher,dass die Funktion hack() überhaupt aufgerufen wird ? Füg ein print() in die Funktion ein und lern Debuggen.
Beiträge von Goldkiller
-
-
[Plugin] nativechecker
Plugin installieren und das Ergebnis der Log interpretieren. -
Es wurde sicherlich so angegeben ( oder eben nicht )
Benutzt CreateVehicle oder AddStaticVehicleEx
http://wiki.sa-mp.com/wiki/CreateVehicleZitatrespawn_delay The delay until the car is respawned without a driver in seconds.
http://wiki.sa-mp.com/wiki/AddStaticVehicleExZitatrespawn_delay The delay until the car is respawned without a driver, in seconds.
Setz die Zeit halt sehr hoch .
-
Dann versuch dich doch mal an der Kunst des Debuggens und interpretier das Ergebnis:
[ SCRIPTING ] Debugnachrichtenstock CFC(model,Float:fx,Float:fy,Float:fz,Float:fa,farbe1,farbe2,frak)
{
new SDatei[64];
for(new carid=1;carid<MAX_VEHICLES;carid++)
{
format(SDatei,50,"/fraccar/%d.txt",carid);
if(!fexist(SDatei))
{
dini_Create(SDatei);
dini_IntSet(SDatei,"Model",model);
dini_FloatSet(SDatei,"X",fx);
dini_FloatSet(SDatei,"Y",fy);
dini_FloatSet(SDatei,"Z",fz);
dini_FloatSet(SDatei,"A",fa);
dini_IntSet(SDatei,"Farbe1",ffarben[0][frak]);
dini_IntSet(SDatei,"Farbe2",ffarben[1][frak]);
dini_IntSet(SDatei,"Fraktion",frak);
Frakcar[carid] = CreateVehicle(model,fx,fy,fz,fa,ffarben[0][frak],ffarben[1][frak],-1);
Gas[Frakcar[carid]] = GetGasMax(GetVehicleModel(Frakcar[carid]));
fkennzeichen(carid);
FCInfo[carid][fmodelid] = dini_Int(SDatei,"Model");
FCInfo[carid][fcx] = dini_Float(SDatei,"X");
FCInfo[carid][fcy] = dini_Float(SDatei,"Y");
FCInfo[carid][fcz] = dini_Float(SDatei,"Z");
FCInfo[carid][fca] = dini_Float(SDatei,"A");
FCInfo[carid][Frakid] = dini_Int(SDatei,"Fraktion");
FCInfo[carid][fcc1] = dini_Int(SDatei,"Farbe1");
FCInfo[carid][fcc2] = dini_Int(SDatei,"Farbe2");
return 1;
}
}
return 1;
}
Der Fehler ist aber auch ohne debuggen zu sehen. Lass dir doch mal frak ausgeben und prüf mal im Kopf nach,ob es so überhaupt möglich ist ( Array Zugriff
dini_IntSet(SDatei,"Farbe1",ffarben[0][frak]); -
if(strcmp(CarInfo[car][c_Owner],"RaceCrew",true))
Du benutzt strcmp nicht richtig.
http://wiki.sa-mp.com/wiki/StrcmpZitatReturns -1 if string1 comes before string2
1 if string1 comes after string2
0 if the strings are the same (for the matched length).
Ob da noch mehr nicht richtig ist,hab ich nicht überprüft. Man kennt ja deine Verwendung der Variablen usw nicht. -
pastebin Link musst du noch hinzufügen.
-
Super,nur bist du hier im völlig falschen Forenbereich.
Zitat
Fehler / Vorschläge / Kritik / Lob zum ForumForeneigenes, Vorschläge, Wünsche oder Anfragen
-
Das ist falsch rum.
stock IsVehABike(vehid)
{
if(vehid==509||vehid==481||vehid==510) // <- Das sind Bikes
{
return 0; // Dann lieber return 1
}
return 1; // Keine Bikes,lieber return 0
} -
Du könntest ja auch einfach das Video hier posten. Das ist ja auch der Sinn bei einem Forum,dass dir möglichst viele Leute helfen können.
-
Sowas von simpel und doch so genial. Finde ich wirklich gut,auf die Idee muss man erst mal kommen :).
Mich würde mal ein Blick auf die Anderen Flaggen interessieren. Könntest du ein Screenshot mit allen Flaggen machen ? Hast du dazu eines der Image2Textdraw Tools benutzt ? -
Kannst schon größere Arrays als 2048 anlegen. Würde dann aber auch auf packed-Strings umsteigen,dann sparst 75% .
Gibts denn überhaupt einen guten Grund,den Spielernamen + ID in Variablen zu speichern ? Du könntest doch auch einfach immer neu die Datei durchgehen und dann nach dem jeweiligen User + die ID suchen.
Mit DINI wird es auch nicht besser, sofern du die Daten unbedingt aktuell brauchst und somit ablegt in Variablen. Das gilt dann auch für eine SQL Variante.
Hab also auch nicht wirklich verstanden,was es denn genau bezwecken soll. Sollen nur die aktuellen User aufgelistet werden die Online sind oder soll es eine Art Inhaltsverzeichnis werden,für alle Spielerprofile ?
Es heisst übrigens auch standard ;). -
Dann mach das es halt mit dem Fahrzeug geht.
Über
http://wiki.sa-mp.com/wiki/CreatePickup
auf
http://wiki.sa-mp.com/wiki/PickupTypes
Schau mal genau hin,ein Typ lässt sich mit Fahrzeugen aufnehmen. -
Wieso sollte das nicht gehen ?
Hast wohl nicht ganz verstanden wie ein Array / String funktioniert,sonst würdest sowas nicht schreiben.
new passwort[] = "WasAuchImmErHieRStehenMag2844";
passwort[0] = tolower( passwort[0] );
Du meinst also das geht nicht :-O? Definitiv würde jetzt aus dem 'W' ein 'w' werden. -
Gibt doch die Funktion tolower().Die wandelt aber nur den Einzelnen Buchstaben um,nicht den ganzen String.Musst halt mit einer Schleife machen.
new kleines_b = tolower('B'); -
Liegt ja auch an deiner Parameterreihenfolge.
Woher soll denn SSCANF wissen,dass der String ( s -> aktion) zu Ende ist und ein neuer für beginnt ( d -> menge ) ?
Du müsstest es mit p<> dazu zwingen,bei jedem Leerzeichen den nächsten Parameter automatisch zu suchen.
sscanf(params,"p< >usD(1)",pID,aktion,menge)
So klappte es früher jedenfalls. Nach hunderten von Änderungen bei SSCANF ist es vllt nicht mehr so. -
Steht doch im Thread,allerdings im SSCANF Plugin Thread.
[Plugin] sscanf 2.6 - New Stable Version.Einfach den Platzhalter ( z.B. i / d ) in Großbuchstaben schreiben und dahinter in runden Klammern ( ) den Wert der Standardmäßig eingesetzt wird für den Fall der Parameter wurde nicht angegeben.
sscanf(params,"uD(50)",spielerid,wert); -
Hat denn noch keiner von euch gemerkt,dass preis ein Array ist ? Das ist nämlich völliger Quatsch.Dann brauch man auch kein strval mehr,wozu denn auch.
-
format(string,sizeof(string),"PAYDAY: Du haste %i Geld erhalten",lohn);
SendClientMessage(playerid,ORANGE,string);
Sicher das es klappt ? Der Platzhalter %i funktioniert nur bei Zahlen,lohn ist bei dir aber ein String / Text der nur eine Zahl enthält.
10 ist nicht "10".
Hättest es besser so gemacht:new string[128];
new lohn;
switch(GetPVarInt(playerid,"Rang"))
{
case 0: lohn=1800;
case 1: lohn=2500;
case 2: lohn=3500;
case 3: lohn=5000;
case 4: lohn=6250;
case 5: lohn=7500;
case 6: lohn=25000;
}
GivePlayerMoney(playerid,lohn);
format(string,sizeof(string),"PAYDAY: Du haste %i Geld erhalten",lohn);
SendClientMessage(playerid,ORANGE,string); -
Zitat
wir lassen dich dein User Control Panel für SA:MP auf MySQL-Basis (bald auch auf DINI-Basis) selbst bauen
Ohje,was macht ihr denn mit denjenigen die SII o.Ä ( nur nicht DINI ) benutzen :-O?
Ihr solltet das mal ausbessern,ihr meint Sicherlich "Datei/File-Basis". -
Man fügt keine vermeintlichen Listen als Werte in einer Datenbank ein,ganz großer Fehler.
Dann guckst mal bei selfhtml und sendest den gewählten Eintrag per POST,GET oder sonst was.