Du benutzt gar kein MySQL? Dann liegt es natürlich auch nicht daran. Ich dachte du hast das auch noch.
Hast du die richtige SA-MP Version (Client & Server gleich)?
Kannst du auf den Server verbinden, wenn du nur einen leeren Gamemode startest?
Du benutzt gar kein MySQL? Dann liegt es natürlich auch nicht daran. Ich dachte du hast das auch noch.
Hast du die richtige SA-MP Version (Client & Server gleich)?
Kannst du auf den Server verbinden, wenn du nur einen leeren Gamemode startest?
Das kannst du so schreiben:
if(dialogid == DIALOG_PRIVATFAHRZEUG)
{
if(response)
{
new string[250], slot;
switch(listitem)
{
case 0:
{
for(new i=0; i<sizeof(cInfo); i++)
{
if(!strcmp(cInfo[i][besitzer], SpielerName(playerid)))
{
new mID = GetVehicleModel(cInfo[i][id_x]);
if(mID >= 400 && mID <= 611)
{
slot++;
format(string,sizeof(string),"%sSLOT %d: %s\n",string,slot,VehicleName[mID-400]);
}
}
}
if(!strlen(string)) format(string,sizeof(string),"Du hast noch kein Fahrzeug.");
ShowPlayerDialog(playerid,DIALOG_PFSLOTS,DIALOG_STYLE_LIST,"Fahrzeuge",string,"Zurück","Abbrechen");
}
}
}
return 1;
}
NoxiZ:
Einfach vor die jeweilige SendClientMessage einfügen, da gibt es ja nur zwei im Befehl. Den einen Block zur einen Nachricht, und den anderen zur anderen. Einfach direkt vor der SendClientMessage einfügen.
NoxiZ:
Beim starten des Modus:
new str[64], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
SetPVarString(playerid, "oldName", name);
format(str, sizeof(str), "[ADMIN]%s", name);
SetPlayerName(playerid, str);
Beim beenden:
new name[MAX_PLAYER_NAME];
GetPVarString(playerid, "oldName", name, MAX_PLAYER_NAME);
SetPlayerName(playerid, name);
Prinzipiell dann so.
lolbob: Dort wo du den Spieler speicherst. Wo genau das ist weiß ich nicht, da ich den Code nicht kenne.
Wie hast du es in der server.cfg stehen, bei plugins?
mysql
oder
mysql.so
?
Letzteres ist richtig.
Was heißt auf dem Test Server geht es?
Hast du es auf einem Linux Server? Wenn ja, hast du da auch die mysql.so im Plugins Ordner und in der server.cfg, oder wie darf ich das verstehen?
Ok, dann lade dir, falls du es noch nicht hast das hier herunter:
http://www.microsoft.com/de-de/download/details.aspx?id=5555
Gegebenenfalls musst du auch noch das .NET Framework updaten, das MySQL Plugin benötigt das nahmen auch.
new mID = GetVehicleModel(cInfo[i][model]);
zu:
new mID = GetVehicleModel(cInfo[i][id_x]);
Siehst du, das meine ich. Du hast es nicht gemacht. Hier steht immer noch die .dll drin:
Zitat[19:51:19] Loading plugin: mysql.dll
server.cfg öffnen -> .dll entfernen -> speichern -> Server starten.
Das es in TAB geändert wird hatte ich ja bereits erklärt warum das keine gute Idee ist (Zeichen Limit).
Außerdem hast du dann ja überall Probleme mit dem Speichern von Daten, die auf den Name zurückgreifen.
Ansonsten, ja die Funktion meine ich. Damit du es vor den entsprechenden Nachrichten, in denen du das nutzt, siehst.
Falls du es doch mit dem Namen machen willst kann ich dir das zwar zeigen, aber ich empfehle es dir nicht.
Ja, soweit passt das. Den Name ändert es ja nicht wirklich, sondern nur simuliert. Sprich dann, wenn eine Nachricht gesendet wird und du SpielerName_Ex verwendest. Zeig dazu mal deinen Code.
Das gleiche kann er nicht sagen, sonst hättest du das dll nicht entfernt. Wenn dann kommt die Fehlermeldung ohne das dll, das ist aber nicht das gleiche. Poste bitte einfach den Log. ![]()
Kommen irgendwelche Meldungen im Log?
Hast du den MySQL Debug Modus mal eingeschaltet und geschaut, was da geprintet wird? (Siehe Tipps: Scripting-Probleme richtig erklären Kapitel 1.4)
Was sagt der Log, wenn du das machst?
Herunterladen, in den Server einfügen (/pawno/includes) und dann die pawno.exe neu öffnen und den Code kompilieren:
ocmd 2.1.1 [ Update 3.11.2013 ]
Da war noch eine Klammer zu viel.
if(dialogid==DIALOG_ABHEBEN)
{
if(response)
{
new betrag = strval(inputtext);
if(!IsNumeric(inputtext)) return SendClientMessage(playerid,COLOR_RED,"Du musst eine Zahl eingeben!");
if(sInfo[playerid][bankkonto]==0)return SendClientMessage(playerid,COLOR_RED,"Du besitzt kein Bankkonto"); //Fehler Zeile
if(sInfo[playerid][bankgeld]<betrag)return SendClientMessage(playerid,COLOR_RED,"Du besitzt nicht soviel Geld auf deinem Konto!");
sInfo[playerid][bankgeld]-=betrag;
GivePlayerMoneyEx(playerid,betrag);
new string[128];
format(string, sizeof(string), "Du hast erfolgreich %d$ von deinem Konto abgebucht",betrag);
SendClientMessage(playerid,COLOR_GREEN,string);
}
else
{
return 1;
}
return 1;
}
EDIT:
Noch einen Fehler ausgebessert @Castro: .
stock IsNumeric(string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if ((string[i] > '9' || string[i] < '0')) return 0;
}
return 1;
}
if(!IsNumeric(inputtext)) return SendClientMessage...
Lies dir bitte das durch: Tipps: Scripting-Probleme richtig erklären
Dann beschreibe dein Problem nochmal, korrekt. Und poste die Errors dazu.
EDIT:
Um nicht unnötig zu posten:
@Gamer171298689: Du hast dir den Thread nicht durchgelesen. In 3 Minuten schafft das keiner, außerdem hast du nicht gemacht was ich dir gesagt habe (Errors!).
Mache in deiner server.cfg das dll beim mysql Plugin weg.