Sag mal,
kannst das nicht alleine? xD
new pID; hinzufügen beim Stock
anstatt
BanSpieler(SpielerName(pID),SpielerName(playerid),(reason));
machst du:
BanSpieler(pID,playerid,(reason));
Jetzt machst aber mal alleine weiter -.-"
Sag mal,
kannst das nicht alleine? xD
new pID; hinzufügen beim Stock
anstatt
BanSpieler(SpielerName(pID),SpielerName(playerid),(reason));
machst du:
BanSpieler(pID,playerid,(reason));
Jetzt machst aber mal alleine weiter -.-"
ich hatte es so, es wurde aber nix eingetragen, da dachte ich mir ich mach es nochmal so
Dennoch sollte man sich ein wenig auskennen, anstatt Copy & Paste zu machen.
ocmd:ban(playerid,params[])
{
if(SpielerInfo[playerid][Adminlevel]>=5)
{
new string[128],reason[128],pID;
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid, grau, "Benutze: /ban [ID] [Grund]");
format(reason,sizeof(reason),"Spieler %s wurde von Admin %s vom Server gebannt, Grund %d",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(rot,string);
BanSpieler(SpielerName(pID),SpielerName(playerid),(reason));
}
else
{
falschadmin(playerid);
}
return 1;
}
stock BanSpieler(SpielerName(pID),SpielerName(playerid),reason[])
{
new string[128];
format(string,128,"INSERT INTO banlog(name,admin,grund) VALUES ('%s','%s','%s')",SpielerName(pID),SpielerName(playerid),reason);
//MySQL Query Funktion ...
format(string,sizeof(string),"%s wrude von %s gebannt, Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(rot,string);
SpielerInfo[playerid][ban]=1;
Kick(pID);
return 1;
}
Probier es mal so, sollte funktionieren, wenn ich nichts vergessen habe
Meine Güte -.-"
Übernimm es doch nicht direkt?
Füge deine Sachen ein, welche du statt "giveplayerid" statt "grund" statt "playerid" verwendest ? -.-
NAME_vom_Spieler war auch nur ein Beispiel ...
Also ich hab nun unter public OnPlayerConnect(playerid) geschaut Es gibt dort kein SetPlayerWantedLevel(playerid, 0);
Wird es denn beim Laden des Spielers mit ausgeführt?
Also ist es eingetragen dass er das laden soll?
Mach folgendes:
stock BanSpieler(giveplayerid,playerid,grund[])
{
new string[128];
format(string,128,"INSERT INTO banlog (NAME_vom_Spieler,NAME_vom_Admin,Grund) VALUES ('%s','%s','%s')",NAME_vom_Spieler,NAME_vom_Admin,Grund);
//Die Version von query deines MySQL Plugins
format(string,sizeof(string)," %s wurde von %s gebannt, Grund: %s",NAME_vom_Spieler,NAME_vom_Admin,Grund);
SendClientMessageToAll(FARBE,string);
Ban(giveplayerid);
}
Bei /ban Befehl einfügen:
BanSpieler(giveplayerid,playerid,(result));
Sollte so funktionieren, bin mir jetzt aber nicht sicher xD
Der Aufbau passt aufjedenfall
aber wenn ein User Wanteds bekommt und sich ausloggt bleiben die wanteds ja...
Wenn du richtig abgespeichert werden wenn er sich ausloggt,
dann schau mal unter "OnPlayerConnect" ob hier irgendwo die Wanteds mit
SetPlayerWantedLevel(playerid, 0);
wieder auf 0 gesetzt werden?
@ ReborN:
hab es auch mal ausprobiert, bei mir kommt aber nichts in die tabelle.
habe eine tabelle mit den namen banlog erstellt.
stock erstellt?
Es muss auch bei "/ban" folgendes eingetragen sein:
BanSpieler(giveplayerid,playerid,(result));
hierzu einen stock BanSpieler erstellen,
welcher das ganze in der Datenbank abspeichert mit INSERT INTO banlog
Wann bzw. wo lässt du diese erstellen?
Public ?
Lässt du sie mit einen Timer laden?
Überschneiden sich die die Zonen, wenn du den Server startest oder erst bei einer gewissen Sache?
Wenn ja bei was?
Zeig mal, wie du die Gangzonen erstellen lässt,
ohne Code nix los
Wird es denn auch in der Datenbank abgespeichert, wenn der Spieler wanteds erhält?
Wenn du es nicht weißt, gib dir ingame wanteds, speicher den account ab und schau in der datenbank nach in der Spalte wo normal dann "1 Wanted" oder what ever stehen sollte.
Zum Grund:
du erstellst einen stock wo z.b. "Banspieler" ausgegeben wird, dieses soll dann in der Tabelle welche in der Datenbank
erstellt wird, abgespeichert werden.
Bei beispiel /ban den Grund mit "result" ausgeben, welches dann in der Datenbank abgespeichert werden soll.
Beispiel:
format(string,128,"INSERT INTO banlog (Name_vom_Spieler,Name_vom_admin,Grund_des_bans) VALUES ('%s','%s','%s')",NAME_vom_spieler,Name_vom_admin,Grund_des_bans);
Jetzt wenn er sich einloggt, fragst du eben beim Laden des Spielers ab,
ob er gebannt ist, mach eine Abfrage z.b.
if(Spieler[playerid][Gebannt] ==1) {
//Text der kommen soll wenn er gebannt ist
}
Hoffe konnte dir ein wenig helfen
Lässt du die Wanteds auch im MySQL abspeichern?
Dass heißt im Account eine Speicherung vorhanden?
Ansonsten ist es klar, dass man die Wanteds nicht mehr hat, wenn keine Speicherung in der Datenbank
dafür vorgesehen ist bzw. nichts im Script von den Wanteds abgespeichert wird
New Old German 0815 Real Roleplay Life
Wieso so umständlich ?
Geht doch auch:
Next 0815 Reallife
Gutes Tutorial.
Sehr ausführlich erklärt, damit man jeden Buttom nun kennt.
Hilft sicherlich den ein oder anderen auf den Umstieg zum SAMP Editor.
Bin gespannt auf die weiteren Tutorials, welche du noch hinzufügen möchtest.
Weiter so
Dann zeig mal dein Befehl wo du DIALOG_NAVI verwendest..
Und auch wie du den 12. Marker setzt
Welche genau meinst du?
Die mit den 12 Markern?
Falls ja, erstelle einfach weitere case´s und fertig.
Probier es mal so:
if(dialogid == DIALOG_NAVI) {
if(response == 1) {
switch(listitem) {
case 0: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel zur Stadthalle wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,1482.3715,-1811.6964,13.5853,3.0);
Navi[playerid] = 1;
}
case 1: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel zum Arbeitsamt wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,1726.8151,-1636.4524,20.2171,3.0);
Navi[playerid] = 1;
}
case 2: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel zur Bank wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,1462.2316,-1011.2964,26.8438,3.0);
Navi[playerid] = 1;
}
case 3: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel zur Ordnungsamt Base wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,929.5430,-1219.1581,16.9289,3.0);
Navi[playerid] = 1;
}
case 4: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel zum Schwarzmarkt wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,2803.8408,-1451.5935,40.0332,3.0);
Navi[playerid] = 1;
}
case 5: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel zum Luxus Autohaus wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,752.3879,-1353.4884,13.5000,3.0);
Navi[playerid] = 1;
}
case 6: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel zum Billig Autohaus wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,2130.3040,-1145.5414,24.6600,3.0);
Navi[playerid] = 1;
}
case 7: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel zum Motorradladen wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,2470.1741,-1546.0947,23.9989,3.0);
Navi[playerid] = 1;
}
case 8: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel zum Flugzeugladen wurde gesetzt. [/dc zum Entfärnen])");
SetPlayerCheckpoint(playerid,1775.7734,-2436.9556,13.5547,3.0);
Navi[playerid] = 1;
}
case 9: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel für die FrakMats in LS wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,2804.9285,-1434.0675,40.0485,3.0);
Navi[playerid] = 1;
}
case 10: {
SendClientMessage(playerid, 0xFF7800FF, " Ziel für die Fraktions Materialien in SF wurde gesetzt. [/dc zum Entfärnen]");
SetPlayerCheckpoint(playerid,-2518.7705,248.0229,11.0938,3.0);
Navi[playerid] = 1;
}
}
}
}
PS: es heißt "Entfernen" nicht "Entfärnen"
Hatte aber keine Lust diese zu ändern
Einrücken musst halt noch selbst
Dann mach einen Timer oder ähnliches rein, der die Meldung nach 2 oder 4 Sekunden ausgibt.
Es geht auch ein Dialog, der direkt aufgerufen wird, wo die Meldung darin steht.
Vorstellung: 5/10 Punkten
Ein Paar Bilder zu den jeweiligen Jobs wären sicherlich angebracht,
da die Texte sich kaum einer komplett durchlesen wird.
Ansonsten hört es sich nach einen Standart GF an, da hier irgendwie keine wirklichen
Features aufgezählt sind.
Forum: 5/10 Punkten
Naja die Strukturierung vom Forum gefällt mir gar nicht.
Das Design ist auch geschmackssache und gefällt mir persönlich gar nicht.
Server: /
PS: Keine eigenen Gedanken zu einen Server Namen? "German Virtual Dream" abgeleitet bzw. Namen von "My Virtual Dream" ? Eigene Ideen wären auch mal besser...
Wow
10/10
Mehr kann man dazu nicht sagen.
Vor allem endlich jemand der eine begehbare Stadthalle mal gemacht hat