...kann man nicht wirklich sehen.
Kommentiere doch mal sogut wie alles aus.
Dann compile und dann entkommentiere nach und nach und dann weißt du ja, an welcher Zeile es schließlich liegt.
...kann man nicht wirklich sehen.
Kommentiere doch mal sogut wie alles aus.
Dann compile und dann entkommentiere nach und nach und dann weißt du ja, an welcher Zeile es schließlich liegt.
Jetzt hab ich mal das define in die Datei gegeben wo das public drin ist. Jetzt funktioniert es. Es compiled innerhalb von 8,1 Sekunden. Ist das zu lange?
Kommt darauf an, wie groß dein Skript ist und wie effizient du mit dem Speicher umgehst, aber so wie ich deinen Code sehe, tust du das eben nicht.
Du kannst Variablen mehrfach verwenden:
public OnPlayerText(playerid, text[])
{
new message[128];
if(text[0] == '$')
{
if(iPAA(playerid,2))return rangniedrig;
if(!text[1]) return SCM(playerid, ROT,"$ [Text]"),0;
format(message, sizeof(message), "(([Adminchat] %s: %s ))", SpielerDaten[playerid][pName],text[1]);
return SAM(ROT,message),0;
}
if(text[0] == '§')
{
if(iPAA(playerid,1))return rangniedrig;
if(!text[1]) return SCM(playerid, ROT,"§ [Text]"),0;
format(message, sizeof(message), "(([Helferchat] %s: %s ))", SpielerDaten[playerid][pName],text[1]);
return SAM(HGREEN,message),0;
}
format(message, sizeof(message), "{969696}%s sagt: {FFFFFF}%s", SpielerDaten[playerid][pName], text);
return ProxDetector(7.0, playerid, message, WEISS,WEISS,WEISS,WEISS,WEISS),0;
}
Alles anzeigen
Dadurch kannst du dir also die ganzen anderen Variablen schenken.
Das hat soweit geklappt, jetzt funktionieren meine Befehle nicht und es kommt immer unknown command.
jetzt funktionieren meine Befehle nicht und es kommt immer unknown command.
Das liegt aber nicht an der Code Änderung.
Ja..lass mal Crashdetect laufen und schau in den Log ![]()
Crashdetect sagt nix.
OnPlayerClickMap zb funktioniert auch nicht.
Und was erwartest du jetzt von uns? ![]()
Eventuell hookst du irgendwo etwas...oder keine Ahnung...
Man kann dir so echt schlecht nur helfen ![]()
Muss ich eine Reihenfolge beachten? publics, ocmd Befehle, stocks, oder anders rum?
Muss ich eine Reihenfolge beachten? publics, ocmd Befehle, stocks, oder anders rum?
Nein, aber defines müssen nach oben.
Die defines sind ganz oben
Edit:
Ich versuch grade maps in ein include zu geben und einzufügen.
new FAHRSCHULE[56], FAHRSCHULEINT[68];stock LoadObjects() { //FAHRSCHULE! FAHRSCHULE[0] = CreateDynamicObject(19437, 998.3748, -1296.3133, 15.9863, 90.0000, 90.0000, 0.0000); //wall077 SetDynamicObjectMaterial(FAHRSCHULE[0], 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
Der Code ist natürlich viel länger
Unter OnGamemodeInit hab ich dann LoadObjects();
Es wird jedoch nichts eingefügt. Woran kann das liegen?
Edit: Beide Probleme haben sich gelöst, ich hab die falsche .pwn Datei geladen, daher ging nix.
Hey,
Habe folgendes Problem habe das Bereits getestet einen TÜV auf mein Fahrzeug zu machen und das Funktioniert nicht.
Der Spieler muss in sein Fahrzeug sitzen das der Beamte ihn einen TÜV ausstellen kann.
Aber das ganze ist auf das Fahrzeug ID bezogen das es da gespeichert wird aber das klappt ja nicht.
ocmd:tuv(playerid, params[])
{
if(!IsLoggedIn(playerid))return 1;
new pID, string[128], cmd, Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
if(sscanf(params,"dd", pID, cmd)) return SendClientMessage(playerid, COLOR_WHITE,"{247BA6}* Benutze: {00CC00}/tuv [SpielerID/Name] [1 = Bestanden | 0 = Nicht Bestanden]");
if(Spieler[pID][pWanteds] > 0) return SendClientMessage(playerid, COLOR_WHITE,"{AFAFAF}Der angegebene Spieler wird von der Polizei gesucht!");
if(!IsPlayerInRangeOfPoint(pID, 10.0, pos[0], pos[1], pos[2]))return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Der Spieler ist nicht in deiner Nähe.");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_WHITE, ERROR_OFFLINE);
if(IsPlayerNPC(pID))return 1;
//if(pID == playerid) return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du kannst keine Prüfung an deinem eigenen Auto durchführen!");
if(!IsPlayerInAnyVehicle(pID)) return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Der angegebene Spieler befindet sich nicht in seinem Fahrzeug!");
if(cmd == 0)
{
for(new vehSlot=0;vehSlot<MAX_PLAYER_VEHICLES;vehSlot++)
{
format(string, sizeof(string), "{C2A2DA}* %s %s entfernt die Prüfplakette von %s Auto", GetRankName(Spieler[playerid][pFraktion], Spieler[playerid][pRank]), GetName(playerid), GetName(pID));
RoundMessage(playerid, COLOR_WHITE, string, 10.0);
PrivateVehicle[GetPlayerVehicleID(pID)][vehSlot][vehTuv] = 0;
PrivateVehicle[GetPlayerVehicleID(pID)][vehSlot][vehTuvAbgelaufen] = 0;
return 1;
}
}
if(cmd == 1)
{
for(new vehSlot=0;vehSlot<MAX_PLAYER_VEHICLES;vehSlot++)
{
format(string, sizeof(string), "{C2A2DA}* %s %s klebt eine Prüfplakette (Gültigkeit 7 Tage) an das Auto von %s", GetRankName(Spieler[playerid][pFraktion], Spieler[playerid][pRank]), GetName(playerid), GetName(pID));
RoundMessage(playerid, COLOR_WHITE, string, 10.0);
PrivateVehicle[GetPlayerVehicleID(pID)][vehSlot][vehTuv] = 1;
printf("Fahrzeug TÜV: %d", PrivateVehicle[GetPlayerVehicleID(pID)][vehSlot][vehTuv]);
PrivateVehicle[GetPlayerVehicleID(pID)][vehSlot][vehTuvAbgelaufen] = gettime()+(60*60*24*7);
printf("Fahrzeug TÜV läuft: %d", PrivateVehicle[GetPlayerVehicleID(pID)][vehSlot][vehTuvAbgelaufen]);
return 1;
}
}
return 1;
}
Alles anzeigen
Fahrzeug TÜV: 1
Fahrzeug TÜV läuft: 1549136297
Hallo ich habe das Problem das die Positionen ohne komma zahlen in die Datenbank gespeichert werden.
mysql_format(handle, query, sizeof(query), "INSERT INTO geschenke (id, x, y, z, erstellt, ersteller) VALUES ('%d', '%f', '%f', '%f', '%d', '%e')", Geschenke[i][ID], Geschenke[i][GeschenkX], Geschenke[i][GeschenkY], Geschenke[i][GeschenkZ], Geschenke[i][Erstellt], Geschenke[i][Ersteller]);
mysql_pquery(handle, query);
ohne komma zahlen in die Datenbank gespeichert
Wie hast denn GeschenkX etc definiert? Und wie benutzt du es?
und was genau steht in der Datenbank? xD
aber das klappt ja nicht.
Was genau klappt denn nicht?
Was genau passiert denn...was willst du haben?! xD
Bissl präziser
Wie hast denn GeschenkX etc definiert? Und wie benutzt du es?
?? verstehe ich nicht
und was genau steht in der Datenbank? xD
ID x y z erstellt Ersteller
4 1960 1344 15 1 Abbas
Hallo, hab dan kleines Problem.
Ich hatte es schonmal dieses Problem, dan dachte ich es ist gelöst, nur kann man sich den Rang setzten wen man kein Teammitgleid ist, wenn der Code folgendermapen ist. Was ist das inkorrekt?
ocmd:makeadmin(playerid, params[])
{
//if(SD[playerid][pEingeloggt] == 0)return SCM(playerid, GRAU, "Du bist nicht eingeloggt!");
new pID, adminid, string[128];
if(!iPAA(playerid,5))
{
if(sscanf(params, "ui", pID, adminid))return makeadmin;
//if(adminid < 2)return SCM(playerid, GRAU, "Du kannst nur ab Rang 2 vergeben.");
if(IPN(pID))return 1;
//if(IsPlayerNPC(pID))return 1;
//if(!Eingeloggt[pID])return SCM(playerid, GRAU, "Dieser Spieler ist nicht eingeloggt!");
//if(SD[pID][pIntro] < 1)return SCM(playerid, GRAU, "Der Spieler ist noch im Tutorial.");
if(adminid == 0)
{
format(string,sizeof(string), GARN(playerid));
SD[pID][pAdmin] = adminid;
format(string, sizeof(string), "Du hast %s %s aus dem Teamposten %s entlassen", string,SD[pID][pName], string);
SCM(playerid, BLAU, string);
format(string,sizeof(string), GARN(playerid));
SD[pID][pAdmin] = adminid;
format(string, sizeof(string), "%s %s hat dir den Rang %s entzogenn!", string,SD[playerid][pName],GARN(pID));
SCM(pID, BLAU, string);
format(string,sizeof(string), GARN(playerid));
SD[pID][pAdmin] = adminid;
format(string, sizeof(string), "AdmCMD: %s %s hat %s %s den Rang %s entzogen!", string,SD[playerid][pName],string, SD[pID][pName],GARN(pID));
SAM(BLAU, string);
SD[pID][pAdmin] = 0;
SUS(pID);
return 1;
}
if(adminid < 1 || adminid > 7)return adminrangnichtexistent;
format(string,sizeof(string), GARN(pID));
SD[pID][pAdmin] = adminid;
format(string, sizeof(string), "Du hast %s %s den Teamrang %s gegeben", string,SD[pID][pName], GARN(pID));
SCM(playerid, BLAU, string);
format(string, sizeof(string), "%s %s hat dir den Teamrang %s gegeben",GARN(playerid),SD[playerid][pName],GARN(pID));
SCM(pID, BLAU, string);
format(string,sizeof(string), GARN(pID));
SD[pID][pAdmin] = adminid;
format(string, sizeof(string), "AdmCMD: %s %s hat %s %s zum %s ernannt.",string, SD[playerid][pName],string, SD[pID][pName], GARN(pID));
SAM(BLAU,string);
SUS(pID);
return 1;
}
else {SCM(playerid, GRAU, "Du hast nicht genügend Rechte für diesen Befehl.");}
return 1;
}
Du kannst diesen Befehl also nur Nutzen wenn du kein Admin Rang hast oder wie ?
Verstehe deine Aussage nicht wirklich :;D
Momentan kann ich den Befehl auch nutzen wenn ich keinen Teamrang habe. Was aber natürlich nicht so sein sollte.
mein isPlayerAnAdmin (iPAA):
stock isPlayerAnAdmin(playerid,rang)
{
if(SpielerDaten[playerid][pAdmin] < rang)return 1;
return 0;
}