In welchem Symbol stehst du denn? Hast du die Position von dem Symbol?
EDIT:
TerabytE: (Post unten): Manchmal lohnt sich auch Copy & Paste ![]()
In welchem Symbol stehst du denn? Hast du die Position von dem Symbol?
EDIT:
TerabytE: (Post unten): Manchmal lohnt sich auch Copy & Paste ![]()
Ich sehe gerade, dass da der Range gar nicht eingetragen war. Schreib es so:
stock isPlayerInAmmu(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,20.0,295.8211,-38.4289,1001.5156)) return 1;
return 0;
}
Im Kompiler dürfen keine Warnungen/Errors sein!
@CIBERKILLER: Was habe ich da gesagt?
Sowas hier geht nicht:
new var = 10;
new str[var + 5];
Aber das geht:
new var[10];
new sr[sizeof(var) + 5]; // => str[10 + 5] => str[15]
Hast du zufällig eine mehrzeilige Meldung mit vielen Zahlen im Compiler, wenn du den Code kompilierst?
Ich denke schon dass das dies hier nicht funktioniert.
Klar funktioniert das. sizeof ist eine Art Konstante, keine Variable. Der Compiler wandelt den sizeof-Wert vor dem kompilieren in eine Zahl um.
----
ocmd:waffekaufen(playerid,params[])
{
if(isPlayerInAmmu(playerid))
{
new outstr[(sizeof(WeapBuy)*24)+(sizeof(WeapBuy)*11)], addstr[34];
for(new i=0;i<sizeof(WeapBuy);i++)
{
format(addstr, sizeof(addstr), "%s (%i$)\n", WeapBuy[i][wbI_weapName], WeapBuy[i][wbI_weapPrice]);
strcat(outstr, addstr);
}
ShowPlayerDialog(playerid, DIALOG_BUYWEAPON, DIALOG_STYLE_LIST, "Waffenkauf", outstr, "Kaufen", "Abbrechen");
}
else SendClientMessage(playerid,ORANGE,"Du bist nicht im Waffensymbol eines Ammunations.");
return 1;
}
stock isPlayerInAmmu(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,20.0,295.8211,-38.4289,1001.5156)) return 1;
return 0;
}
mysql_format(db_handle,query,sizeof(query),"INSERT INTO konten (bankid,name,girkonto,girgeld) VALUES (%d,'%s',0,0)",SetV,name);
mysql_tquery(db_handle,query);
So ist es richtig.
Erledigt.
Problem war eine fehlende Spalte in der Datenbank.
Hast du TeamViewer? Wenn ja, schick mir mal eine PN mit deinen TeamViewer Daten, dann schalte ich mich kurz drauf. Hab kurz Zeit.
Er hat alle drei Varianten für alle drei Plugins auf einmal eingefügt.
Du sollst nicht alle drei Codes einfügen, nur den der für dein Plugin gedacht ist.
So schwer kann das doch nicht sein, du wärst der erste der das nicht hinbekommt.
Mach deine Änderung mal rückgängig. Kannst du den Code dann kompilieren? Wenn ja, poste bitte deine Änderung, die du gemacht hast.
Wenn nein, dann solltest du vielleicht doch deinen Bruder zu Rate ziehen, was er denn da gemacht hat.
Zeige uns bitte den Code und die Fehlermeldungen.
Doch, du greifst auf eine Funktion zu, die muss deklariert werden.
stock ReturnUser(l_PlayerName[]) //©Jeffry
{
new l_name[MAX_PLAYER_NAME];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
{
if(!strcmp(l_name,l_PlayerName, true)) return i;
}
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
{
if(strfind(l_name,l_PlayerName,true)!=-1) return i;
}
}
return INVALID_PLAYER_ID;
}
Apokrate: Ich nehme an du hast es auf einem Linux System liegen, dort ist es so, weil Linux gleiche Dateinamen mit unterschiedlicher Schreibweise unterstützt. Windows nicht. Da mag man sich streiten was besser ist.
Wenn du jede Schreibweise auf Linux als ein Account haben willst, dann solltest du das Account in Kleinbuchstaben speichern, und dann beim connect den SpielerName wieder in Kleinbuchstaben ändern (temporärer string) und damit abfragen ob das Konto existiert.
Falls du dir nicht vorstellen kannst wie, poste deine Login und Registrations Funktionen, und das was dazugehört, dann zeige ich es dir später.
ICy.:
true = eGaL wiE (case insensitive)
false = Genau (case sensitive)
Nicht ganz, aber fast.
Du musst noch eine if-Verknüpfung einbauen, damit der Server weiß, dass er danach abfragen soll, sonst ist deine mysql_GetInt Anweisung technisch gesehen ohne Anweisung.
public OnPlayerConnect(playerid)
{
new banned = mysql_GetInt(Tabelle_Spieler, "Ban","Name", GetName(playerid));
if(banned == 1)
{
SendClientMessage(playerid,Rot,"Du bist gebannt vom Server!");
Kick(playerid);
}
}
Falls du es noch nicht verwendest: Nutze die Kick/Ban Fix - Include: [ INCLUDE ] Kick/Ban Fix
Sonst siehst du die Nachricht nicht.
EDIT: @iEnerqie: Jetzt hast du genau wiederholt was ich geschrieben habe. ![]()
Almero:
So wird das nicht wirklich was. Zum einen fehlt da eine Klammer nach der IF Verknüpfung und zum anderen wirst du mit dieser Zeile einen Tag Mismatch bekommen, weil du ein bool (der Teil mit dem Ausrufezeichen) mit einem Integer vergleichst.
Wegen deiner Frage in PN:
Nein, man wird mich auf TeamSpeak nicht antreffen. Falls doch, bin ich es nicht. Ich nutze TeamSpeak nicht.
Kann dir nicht antworten, da du nur Nachrichten von Freunden akzeptierst.
So wäre es korrekt:
if(SpielerInfo[playerid][pPerso] == 1) return SendClientMessage(playerid,COLOR_RED,"Du bis bereits in Besitz eines Personalausweises!");
Schalte mal den MySQL Debug Modus an und sieh Dir dann den Log an, bzw Weinbau damit nichts anfängst poste es, dann schaue ich es mir morgen früh an.
Wie du das machst steht hier: Tipps: Scripting-Probleme richtig erklären (Kapitel 1.4)
Vielleicht hast du dich nur vertippt, oder die Spalte vergessen hinzuzufügen.
new in;
for(new i;i<MAX_PLAYERS;i++) if(IsPlayerConnected(i)) if(GetPlayerFaction(i)==GetPlayerFaction(playerid)) in++;
if(in<3) return SendClientMessage...
Wenn du ein mysql_SetInt hast, dann hast du doch bestimmt auch ein mysql_GetInt. Das fragst du beim Login ab, ob es 1 ist, wenn ja schmeißt du den Spieler wieder aus dem Server.
Speichern tust du es ja schon, so wie der Code aussieht.
Klappt es, wenn du den Farbwert mit AA direkt in GangZoneShowForAll einfügst?
Poste mal ansonsten mal den Code mit dem du die GangZone anzeigen lässt.
Du bist dir auch wirklich sicher, dass du beim testen keinen Fehler gemacht hast, also die Zonen gar nicht sichtbar hattest?
Wie sieht es denn jetzt aus? Hast du etwa 00 ans Ende gesetzt?
Genau das. Ändere das FF am Ende jedes HEX Wertes zu AA, dann ist es durchsichtig.
Willst du mehr Durchsichtigkeit ändere es zu 99 oder 88 oder immer weiter runter.