SetTimer(100lspd,5000,false);
Zu
SetTimer("100lspd",5000,false);
Beiträge von Jeffry
-
-
cInfo[carid][db_id]=cache_insert_id(handle);
zu:
cInfo[carid][db_id]=cache_insert_id();Die neuen Funktionen findest du hier:
http://wiki.sa-mp.com/wiki/MySQL/R40 -
Nutze mysql_pquery.
saveCarToDB(playerid,carid)
{
new query[128];
format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%i','%i','%f','%f','%f','%f')",PlayerInfo[playerid][p_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);
mysql_pquery(handle,query,"carSavedToDB","i",carid);
return 1;
} -
@Jeffry Ich hatte vor Paar Tagen gelesen als er dich irgendwo im Smalltalk erwähnte, mit der Bitte das du Ihn dort zufügst.
Hat durch den Doppelpunkt nach dem Name nicht geklappt, habe ich nicht in den Benachrichtigungen gesehen. Danke für den Hinweis.
Jeffry: Aloha, dein Postfach ist voll. Könntest du bitte in der Hosterliste vermerken das Disker.net zu mir gehört ? Danke.
Hallo, ich habe dich als Besitzer vermerkt. Mein Postfach ist mittlerweile auch wieder leer.

-
@Jeffry hat es einen Grund wieso in deinem Hoster Thread, disker.net nicht vermerkt ist und der Besitzer 'Cheppert'?
Disker.net ist in der Liste.
Der Besitzer war mir bisher nicht bekannt. Sofern er namentlich erwähnt werden will, dann soll er sich bei mir via PN melden....das Forum war auch schon mal schneller.
-
Wie sieht dein Code aus? Hast du nach dem ShowPlayerDialog das return 1 eingetragen? Sonst wird dir beides angezeigt.
-
Das else darf nicht in der Schleife stehen, sonst bricht er nach dem ersten enum-Eintrag ab.
if (strcmp("/dienst", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
if(SpielerInfo[playerid][Fraktion] == 1 || SpielerInfo[playerid][Fraktion] == 2)
{
for(new i = 0; i < sizeof(DienstRange); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, DienstRange[i][DienstX],DienstRange[i][DienstY],DienstRange[i][DienstZ]))
{
ShowPlayerDialog(playerid, DienstSystem, DIALOG_STYLE_LIST, "Dienst","Dienst Antreten\nDienst quittieren","Auswählen","Abbrechen");
return 1;
}
}
return SendClientMessage(playerid,Rot,"Sie sind nicht in der Nähe eines Dienststernes");
}
}
return 1;
} -
Die Include hookt einfach nur die Kick Funktion. Wenn du diese in selbst erstellten Funktionen nutzt, ändert das nichts.
Der Hook startet ebenfalls nur einen Timer an. -
for(new i = 0; i < sizeof(AusruestenDuty); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, AusruestenDuty[i][posX], AusruestenDuty[i][posY], AusruestenDuty[i][posZ]))
{
//Im Range von Item "i"
printf("Spieler Nahe %s", AusruestenDuty[i][name]);
break;
}
} -
Stehen in der Tabelle "AccTable" bei HouseKey und UserId die richtigen Werte drin, nachdem du das Haus gekauft hast und den Server beendet hast?
Wenn ja, was gibt dir der Code so im Log aus?
Function LoadHouse()
{
new query[256];
HouseAnz = 0;
format(query,sizeof(query),"SELECT * FROM "HouseTable"");
mysql_query(query);
mysql_store_result();
for(new i; i < mysql_num_rows(); i++)
{
mysql_data_seek(i+1);
mysql_fetch_string(query);
mysql_fetch_field("HouseId",query); HouseInfo[i][hId] = strval(query);
mysql_fetch_field("EnterX",query); HouseInfo[i][hEntX] = floatstr(query);
mysql_fetch_field("EnterY",query); HouseInfo[i][hEntY] = floatstr(query);
mysql_fetch_field("EnterZ",query); HouseInfo[i][hEntZ] = floatstr(query);
HouseInfo[i][hOwnerId] = -1;
mysql_fetch_field("Level",query); HouseInfo[i][hLevel] = strval(query);
mysql_fetch_field("Inte",query); HouseInfo[i][hInt] = strval(query);
mysql_fetch_field("VWorld",query); HouseInfo[i][hVWorld] = strval(query);
mysql_fetch_field("Price",query); HouseInfo[i][hPrice] = strval(query);
mysql_fetch_field("hLock",query); HouseInfo[i][hLock] = strval(query);
mysql_fetch_field("Rent",query); HouseInfo[i][hRent] = strval(query);
mysql_fetch_field("Rentable",query); HouseInfo[i][hRent] = strval(query);
mysql_fetch_field("Money",query); HouseInfo[i][hMoney] = strval(query);
mysql_fetch_field("Health",query); HouseInfo[i][hHealth] = strval(query);
HouseInfo[i][hExists] = true;
new tmp[2][4];
mysql_fetch_field("Gun1",query);
splitter(query,tmp,',');
if(strlen(tmp[0]) != 0 && strlen(tmp[1]) != 0)
{
HouseInfo[i][hGun1] = strval(tmp[0]); HouseInfo[i][hGun1Ammo] = strval(tmp[1]);
}
mysql_fetch_field("Gun2",query);
splitter(query,tmp,',');
if(strlen(tmp[0]) != 0 && strlen(tmp[1]) != 0)
{
HouseInfo[i][hGun2] = strval(tmp[0]); HouseInfo[i][hGun2Ammo] = strval(tmp[1]);
}
mysql_fetch_field("Gun3",query);
splitter(query,tmp,',');
if(strlen(tmp[0]) != 0 && strlen(tmp[1]) != 0)
{
HouseInfo[i][hGun3] = strval(tmp[0]); HouseInfo[i][hGun3Ammo] = strval(tmp[1]);
}
HouseAnz++;
}
mysql_free_result();
printf("Starte Laden der Besitzer");
new houseId;
format(query,sizeof(query),"SELECT HouseKey,UserId FROM "AccTable" WHERE HouseKey IS NOT NULL AND NOT '-1'");
mysql_query(query);
mysql_store_result();
printf("%d rows", mysql_num_rows());
for(new a; a < mysql_num_rows(); a++)
{
mysql_data_seek(a);
houseId = mysql_fetch_int();
printf("House ID: %i",houseId);
for(new h; h < HouseAnz; h++)
{
printf("House %d hat ID: %d", h, HouseInfo[h][hId]);
if(HouseInfo[h][hId] == houseId)
{
printf("Match. Setze User zu: %d", HouseInfo[h][hOwnerId]);
mysql_fetch_field("UserId",query);
HouseInfo[h][hOwnerId] = strval(query);
h = HouseAnz;
break;
}
}
}
mysql_free_result();
for(new house; house < HouseAnz ; house++) HouseUpdate(house,"Icon");
printf("Fertig.");
return 1;
} -
Ist es möglich per Script eine EMail zu senden mit einem random generierten Code?
Das kannst du mit dieser Include machen:
http://forum.sa-mp.com/showthread.php?t=197755 -
Nutze diese Include um den Fehler zu beheben:
Kick/Ban Fix -
Hast du den Print zu SaveUserStats nach dem format hinzugefügt? Es wird nämlich nichts geprintet.
-
Lass dir das Query beim Speichern mal mit Print ausgeben und poste was dann im Server Log steht.
-
Dort wird nirgends "pGutschein" verwendet. Ist im Konto des Spielers das "pGutschein" auf 1 oder so? Das musst du dann zu 0 setzen. Eventuell hast du ja auch einen Code der das macht, da ich deinen Code nicht kenne, kann ich dir das nicht sagen - deinen Code solltest du selbst kennen, was wo gemacht wird, sprich wo "pGutschein" ein Wert bekommt.
-
Das liegt dann daran, dass Spieler[playerid][pGutschein] nicht 0 ist.
Warum lässt sich an dem Code nicht erkennen. -
MySQL log:
Entschuldige die späte Antwort, ich war die ganze Woche unterwegs.
Hast du mal versucht ein Kennwort anzugeben, sprich dem root User ein Kennwort zu vergeben (siehe Tutorial, direkt vor Punkt 5 der Spoiler)?
-
Das liegt daran, dass du in Fraktion 0 bist:
[10/15/16 13:42:48] [DEBUG] cache_get_value_name_int(0, "Fraktion", 0xF5419694) (Nitradoscript.p:1136)
[10/15/16 13:42:48] [DEBUG] cache_get_value_name_int: assigned value: '0' (Nitradoscript.p:1136)Prüfe was in deiner Datenbank steht, und setze dem Spieler die korrekte Fraktion.
-
Gut, dann schreibe den Befehl so, sonst wird der Spawn immer wieder direkt nach dem Setzen zu 1 auf 0 geändert (zweites if).
ocmd:spawnchange(playerid,params[])
{
if(isPlayerInFrakt(playerid,0)) return SendClientMessage(playerid,rot,"Du bist in keiner Fraktion.");
if(sInfo[playerid][Spawn] == 0)
{
sInfo[playerid][Spawn] = 1;
}
else
{
sInfo[playerid][Spawn]=0;
}
SendClientMessage(playerid,grün,"Spawn geändert");
return 1;
} -
Hast du es bei SaveUserStats auch geändert?