schau mal das du maxnpc auf mehr als 0 hast und hier ist ein Beispiel skript du musst nur npc connect via befehl aufrufen
Beiträge von IPrototypeI
-
-
Sag mir mal bitte wozu ein Mapper die Aufgaben eines Supporters übernehmen soll.
Mapper und Scripter kann man nicht vergleichen. Ein Scripter muss vollzugriff haben wobei der Mapper ebenhalt weniger rechte hat.Das hat nichts mit Vertrauen zu tun^^, jeder hat seine eigene Aufgabe und ich Vertraue jeden einzigen.
Ich weiß nur nicht wieso ein Mapper zugleich Supporter rechte haben soll. Schließlich hat er sich ja für den Posten Mapper "Beworben".Was hier angesprochen wird beziehts sich darauf, dass der Designer und Mapper auch mal auf den Server geht und da man im Team ist sollte man auch entsprechende Rechte haben, dazu gehören bestimmte
Adminrechte, wie hier bereits genannt das Kicken oder Bannen von Usern. Meiner Meinung nach sind es Grundbefehle /Grundrechte, welche jedem festen Teammitglied zustehen. -
Du musst bedenken das die Designs mehrfach verkauft werden im Plugin Store und du möchtest etwas individuelles, daher kannst du zwischen 40 - 60 Euro rechnen, wenn nicht mehr.
-
function Login($username, $password){
global $mysqli;
$stmt = $mysqli->prepare("SELECT `id` FROM `loadbase_members` WHERE `username`=? AND `password`= PASSWORD(?) LIMIT 1;");
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows()){
$stmt->bind_result($id);
$stmt->fetch();
print $id;
}
$stmt->free();
}probier das ganze mal so, da fetch() nur NULL oder TRUE zurück gibt sie hier
http://php.net/manual/de/mysqli-stmt.fetch.php
//edit
eine alternative
Code
Alles anzeigenfunction Login($username, $password){ global $mysqli; $stmt = $mysqli->prepare("SELECT * FROM `loadbase_members` WHERE `username`=? AND `password`= PASSWORD(?) LIMIT 1;"); $stmt->bind_param("ss", $username, $password); $stmt->execute(); $stmt->store_result(); if($stmt->num_rows()){ $data = $stmt->fetch_assoc(); print $data['id']; } $stmt->free(); }
-
Du kannst dazu einen neuen Checkpoint erstellen hinter dem Auto und anschließend einen beim Haus.
Was den Checkpoint angeht hinter dem Auto dazu kannst du diese Funktion nutzen
http://forum.sa-mp.de/gta-mult…Ctzliche-codeschnipsel-36
nur musst das bissle abändern
stock IsPlayerBehindVehicle(playerid,veh)
{
new Float:vcoord[3]; GetVehiclePos(veh,vcoord[0],vcoord[1],vcoord[2]);
new Float:vangle; GetVehicleZAngle(veh,vangle);
new Float:vinfo[3]; GetVehicleModelInfo(GetVehicleModel(veh),VEHICLE_MODEL_INFO_SIZE,vinfo[0],vinfo[1],vinfo[2]);
new Float:lenge = floatdiv(vinfo[1],2.0);
new Float:radius = floatdiv(vinfo[0],2.0);
vcoord[0] = floatadd(vcoord[0],(-lenge * floatsin(-vangle,degrees)));
vcoord[1] = floatadd(vcoord[1],(-lenge * floatcos(-vangle,degrees)));
if(IsPlayerInRangeOfPoint(playerid,radius,vcoord[0],vcoord[1],vcoord[2])){return 1;}
else{return 0;}
} -
Hier mal ein kleiner Ansatz
- Tabelle mit ID der Fraktion und Geldbetrag
- 2 dimensionales Array
- Ladefunktion
- Speicherfunktion
Beim auslesen übergibst du die Werte an das Array
#define MAX_FRAKTION (Anzahl muss hier noch hin)enum pFrakkasse { frakID, frakMoney,
};
new FrakData[MAX_FRAKTION][pFrakkasse]; -
Such dir was aus
SpielerInfo[playerid][PayDay]++;
++SpielerInfo[playerid][PayDay];
SpielerInfo[playerid][PayDay] = SpielerInfo[playerid][PayDay] + 1;
SpielerInfo[playerid][PayDay] += 1;
Aber das hat nix mit MySQL zu tun du inkrementierst nur eine Variable. Wenn du den Wert in der Datenbank direkt auch updaten möchtest ws nicht umbedingt nötig ist machst du das mit einem UPDATE Query
-
Also ich bin wirklich von dir überrascht, bei dem Design wurde etwas unsauber gearbeitet, aber sonst siehts gut aus. Im Vergleich zu deinen letzten Designs, welche ziemlich scheiße waren hast du einen großen Schritt nach vorne gemacht, daher gute Arbeit und weiter so.
PS: mit dem grün machst du alles wieder kaputt, mach da nicht so einen krassen Farbunterschied, da reicht ein etwas helleren oder dunkleren Grauton.
-
Dir ist schon bewusst das eine Kernfusion nur unter bestimmten Bedingungen herbeigeführt werden können, dazu benötigst du einen ziemlich hohen Druck und dazu eine unvorstellbare Hitze um ein sogenanntes Neutronenplasma zu erzeugen, ich glaube mit dem was du da hast ist das nicht möglich. Nur frag ich mich was du damit genau möchtest, weil viel Energie erzeugst du damit nicht ?
-
Danke Heav3n für das Feedback
-
geilster Satz aus dem "Das Ende" Thread.
Aber verstehe jetzt die Statsback Aktion.Viel Glück
Also , wenn sowas noch direkt in diesem "Das Ende" Thread
steht wirft das kein gutes Licht auf den Server, aber nun gut legen wir mal diesen Punkt auf die Seite.Ich hab zuletzt den Server mal getestet unter einem anderen Namen, die Aussagen zum Adminteam kann ich nur bestätigen, sie scheinen mir ebenfalls sehr unerfahren quasi wie ein Haufe planloser Hühner. Als ein User in der Lobby angefangen hatte die anderen User zu boxen darunter auch die Admin begannen diese ebenfalls hirnlos auf die anderen User einzuprügeln , nun gut es ist ein DM Server , aber eher unpassend sowas direkt in der Lobby zu tun.
Zum Skript kann ich nur sagen , dass es ein billiger Versuch ist das GDM Skript nachzubauen, obwohl die bereits vorhandenen Systemen im Umfang nicht mal annähernd an die der orignalen Systemen von GDM ran kommen, dass wirkt mir eher wie ein verzweifelter Versuch irgendwie an User zu kommen. Daher hätte sich der Skripter 3 mal überlegen sollen ob er überhaupt diesen Server mit einem unfertigen Skript was kaum etwas zu bieten hat aufzumachen.
Zum Forum kann ich Max nur beipflichten , entweder war der Coder besoffen als er das Design gecodet hat oder es ist gerippt, auch abgesehen davon ist dieses orange - gelb nicht so passend.
Ich bin zwar nicht gespannt darauf das sich hier was ändert, aber vllt tut sich danach diesen Kritikpunkten etwas.
PS: Eine Statsback Aktion ist auch wirklich keine gute Idee, es entmutigt einfach die Spieler etwas zu erreichen.
-
Das "German Unknown Reallife" gefällt mir sehr. Steht dieses gecodet zum Verkauf?
Das Design ist nicht gecodet müsste ich noch machen und ja du kannst es erwerben. Du kannst mich ja mal einschreiben via PN:
//edit
Ein älteres Design:
//EDIT
NEUES DESIGN
-
Sowas wie Vier gewinnt ist aber ein wenig "lahm" :p
Also da ihr wie du in dem ersten Post geschrieben hast
Zitatkeinerlei Erfahrung im Bereich App Entwicklung haben
Würde ich mir an deiner Stelle nicht zu hohe Ziele stecken, klar wenn man im Bereich Programmierung ziemlich begabt ist kann man auch mal etwas größeres in Angriff nehmen, aber wenn ich mir so dein Werdegang auf Breadfish ansehe sehe ich da auch keinerlei Ansatz in diese Richtung, dass du darin besonders begabt bist. Wenn du ein Spiel programmierst musst du auch wissen wie man das Ganze umsetzst und Lehrer können dir da meist nicht weiter helfen. Da ich mich bereits damit auseinander gesetzt habe kann ich dir sagen das die Dokumentationen über die Funktionen meist sehr dürftig sind ( im Vergleich zu php.net, SA:MP Wiki).
-
Bisher noch nicht
Doch zwar kein Client aber einen kleine Applikationen mit dem man sein Skript testen kann gibt es bereits und bis jetzt kann man seine ganzen overlays coden und die grundsysteme erstellen sprich Speicher- und Ladefunktionen
-
Falls du immer noch bedenken haben solltest wegen mega.co.nz hier wären paar alternativen:
- Dropbox 2 GB - 20 GB
- Google Drive 15 GB -
Den Flyhack könnte man via SetPlayerVelocity umsetzen
mann könnte dennoch die Tastenbelegung von w a s d auf die Pfeiltasten legen, dann wäre es auch möglich. -
Was meiner meinung noch fehlt wäre ein Teleporthack (über OnPlayerClickMap), direktes spawnen und das man sich direkt zu einem Spieler porten kann.
Was noch lustig wäre , wäre eine Version des fly hacks, aber mal so eine Frage funktioniert Airbreak hier auch in Fahrzeugen ? -
Ich attache sie aneinander, um den GUI der EditObject Funktion zu nutzen, um die Objekte beliebig zu verschieben und dann, wenn man speichert die Position zu speichern. Das ist also zum Verschieben gedacht (http://wiki.sa-mp.com/wiki/EditObject)
(Davor habe ich die Objekte zum Objekt hinzuberechnet, aber so ists einfacher mit der Rotation und bessere Performance, da nicht immer noch extra was berechnet wird, sondern nur über den GUI)
Entweder reden wir aneinander vorbei oder du verstehst einfach nicht was ich meine.
Zum einen würde ich den streamer dafür nutzen du kannst maximal 1000 Objekte global erstellen und zum anderen die Objekte müssen nicht aneinander attached werden um ein einzelnes zu bewegen oder
geht es dir darum alle Objekte zu verschieben, wenn man die "Grundfläche" verschiebt falls ja kannst du von dir dieses filterskript anschauen und davon die berechnung übernehmen. -
Nee musst du nicht, du musst keine Objekte aneinander attachen. Das Streamer Plugin bietet die Funktionen um gewissen Bereich zu erstellen und darüber kannst du ganz einfach abfragen ob die Koordinaten sich noch innerhalb der Zone befinden.
Dahet finde ich es extrem unnötig die Objekte aneinander zu attachen .
-
Danke schonmal 123marvin123 und IPrototypeI
Aber wie soll ich das anlegen? Ich lade die Objekte dynamisch, das ist ein Haussystem. Das heißt ich habe Dateien, in denen Objekte angegeben sind, die ich dynamisch lade und so initialisiere, dann habe ich ja die Daten in einem Array. Platzieren, speichern und laden geht ja, nun will ich aber die Rotation noch angeben... Damit es benutzerfreundlich ist, habe ich den GUI von editObject genommen, nun muss ich aber halt die Rotationsänderung iwie angeben, wenn ich die Objekte so an einen anderen Ort platziere, muss ich das nicht. Das wundert mich nämlich und da es dynamisch ist: wie kann ich das dynamisch machen und wie berechne ich das ?Wenn das ein Hausbausystem ist , wieso attache du die Objekte an einem anderen, welcher sinn steckt dahinter ?
Du kannst die Objekte doch ganz einfach an den jeweiligen abgelegten Koordinaten ablegen.Also zusätzliche Hilfe kann ich dir mein AttachObjectToVehicleEditor empfehlen besser gesagt diesen Codeschnipsel davon:
public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz){
state _ALS_:hooked;
switch(response){
case EDIT_RESPONSE_CANCEL:{
AttachDynamicObjectToVehicle(objectid, PlayerData[playerid][vCarID],PlayerData[playerid][voObjX],PlayerData[playerid][voObjY],PlayerData[playerid][voObjZ],PlayerData[playerid][voObjRx],PlayerData[playerid][voObjRy],PlayerData[playerid][voObjRz]);
PlayerData[playerid][vObjID] = false;
return 1;
}
case EDIT_RESPONSE_FINAL:{
static Float:Pos[6];
GetVehiclePos(PlayerData[playerid][vCarID],Pos[0],Pos[1],Pos[2]);
GetVehicleZAngle(PlayerData[playerid][vCarID],Pos[3]);
AttachDynamicObjectToVehicle(objectid, PlayerData[playerid][vCarID], ((x - Pos[0])*floatcos(Pos[3],degrees)+(y - Pos[1])*floatsin(Pos[3],degrees)), ((-(x - Pos[0]))*floatsin(Pos[3],degrees)+(y - Pos[1])*floatcos(Pos[3],degrees)), z-Pos[2], rx, ry, rz-Pos[3]);
PlayerData[playerid][vObjID] = false;
return SelectObject(playerid);
}
}
return H_OnPlayerEditDynamicObject(playerid, objectid, response, x, y, z, rx, ry, rz);
}AttachDynamicObjectToVehicle(objectid, PlayerData[playerid][vCarID], ((x - Pos[0])*floatcos(Pos[3],degrees)+(y - Pos[1])*floatsin(Pos[3],degrees)), ((-(x - Pos[0]))*floatsin(Pos[3],degrees)+(y - Pos[1])*floatcos(Pos[3],degrees)), z-Pos[2], rx, ry, rz-Pos[3]);
damit bekommst du die Offset- Koordinaten raus von der normalen Position des Objektes in relation zu dem Fahrzeug, das geht bei Objekten ebenso