Gib mir die TS-Daten.^^
Beiträge von LoWtRoNiiX
In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
-
-
Es geht nicht! v.v
Ich verzweifel. -
Ja, habe ich.
Bei dir steht bei 50: "50" und bei 100: "100.0"
Aufjedenfall geht es nicht. -
Ich habe es so:
if (strcmp("/waffen", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,10,295.6970,-34.9315,1001.5156))
{
ShowPlayerDialog(playerid,DIALOG_ListDialog,DIALOG_STYLE_LIST,"Ammunation Downtown","Waffen (ohne Munition)\nWaffen (mit Munition)\nSchutzwesten","Weiter","Abbrechen");
}
else
{
SendClientMessage(playerid,WEISS,"Du hast dir keine Waffen gekauft!");
}
return 1;
}Dann:
if(listitem == 2)//Was passiert wenn das erste listen item(Last Item) ausgewæhlt wird
{
ShowPlayerDialog(playerid,DIALOG_SCHUTZWESTEN,DIALOG_STYLE_LIST,"Schutzwesten","Halbe Schutzweste\nVolle Schutzweste","Kaufen","Abbrechen");
return 1;
}So hab ich das doch alles.

-
Aber es geht nicht, guck dir den Dialog an:
if(dialogid == DIALOG_SCHUTZWESTEN)//wenn SCHUTZWESTEN geöffnet ist
{
if(response == 0)//Wenn das rechte (abbruch) button angeklickt wird
{
return 1; // Diese Abfrage kann eigentlich weggelassen werden.
}
if(response == 1)//Wenn das linke (OK) button angeklickt wird
{
if(listitem == 0)//0 - Halbe Weste
{
AddArmour(playerid,50);
}
if(listitem == 1)//1 - Volle Weste
{
AddArmour(playerid,100.00);
}
} -
Hatte ich schon, geht nicht.
-
Hier der stock:
stock AddArmour(playerid, Float:armour)
{
new Float:player_Armour;
if(GetPlayerArmour(playerid, player_Armour))
{
SetPlayerArmour(playerid, player_Armour+armour);
return 1;
}
return 0;
}Hier das Waffenmenu: (Teil der Westen)
if(response == 1)//Wenn das linke (OK) button angeklickt wird
{
if(listitem == 0)//0 - Halbe Weste
{
AddArmour(playerid,50.00);
return 1;
}
if(listitem == 1)//1 - Volle Weste
{
AddArmour(playerid,100.00);
return 1;
}
} -
Dass man trotzdem kein Armour bekommt!!!!
-
Ich hatte vergessen ein "Health" in Armour umzutauschen, der stock sieht nun so aus:
stock AddArmour(playerid, Float:armour)
{
new Float:player_Armour;
if(GetPlayerArmour(playerid, player_Armour))
{
SetPlayerArmour(playerid, player_Armour+armour);
return 1;
}
return 0;
} -
Ich habe die Erros wegbekommen, aber man bekommt trotzdem kein Armour.
-
Kannst du mir das nicht oben anpassen und hier reinstellen?
-
Habe ich, dort kommen Errors. Kannst du mir das machen und reinstellen?
-
Es geht um Armour, nicht um Health.
-
Es kommt kein Error, hast du TeamSpeak 3? Dann gebe ich dir IP und wir reden kurz.
-
Auch dies geht nicht.
-
Hallo, ich habe eine kleine Frage.
Wie mache ich in diesem Code, dass die Spieler-Armour hochgeht, und nicht auf 10 gesetzt wird, sondern dass er +50 Armour bekommt.
Leider geht es so nicht.
if(listitem == 0)//0 - Halbe Weste
{
new Float:armour;
GetPlayerArmour(playerid, armour);
SetPlayerArmour(playerid, armour + 50);
return 1;
}
if(listitem == 1)//1 - Volle Weste
{
new Float:armour;
GetPlayerArmour(playerid, armour);
SetPlayerArmour(playerid, armour + 100);
return 1;
} -
Komplett falsch.
Habe ich schon gesagt, soviel Ahnung habe ich ja.
Bloß mir fiel der Text nicht ein. -
if(listitem == 6)//6 - Große Pommes
{
SetPlayerHealth(playerid,+10);
return 1;
}
Das geht nicht.
Zu dreamcatcher: Danke, genau das habe ich gesucht.
-
Hallo, ich habe eine kleine Frage.
Wie mache ich in diesem Code, dass die Spieler-HP hochgeht, und nicht auf 10 gesetzt wird, sondern dass er +10 HP bekommt.
if(listitem == 6)//6 - Große Pommes
{
SetPlayerHealth(playerid,10);
return 1;
} -
Hier stelle ich dir mal ein kleines von mir rein, ist leicht bearbeitbar.
Oben trägst du ein:
#include <dini>Dann definierst du die Dialoge oben:
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2Dann machst du am Ende des Gamemode's diese stock's:
stock Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,WEISS,"Du hast dich erfolgreich registriert.");
SetPlayerScore(playerid,0);
SetPVarInt(playerid,"loggedin",1);
return 1;
}stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
LoadAccount(playerid);
SendClientMessage(playerid,WEISS,"Du hast dich erfolgreich eingeloggt.");
return 1;
}
else
{
SendClientMessage(playerid,WEISS,"Du hast ein falsches Passwort eingegeben...");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"LogIn","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
return 1;
}
}stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Fraktlevel",dini_Int(Spielerdatei,"Fraktlevel"));
SetPVarInt(playerid,"Leader",dini_Int(Spielerdatei,"Leader"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du wurdest vom Server gebannt!");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Fraktlevel",GetPVarInt(playerid,"Fraktlevel"));
dini_IntSet(Spielerdatei,"Leader",GetPVarInt(playerid,"Leader"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
}
return 1;
}Nun bei OnPlayerConnect das einfügen:
public OnPlayerConnect(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"LogIn","Dein Account wurde gefunden und geladen.\nBitte gib nun dein Passwort ein:","LogIn","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein:","Registrieren","Abbrechen");
}
return 1;
}Bei OnPlayerDisconnect dieses einfügen:
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
SpielerSpeichern(playerid);
}
return 1;
}Bei OnDialogResponse dieses einfügen:
if(dialogid==DIALOG_LOGIN)
{
if(response==0)
{
SendClientMessage(playerid,WEISS,"Du hast den LogIn-Vorgang abgebrochen.");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,WEISS,"Das eingegebene Passwort war leider zu kurz.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"LogIn","Dein Account wurde gefunden und geladen.\nBitte gib nun dein Passwort ein:","LogIn","Abbrechen");
return 1;
}
else
{
Login(playerid,inputtext);
return 1;
}
}
}
if(dialogid==DIALOG_REGISTER)
{
if(response==0)
{
SendClientMessage(playerid,WEISS,"Du hast die Registration abgrebrochen..");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,WEISS,"Das gewünschte Passwort war leider kurz...");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Registrieren","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}
}
}Das wars, nun nur noch im Scriptfiles Ordner den Order: "Accounts" erstellen.
Den Rest kannst du selber bearbeiten.Viel Spaß.