Funktioniert ! Kann geschlossen werden !!
Auf Erledigt gesetzt !
Funktioniert ! Kann geschlossen werden !!
Auf Erledigt gesetzt !
und SetPlayerWantedLevel(playerid,dini_Int(Spielerdatei,"Wanteds")); lassen ??
oder auch in Spieler[playerid][Wanteds] ändern ?
Hi,
ja wie schon im Titel steht hab ich nen Problem mit meinen Wanted System. Nach dem Server Restart verschwinden die Wanteds eines Spielers Ingame sowie auch in der Spielerdatei.
dcmd_wa(playerid,params[])
{
new pID;
new string[128];
new wanteds;
new spieler[MAX_PLAYER_NAME];
new spieler2[MAX_PLAYER_NAME];
if(Spieler[playerid][Fraktion] == 1)
{
if(Spieler[playerid][Rank] >= 2)
{
if(sscanf(params,"ud",pID,wanteds))
{
SendClientMessage(playerid,weiß,"Verwendung: /wa(nteds) [playerid] [Anzahl]");
return 1;
}
if(wanteds < 1 || wanteds > 6) { return SendClientMessage(playerid,weiß,"Minimun: 1 Stern, Maximum: 6 Sterne."); }
if(Spieler[pID][Wanteds]+wanteds >= 6)
{
SetPlayerWantedLevel(pID,6);
SendClientMessage(playerid,weiß,"Der Spieler hat nun 6 Wanteds");
return 1;
}
GetPlayerName(playerid,spieler,sizeof spieler);
GetPlayerName(pID,spieler2,sizeof spieler2);
Spieler[pID][Wanteds] += wanteds;
SetPlayerWantedLevel(pID,wanteds);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(Spieler[i][Fraktion] == 1)
{
GetPlayerName(playerid,spieler,sizeof spieler);
GetPlayerName(pID,spieler2,sizeof spieler2);
format(string,sizeof string,"Staatsbeamter %s hat einen Spieler als gesucht gemeldet,",spieler);
SendClientMessage(i,polizeiblau,string);
format(string,sizeof string,"Name des gesuchten: %s, Verbrechen: %s, Wantedanzahl: %d,",spieler2,wanteds);
SendClientMessage(i,polizeiblau,string);
}
}
format(string,sizeof string,"Du hast von %s eine Wanted Anzahl von %d Sternen bekommen.",spieler,wanteds);
SendClientMessage(pID,polizeiblau,string);
}
}
return 1;
}
Außerdem lasse ich die eigentlich vor dem Online kommen wieder laden undzwar so:
SetPlayerWantedLevel(playerid,Spieler[playerid][Wanteds]);
Außerdem lass ich sie auch Speichern nähmlich so mit dini:
dini_IntSet(Spielerdatei,"Wanteds",GetPlayerWantedLevel(playerid));
und
SetPlayerWantedLevel(playerid,dini_Int(Spielerdatei,"Wanteds"));
Fehlt mir Irgendetwas ?
Vlt
Ich benutz DCMD,
Ich hab mich bis jetzt noch nicht mit OCMD und ZCMD beschäftigt, weil ich darin einfach noch keinen Grund gefunden hab.
Ich komm mit DCMD super klar, es macht mir keine Probleme und jetzt auf eine neue Version umzusteigen, da seh ich einfach keinen Grund gerade
Jeder soll mit dem Scripten was einem am besten Liegt.
Bei mir ist es DCMD....
Lässt du das Geld in nem Befehl speichern ?
Kann sein das es darüber noch kein Tutorial gibt. Aber Job System Tutorial gibt es bestimmt. Müstest die halt nur unter OnPlayerDialogResponse in Dialoge umändern..
Benutzt die Suchanzeige im Forum oder unter Scripting Base die Tutorial Liste !
In GF's hat man meist immer mit ID Verschiebung. Damit die IDs nicht immer Verschoben werden, würde ich nach nem Tutorial suchen, dass eins Ohne ID Verschiebung zu tuhen hat. Nur mal so als Tipp wenn du es einfacher und besser haben möchtest !
!ULLLIIK hat meinen Fehler zu 100% richtig gelöst. Danke dafür !!
Thema geschlossen
Ich hab früher immer GF's Editiert. Somit lernte ich die Grundlagen und nach der Zeit wurden die Fähigkeiten immer mehr.
Einfach GF nehmen und rumbasteln. Eigentlich der kostenloste und einfachste Weg !!
Moin,
ja, ich wollte heute zu meinem Register und Login System die einzelnen Punkte wie Herkunft, Alter und Geschlecht hinzufügen beim Registervorgang, aber ich bekomm dieser Errors:
C:\Dokumente und Einstellungen\Patrick Jansch\Desktop\SERVER\gamemodes\sf.pwn(1058) : error 027: invalid character constant
C:\Dokumente und Einstellungen\Patrick Jansch\Desktop\SERVER\gamemodes\sf.pwn(1058) : error 027: invalid character constant
C:\Dokumente und Einstellungen\Patrick Jansch\Desktop\SERVER\gamemodes\sf.pwn(1059) : error 027: invalid character constant
C:\Dokumente und Einstellungen\Patrick Jansch\Desktop\SERVER\gamemodes\sf.pwn(1059) : error 027: invalid character constant
C:\Dokumente und Einstellungen\Patrick Jansch\Desktop\SERVER\gamemodes\sf.pwn(1065) : error 027: invalid character constant
C:\Dokumente und Einstellungen\Patrick Jansch\Desktop\SERVER\gamemodes\sf.pwn(1065) : error 027: invalid character constant
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
6 Errors.
In diesen Zeilen liegen die Fehler:
if(dialogid == registergeschlecht)
{
if(response)
{ Spieler[playerid][Geschlecht] = 1; ShowPlayerDialog(playerid,registerjahr,DIALOG_STYLE_INPUT,"Register - Alter","Bitte gib nun hier dein aktuelles Alter an.\n\nNicht dein Geburtsdatum, sondern nur die Zahl deines aktuellen Alters.\n\(Beispiel: 15)","Weiter","Abbrechen"); }
else { Spieler[playerid][Geschlecht] = 2; ShowPlayerDialog(playerid,registerjahr,DIALOG_STYLE_INPUT,"Register - Alter","Bitte gib nun hier dein aktuelles Alter an.\n\nNicht dein Geburtsdatum, sondern nur die Zahl deines aktuellen Alters.\n\(Beispiel: 15)","Weiter","Abbrechen"); }
}
if(dialogid == registerjahr)
{
new gjahr,age = Spieler[playerid][Alter];
gjahr = strval(inputtext);
if(gjahr < 10 || gjahr > 50) { ShowPlayerDialog(playerid,registerjahr,DIALOG_STYLE_INPUT,"Register - Alter","Bitte gib nun hier dein aktuelles Alter an.\n\nNicht dein Geburtsdatum, sondern nur die Zahl deines aktuellen Alters.\n\(Beispiel: 15)","Weiter","Abbrechen"); return SendClientMessage(playerid,weiß,"Du kannst nicht < 10 || > 55 nehmen!"); }
Spieler[playerid][Alter] = age;
ShowPlayerDialog(playerid,registerherkunft,DIALOG_STYLE_LIST,"Register - Deine Herkunft","Los Santos\nSan Fierro","Weiter","Abbrechen");
}
Beides funktioniert ! Danke
Nehme eins für Login. Das andere für Register
Danke Jungs, hatte das etwas ähnlich aber bei mir zeigte es den Inhaltlichen Text nicht an !
Werden beides testen !
Danke
Hey Jungs,
eine Frage: Wie kann ich meinen Benutzernamen in mein Login & Register Dialog einfügen ??
Könntet ihr mir das anhand dieser Zeile mal zeigen. Danke
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.\n\n Dein Benutzername: %s.\n\nGib bitte das Passwort ein.","Login","Abbrechen");
Ja, ich weiß. Davor hatte ich ja schon spieler2 als Variabel aber ging trotzdem nicht !
Ich hab so eine Art frage schon einmal erstellt. In dieser war es meine eigene Doofheit, aber in diesem Fall hab ich echt keinen Plan gerade.
Mein Ingame-Name ist Stylernero.
Wenn ich den anderen Spieler zum Admin mache steht anstatt seinem Ingame Name mein Ingame Name da.
(AdmCmd: Stylernero wurde von Stylernero zum Adminlevel 6 gemacht." Als erstes soll aber net meiner sondern der andere Name vom anderen Spieler stehen.
dcmd_makeadmin(playerid,params[])
{
new pID;
if(!IsPlayerConnected(pID))
{
SendClientMessage(playerid,weiß,"Der Spieler ist Offline.");
return 1;
}
new string[128];
new adminrank1;
new spieler[MAX_PLAYER_NAME];
new spieler2[MAX_PLAYER_NAME];
GetPlayerName(playerid,spieler,sizeof spieler);
GetPlayerName(pID,spieler2,sizeof spieler2);
if(Spieler[playerid][Adminlevel] >= 5)
{
if(AdminDuty[playerid] == 1)
{
if(sscanf(params,"ud",pID,adminrank1))
{
SendClientMessage(playerid,weiß,"Verwendung: /makeadmin [playerid] [Adminrank]");
SendClientMessage(playerid,weiß,"Adminränge: 1 - 7");
return 1;
}
if(adminrank1 < 1 || adminrank1 > 7)
{
SendClientMessage(playerid,weiß,"-");
return 1;
}
Spieler[pID][Adminlevel] = adminrank1;
format(string,sizeof string,"AdmCmd: Du wurdest von %s zum Adminrank %d gemacht.",spieler,adminrank1);
SendClientMessage(pID,adminrot,string);
format(string,sizeof string,"AdmCmd: Du hast %s zum Adminrank %d gemacht.",spieler,adminrank1);
SendClientMessage(playerid,adminrot,string);
}
else { return SendClientMessage(playerid,weiß,"Du bist nicht in Admin Dienst."); }
}
return 1;
}
Liegt auf jeden fall nicht daran
Moin,
hab ein Problem mit meinem /ticket Befehl. Alles funktioniert bis auf das Ingame eine Falsche Geldzahl im Text angezeigt wird. Tippe ich im Server den Befehl mit /ticket 0 200[Geld][Grund] ein bekomm ich im Text anstatt 200$ eine falsche Geldanzahl von 144$ angezeigt. Warum ?
dcmd_ticket(playerid,params[])
{
new pID;
if(!IsPlayerConnected(pID))
{
SendClientMessage(playerid,weiß,"Der Spieler ist Offline.");
return 1;
}
new string[128];
new preis;
new grund;
new spieler[MAX_PLAYER_NAME];
new spieler2[MAX_PLAYER_NAME];
GetPlayerName(playerid,spieler,sizeof spieler);
GetPlayerName(pID,spieler2,sizeof spieler2);
if(Spieler[playerid][Fraktion] == 1)
{
if(sscanf(params,"uds",pID,preis,grund))
{
SendClientMessage(playerid,weiß,"Verwendung: /ticket [playerid] [Preis] [Grund]");
return 1;
}
if(preis < 10 || preis > 500)
{
SendClientMessage(playerid,weiß,"Du kannst keine Tickets unter 10$ und über 500& geben.");
return 1;
}
Ticket[pID] = 1;
format(string,sizeof string,"Der Staatsbeamter %s hat dir ein Ticket in Höhe von %d geben. Grund: %s",spieler,preis,grund);
SendClientMessage(pID,oamtblau,string);
format(string,sizeof string,"Du hast %s ein Ticket in Höhe von %d gegeben.",spieler2,preis);
SendClientMessage(playerid,oamtblau,string);
}
return 1;
}
Ist mir aufgefallen, aber hier ist das Hauptproblem mit den IDS:
format(string,sizeof string,"AdmCmd: %s wurde von %s verwarnt. Grund: %s.",spieler2,grund);
SendClientMessageToAll(adminrot,string);
Hallo Jungs,
ich weiß nicht warum, aber irgendwie vertauscht mein Script immer die Playerids im Text. Mache ich z.b wie hier /warn und dann die playerid steht da nicht die Playerid von dem anderen sondern meine obwohl ich auch in der Spielerdatei garnicht verwarnt wurde. Ich weiß nicht warum es so kommt. Vielleicht fehlt irgenwas im Script Befehl ?
Es wäre nett wenn ihr mir dabei hefen könntet:
Hier der Befehl warn:
dcmd_warn(playerid,params[])
{
new pID;
if(!IsPlayerConnected(pID))
{
SendClientMessage(playerid,weiß,"Der Spieler ist Offline");
return 1;
}
if(GetPVarInt(playerid,"Adminlevel") >= 3)
{
if(AdminDuty[playerid] == 1)
{
new string[128];
new grund;
new spieler[MAX_PLAYER_NAME];
new spieler2[MAX_PLAYER_NAME];
GetPlayerName(playerid,spieler,sizeof spieler);
GetPlayerName(pID,spieler2,sizeof spieler2);
if(sscanf(params,"us",pID,grund))
{
SendClientMessage(playerid,weiß,"Verwendung: /warn [playerid] [Grund]");
return 1;
}
SetPVarInt(pID,"Warn",GetPVarInt(pID,"Warn")+ 1);
SpielerSpeichern(pID);
if(GetPVarInt(pID,"Warn") >= 3)
{
format(string,sizeof string,"AdmCmd: %s wurde gebannt da er seinen dritten Warn bekommen hat.",spieler2);
SendClientMessageToAll(adminrot,string);
SendClientMessage(pID,adminrot,"Durch deinen dritten Warn wurdest du gebannt.");
SetPVarInt(pID,"Bann",1);
Ban(pID);
}
format(string,sizeof string,"AdmCmd: %s wurde von %s verwarnt. Grund: %s.",spieler2,grund);
SendClientMessageToAll(adminrot,string);
SendClientMessage(playerid,adminrot,"AdmCmd: Du hast einen Warn bekommen.");
}
else { return SendClientMessage(playerid,weiß,"Du bist nicht im Admin Dienst"); }
}
return 1;
}
KP