Was wird dir so im Server Log geprintet?
Beiträge von DJ Deagle
-
-
Hi,
ich hab mich mal an einem kleinen Script versucht, jedoch scheitert dies schon beim Ersten Dialog.
Folgender Code:
ocmd:startjob(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid,3,-1061.1031,-1205.3881,129.7565)) {
ShowPlayerDialog(playerid,DLG_JOB,DIALOG_STYLE_LIST,"job","Nummer 1\nNummer 2","Auswählen","Schließen");
}
return 1;
}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid) {
case DLG_JOB: {
if(response) {
switch(listitem) {
case 0: {
new rand = random(sizeof Cp);
SetPlayerCheckpoint(playerid,Cp[rand][0],Cp[rand][1],Cp[rand][2],1);
SendClientMessage(playerid,0x33CCFFAA,"1 klappt");
mCP[playerid] = 1;
K[playerid] = 1;
SetPlayerSkin(playerid,158);
}
case 1: {
for(new i;i<sizeof frCars;i++) {
if(inFrUse[fCar[i]] != -1)continue;
if(i>sizeof frCars)return SendClientMessage(playerid,0xFF6347AA,"belegt");
SetPlayerCheckpoint(playerid,frCars[i][0],frCars[i][1],frCars[i][2],5);
inFrUse[i] = playerid;
return SendClientMessage(playerid,0x33CCFFAA,"2 klappt");
}
}
}
}
}
return 1;
}Wenn ich nun /startjob eingeben, bekomme ich den Dialog zwar angezeigt, jedoch nichts weiteres wenn ich etwas anklicke (auswähle).
Warum?lg
Deagle -
Du machst folgendes:
"Wenn GetPlayerWeapon(i) ist gleich 38 und 17 und 39 und 40"
Richtig ist es aber so:
if(GetPlayerWeapon(i) == 38 || GetPlayerWeapon(i) == 17[...])
Das bedeutet:
"Wenn GetPlayerWeapon(i) ist gleich 38 ODER GetPlayerWeapon(i) ist gleich 17 [...]" -
Wie wäre es denn, wenn du den ATM erst löscht, bevor du ihn neu erstellst?
-
Schau dir mal folgendes an: https://wiki.sa-mp.com/wiki/SetPlayerMarkerForPlayer
-
new robtimer[MAX_PLAYERS];
if(strcmp(cmd, "/rob", true) == 0) {
if(!IsPlayerConnected(playerid)) return 1;
if(IsPlayerInRangeOfPoint(playerid, 12, 2144.2869,1635.0681,993.5761)) { //VOSA ROB
SendClientMessage(playerid, COLOR_CYAN, "Du hast den Vault of San Andreas Raub gestartet, überlebe ihn besser.");
robtimer[playerid]=SetTimer("VosaRob", 5000, true);//Timer wiederholt sich alle 5 Sekunden, maximal 12x
return 1;
}
}forward VosaRob(playerid);
public VosaRob(playerid) {
if(GetPlayerHealth(playerid) < 1) return SendClientMessage(playerid, COLOR_ERROR, "Du bist gestorben, Raub abgebrochen!");
if(PlayerInfo[playerid][pRob] == 12) {
SendClientMessage(playerid, COLOR_CYAN, "60 Sekunden sind vorüber, jetzt schnell weg hier!");
new robmoney[256];
format(robmoney, sizeof(robmoney), "Beute: $%d", PlayerInfo[playerid][pRobTotal]);
SendClientMessage(playerid, COLOR_CYAN, robmoney);
KillTimer(robtimer[playerid]);//nach 12 wiederholungen stoppt der timer
return 1;
} else {
if(IsPlayerInRangeOfPoint(playerid, 12,2144.2869,1635.0681,993.5761)) {
new money = random(60001) + 60000;
GivePlayerMoney(playerid, money);
PlayerInfo[playerid][pCash] += money;
new moneymsg[256];
format(moneymsg, sizeof(moneymsg), "5 Sekunden sind vorüber, Beute: $%d", money);
SendClientMessage(playerid, COLOR_CYAN, moneymsg);
PlayerInfo[playerid][pRob] ++;
PlayerInfo[playerid][pRobTotal] += money;
return 1;
} else {
SendClientMessage(playerid, COLOR_ERROR, "Raub abgebrochen, Du hast den Raum verlassen.");
for(new i = 0; i < MAX_PLAYERS; i++) {
new pname[MAX_PLAYERS];
GetPlayerName(playerid,pname,sizeof(pname));
new failmsg[256];
format(failmsg, sizeof(failmsg), "Der Raub auf das Vault of San Andreas wurde abgebrochen, %s hat den Raum verlassen", pname);
SendClientMessage(i, COLOR_CYAN, failmsg);
}
return 1;
}
}
return 1;
}
Sollte klappen. -
Problem gelöst
-
Hab mir deinen Code nicht genauer angeschaut, aber am besten schaust du mal ob er irgendwo hängen bleibt das wäre für mich der erste Anhaltspunkt.
Ich habe gerade bemerkt, dass er doch keine SQL Verbindung aufgebaut hat. Das tut er jetzt, dann kommt folgender Fehler:
CodeFatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'Keybinder.?' doesn't exist' in /var/www/html/keybinder/mysql/improv3dZ.php:89 Stack trace: #0 /var/www/html/keybinder/mysql/improv3dZ.php(89): PDO->prepare('SELECT * FROM `...') #1 {main} thrown in /var/www/html/keybinder/mysql/improv3dZ.php on line 89
Hier ist dann er Code, der zu Zeile 89 gehört:
PHP
Alles anzeigencase "row_exist": { echo "row exist."; if(!empty($_GET['a']) && !empty($_GET['b'])) { $stmt = getDB()->prepare("SELECT * FROM `:table` WHERE `:row` = ':val'"); $stmt->execute(array( 'table' => $table, 'row' => $_GET['a'], 'val' => $_GET['b'] )); if($stmt->rowCount()) { echo "1"; } else { echo "0"; } } }
-
Hallo,
ich habe mir für Autohotkey die Improv3d API geholt, um damit auf MySQL zugreifen zu können.
Ich habe mir die Improv3d.php wiefolgt editiert:PHP
Alles anzeigen<?php require 'config.php'; require 'include/sqlcon.php'; /*if($pin > 0) { if($_GET["key"] != round(date("H") * $pin, 4)) { die("Falsche PIN!"); } }*/ if(!empty($_GET["action"])) { #if($_SERVER['HTTP_USER_AGENT'] != 'AutoHotkey' && AHK_ONLY) die("Keine Berechtigung!"); $table = $_GET['table']; switch($_GET["action"]) { case "read": { if(!empty($_GET['a']) && !empty($_GET['b']) && !empty($_GET['c'])) { $stmt = getDB()->prepare("SELECT `:clm` FROM `:table` WHERE `:row` = ':rw'"); $stmt->execute(array( 'clm' => $_GET['a'], 'table' => $table, 'row' => $_GET['b'], 'rw' => $_GET['c'] )); if($stmt->rowCount()) { $obj = $stmt->fetch(PDO::FETCH_OBJ); if(!$obj) { echo "0"; } else { echo $obj[0]; } } else { echo "-1"; } } break; } case "write": { if(!empty($_GET['a']) && !empty($_GET['b']) && !empty($_GET['c']) && !empty($_GET['d'])) { $stmt = getDB()->prepare("UPDATE `:table` SET `:clm` = `:val` WHERE `:cl` = ':rw'"); $stmt->execute(array( 'table' => $table, 'clm' => $_GET['a'], 'val' => $_GET['b'], 'cl' => $_GET['c'], 'rw' => $_GET['d'] )); if(!$stmt) { echo "0"; } else { echo "1"; } } break; } case "compare": { if(!empty($_GET['a']) && !empty($_GET['b']) && !empty($_GET['c']) && !empty($_GET['d'])) { $stmt = getDB()->prepare("SELECT `:clm` FROM `:table` WHERE `:row` = ':val'"); $stmt->execute(array( 'clm' => $_GET['a'], 'table' => $table, 'row' => $_GET['b'], 'val' => $_GET['c'] )); if($stmt->rowCount()) { $res = $stmt->fetch(PDO::FETCH_OBJ); if($res->$_GET['a'] == $_GET['d']) { echo "1"; } else { echo "0"; } } else { echo "-1"; } } break; } case "row_exist": { echo "row exist."; if(!empty($_GET['a']) && !empty($_GET['b'])) { $stmt = getDB()->prepare("SELECT * FROM `:table` WHERE `:row` = ':val'"); $stmt->execute(array( 'table' => $_GET['table'], 'row' => $_GET['a'], 'val' => $_GET['b'] )); if($stmt->rowCount()) { echo "1"; } else { echo "0"; } } } } } ?>
Wenn ich nun eine Abfrage direkt im Browser starte (z.B. website.de/improv3dZ.php?action=row_exist&table=Users&a=Username&b=Zinne ) zeigt er mir nichts an, kein "Row exist", kein 1 keine 0.
Woran kann das liegen?Die SQL-Verbindung funktioniert auf jeden Fall, daran kann es also nicht liegen.
lg
Deagle -
Jap. ich teste mal spàter ob es daran liegt.
Wenn die Objekte rotieren, liegt es daran
-
Hallo,
ich möchte in diesem Thread meinen eigenen Teamspeak-Server zur Benutzung für einen Clan oder sonstigem anbieten, da ich diesen nicht aktiv benutze.
Der Server hat 32 Slots wovon mindestens 1 Slot permanent belegt ist.Wer diesen Teamspeak-Server haben möchte, schreibt mir kurz per PN, warum er diesen haben möchte.
Es gilt: Wer zuerst kommt, mahlt zuerst.Bei Fragen stehe ich natürlich zur Verfügung.
lg
Deagle -
Ich nehme am Gewinnspiel teil.
-
Wenn du immer noch jemanden suchst, schick mir die IP
-
hat leider sehr viele bugs bei skinauswahl wird der bildschirm schwartz..
Ein relog sollte das beheben. Es ist außerdem gesagt, dass es weder spielbereit, noch bugfrei ist.
-
er hatte es versucht für 5€ zu verkaufen, nun verkauft er es für 10€.
Nein. Wenn du den Thread gelesen hättest würdest du wissen, dass dies hier ein Update des 5€-Threads ist...
edit: Push - 27.11.2015
edit 2: Push - 29.11.2015
edit 3: Push - 03.12.2015
edit 4: Push - 10.12.2015 -
[...] da nichts wirklich erklärt ist
Das Script ist ja auch nicht spielbereit, sondern richtet sich eher an aufstrebende Projekte oder an Bastler.
edit: Push - 24.11.2015
edit 2: Push - 27.11.2015
edit 3: Push - 29.11.2015
edit 4: Push - 03.12.2015
edit 5: Push - 10.12.2015 -
Hast du das crashdetect-Plugin laufen?
Wenn ja, was gibt die server_log aus?
Wenn nein, las es runter und gucke, was die server_log ausgibt. -
Du tust auch "1000" mal das gleiche.
Wenn ich das richtig sehen, willst du ja die Positionen der Autos und nicht des ausführenden Spielers.ändere die GetPlayerPos Zeile in dies:
GetVehiclePos(i,xPos[0],xPos[1],xPos[2]);Was soll das denn bitte bewirken?
Er lässt eine Schleife durchlaufen, die er nicht beendet.Mach das hier @HighSociety
return LoadCarDealer(i); -
mysql_pquery(dbHandle,"SELECT * FROM `haeuser`","OnQueryFinish","sdddsd","SELECT * FROM `haeuser`",QuerySelectAllHouse,playerid,p,st,int);
zu
mysql_pquery(dbHandle,"SELECT * FROM `haeuser`","OnQueryFinish","sdddsd","SELECT * FROM `haeuser`",QueryCallHouse,playerid,p,st,int);
Da hab ich nen Fehler beim Umschreiben auf R39-3 gemacht -
Gewinne, Gewinne, Gewinne! Wer will nochmal, wer hat noch nicht?