Super ... und was ist damit:
Woran erkennst du denn,"dass die Sessions nicht funktionieren"?
Super ... und was ist damit:
Woran erkennst du denn,"dass die Sessions nicht funktionieren"?
Trotzdem noch Fehler.
if(!IsPlayerInRangeOfPoint(pID /* pID ist noch "leer bzw 0 */,10,x,y,z))return SendClientMessage(playerid,HELLBLAU,"Du kannst den Spieler nicht ins Gefängnis stecken da er nicht in deiner Nähe ist");
if(sscanf(params,"us",pID /* Erst "jetzt" wird pID zugewiese bzw geprüft */,Zeit))return SendClientMessage(playerid,HELLBLAU,"Benutze: /Arrest [PLAYERID] [ZEIT]");
// Reihenfolge also tauschen
Je nach sscanf Version fehlt auch bei s die Größe von Zeit.
Geht natürlich, dazu müsstest du dir nur die Sounds besorgen und irgendwo als Audiostream hinterlegen.
Vom Prinzip in etwa so:
new url[32];
switch(count) {
case 0: url = "url/sound_5.mp3";
case 1: url = "url/sound_4.mp3";
case 2: url = "url/sound_3.mp3";
case 3: url = "url/sound_2.mp3";
case 4: url = "url/sound_1.mp3";
}
loopPlayers( playerid ) { /*PlayerPlaySound muss raus,willst ja kein "piepen" */
StopAudioStreamForPlayer(..);
PlayAudioStreamForPlayer(... , url , ...);
}
Schwer zu sagen wie du es löst.
Welche Daten verwendest du denn, um den Server mit der Datenbank zu verbinden ( host, db, user, pw eventuell ). Hast du mal probiert, mit localhost zu verbinden ?
Je nach Host kann es sein, dass externe Verbindungen zur Datenbank nicht gestattet werden. Ob das jetzt bei dir auch der Fall ist kann ich nicht sagen.
Zumindest ist es schon mehr sehr gut,dass du dir den Fehlercode hast ausgeben lassen bzw hier gepostet.
Da du weder Code zeigst noch welches MySQL Plugin du verwendest, ist es schwer da konkrete Tipps zu geben.
Ich habe es meistens mit mysql_fetch_row_format gelöst, hängt aber auch von dem Plugin ab.
Zitat#EDIT: _Advanced_: Also ich habe alles nachgeguckt und es ist alle okay, wie es sein sollte...
Heisst aber nicht,dass es dann auch fehlerfrei ist.
Da du ja das crashdetect Plugin nutzt, setzt auch die Compile-Flags richtig:
http://forum.sa-mp.com/showpost.php?p=1253632&postcount=7
Dann würdest du zu folgender Aussage des Plugins auch die konkrete Zeile angezeigt bekommen:
Zitat[18:54:36] [debug] Run time error 4: "Array index out of bounds"
[18:54:36] [debug] Accessing element at negative index -1
Das Problem ist das sizeof().
sizeof(ShuttleParkX[playerid])
Das wird nicht klappen bei enums. Anstatt o.g. benutzt direkt die Größe.
format(ShuttleParkX[playerid], 16 /* als Beispiel, weiss die Größe nicht die du verwendest */ ,"%.4f",ShuttleMissions[rand][LandX]);
Abgesehen davon solltest du Floats als Floats speichern und nicht als String ( siehe ScriptingFreak ).
Der Code hilft dazu aber nicht.
Du zeigst nur eine Variable. Nicht aber, wie du die Route durchlaufen lässt. Merk dir lieber,dass zu viele Informationen besser sind als zu wenig.
Mit error_logging(E_ALL) hättest du wahrscheinlich ausgegeben bekommen, dass die Variable $money undefiniert ist.
$money ist nur innerhalb der while() Schleife gültig, außerhalb dürfte sie nicht mehr existieren. Außerdem ist $money kein guter Variablenname für eine E-Mail Adressen
Du könntest:
a) <span class="param">EMAIL: <?php $money ?></span> in die while Schleife packen.
b) $money außerhalb der while-Schleife als Variable deklarieren. ( ähnlich wie $username oder $query )
//Edit:
Ach komm, wieso $_POST ? $row war doch richtig Alles steht in $row:
Mit error_logging(E_ALL) hättest du wahrscheinlich ausgegeben bekommen, dass die Variable $money undefiniert ist.
$money ist nur innerhalb der while() Schleife gültig, außerhalb dürfte sie nicht mehr existieren. Außerdem ist $money kein guter Variablenname für eine E-Mail Adressen
Wozu ?
//Edit: Dann ließ es lieber nochmal nach :p
http://www.php.net/manual/de/f…ql-real-escape-string.php
Auslesen tust du eigentlich mit "mysql_query" und "mysql_fetch_assoc" in deinem Beispiel.
GetPlayerPos(playerid, x, y, z);
new idx = GetPlayerAnimationIndex(playerid);
new lib[32], name[32];
GetAnimationName(idxlib,32,name,32); // <-- idxlib ???
Wenigstens das erfolgreiche kompilieren kann man schnell testen
Ich weiß gehört hier zwar nicht rein, aber ist die Abfrage so richtig?
if(IsPlayerInWater(playerid) == 3)
Ich möchte abfragen ob er die Schwimmanimation ausführt aber nicht im Wasser ist.
/edit So funktioniert das nicht, irgendwas mache ich da falsch
Du machst nicht unbedingt etwas falsch. Da ist ein Fehler im Quellcode:
Alles anzeigen
// den Wert 3, wenn der Spiele schwimmt, aber nicht im / unter Wasser ist.
if(strcmp(animlib, "SWIM", true)) // <-- dann aber strcmp() == 0
{
return 3;
}
new idx = GetPlayerAnimationIndex(playerid); // <---
new lib[32], name[32];
GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32); // <-- idx statt GetPlayerAnimationIndex
for(new i, size = sizeof(WaterCords); i != size; i++) // <-- sizeof ist keine Funktion. Ich weiss das Fachwort nicht, jedenfalls ist in der AMX der Wert wie n Konstante drin. Per DeAMX wird man das sicherlich sehen
if(x >= WaterCords[i][0] && x <= WaterCords[i][3] && y >= WaterCords[i][1] && y <= WaterCords[i][4])
{
// if( ... ) { }
break; // <- Hier vllt ein break. Kann mir nicht vorstellen, dass es Wasserplanen gibt die sich in den Koordinaten ( X , Y ) überschneiden. Sollte man vielleicht mal prüfen ob es wirklich so ist.
}
// den Wert 3, wenn der Spiele schwimmt, aber nicht im / unter Wasser ist.
if(strcmp(animlib, "SWIM", true)) // <-- dann aber strcmp() == 0
{
return 3;
}
else return 2; // <-- Geschmackssache, aber das "else" braucht man ja nicht unbedingt
else return -1; // ""
Wir haben aber schon 2014, worauf dein Script aber nicht vorbereitet ist :/.
Ein unabhängige Lösung wäre besser gewesen. Sowas zum Beispiel: http://forum.sa-mp.com/showpost.php?p=237307&postcount=5
//Edit: Unwahrscheinlich, denn 2014 kommt nirgendwo als Jahr vor.
Du änderst den Skin pet SetPlayerSkin an der falschen Stelle.
if(PlayerInfo[playerid][pMember] == 0){
if(SelectedSkin[playerid] > 6){
SelectedSkin[playerid] = 0;
PlayerInfo[playerid][pSkin] = ZiviSkins_mann[SelectedSkin[playerid]];
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
}
}
Die Abfrage mit > 6 ist bestimmt dazu gut, um wieder bei 0 mit dem Zählen anzufangen sobald man am Ende der Skins angekommen ist. Du änderst aber den Skin innerhalb dieser Abfrage, würde also heißen, erst wenn man 6 7x den "nächsten/weiter" Skin genommen hat, wird wieder der Skin mit Index 0 von ZiviSkins_mann gewählt.
Du solltest die Änderung des Skins mit SetPlayerSkin nicht in der if( > 6 ) Bedingung machen, sondern danach.
if(PlayerInfo[playerid][pMember] == 0){
if(SelectedSkin[playerid] > 6){
SelectedSkin[playerid] = 0;
PlayerInfo[playerid][pSkin] = ZiviSkins_mann[SelectedSkin[playerid]];
}
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); // <--
}
Denn du willst ja bei jedem "Weiter" den Skin wechseln und nicht nur, wenn du am Ende bis am Anfang angekommen bist.
//Edit:
PlayerInfo[playerid][pSkin] = ZiviSkins_mann[SelectedSkin[playerid]];
Das kannst du wahrscheinlich auch aus der if( > 6 ) Bedingung raus ziehen und vor SetPlayerSkin einfügen.
Da es sich bei Daniel Benz um Hosting4Gamer und noch X weitere Multiaccounts hat, wird eure Werbung geschlossen.
H4G | André H. hat das ganze zusätzlich nochmal bestätigt, dass der Benutzer "Daniel Benz" der rechtmäßige Eigentümer ist und somit hier eine Vielzahl an Multiaccounts hat.
Ihr habt jetzt hier offiziell ein Verbot, weiterhin für "Hosting4Gamer" Werbung zu machen.
Zitatif(strcmp(inputtext,dini_Get(Spieler,"Passwort"),true))
Das ist falsch. Mit dieser Abfrage ist jedes Passwort "richtig" außer das echte Passwort.
Dein Problem hast du damit definitiv nicht gelößt.
Ich verweise daher nochmal auf den Debug Tipp aus meinem vorherigem Post.
Die Funktion loadPlayer() solltest du trotzdem noch posten.
ZitatCMySQLHandler::Query(UPDATE `accounts` SET `Level` = '1', `Geld` = '1000' WHERE `Name` = '3231')
Du nennst dich wirklich 3231 ? :-0
ZitatNoch was : Ich hab ingame 15k er schreibt in die datenbank 1k ich hab 998 : er schreibt in die datenbank 1k immer 1k
PInfo[playerid][pGeld] != GetPlayerMoney().
Eventuell hast du 998 bei Set/GetPlayerMoney und nicht bei PInfo[playerid][pGeld]. Prüf mal nach, ob du dich richtige Variable verwendest.
Zitat[17:50:01] CMySQLHandler::Query(SELECT `passwort` FROM `accounts` WHERE = '3231') - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '3231'' at line 1)
Da fehlt der Name der Spalte ( Name ).