Dank dir
Beiträge von Vanillewilly
-
-
Hallo,
ich habe eine Frage, an die etwas erfahreneren.
Nämlich habe ich ein Flugjobsystem entworfen.
Indem man sein Flugzeugtypen aussuchen kann, sein Ziel und man braucht ein gewisses Level für die einzelnen Flugzeuge.Aber das tut nicht zur sache.Ich möchte aber, dass sie beim "Jobben" die anderen Spieler in der Vworld 0 nicht stören, also habe ich den Spieler in die Virtual World 1 gesetzt.
2 Fragen nun.
Wie bekomme ich das Fahrzeug auch in VirtualWorld 1?Wie kann ich es machen, dass Spieler nicht ineinander stecken beim jobspawn, sodass sie direkt explodieren???
-
stock SpielerLaden(playerid)
{
new Spielerdatei[128];
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
SetPVarInt(playerid,"AdminLevel",dini_Int(Spielerdatei,"AdminLevel"));//so die Daten laden
SetPVarInt(playerid,"Herkunft",dini_Int(Spielerdatei,"Herkunft"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Tutorial",dini_Int(Spielerdatei,"Tutorial"));
SetPVarInt(playerid,"Eingeloggt",1);
SetPVarInt(playerid,"Tban",dini_Int(Spielerdatei,"Tban"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,0xFFFFFFFF,"Du kannst mit diesem Account nicht spielen, da du gebannt bist.\nBei Fragen oder Einwänden melde dich bei einem Admin");
Kick(playerid);
SetPVarInt(playerid,"loggedin",1);
return 1;
}
return 1;
}Wenn beim Disconnect abgefragt wird, ob Loggedin auf 1 ist muss es auch irgendwo auf 1 gesetzt werden. Logisch oder? ;P
Jetzt schreib mal ob es klappt, bevor in 1 Stunde ein 3. Thread kommt xD
-
Du hast:
if(GetPlayerMoney(playerid) < 0)return SendClientMessage(playerid,GELB,"Du besitzt kein Geld !");
else
{
SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand") +einzahlsumme);
format(string, sizeof(string),"Du hast %i Euro Eingezahlt, Dein neuer Kontostand Beträgt nun: {00FFBE}%i Euro",einzahlsumme, GetPVarInt(playerid,"Kontostand"));
SendClientMessage(playerid,WEIS,string);
GivePlayerMoney(playerid,-einzahlsumme);
SpielerSpeichern(playerid);
}
Also wird Abgefragt ob das Geld weniger als 0 ist und wenn ja wird ihm ein text gesendet.
Danach müsste eigentlich kommen, was passiert wenn er mehr als 0 hat aber du machst else -
Ne Abfrage.
if(IsPlayerInVehicle(pID,vehicleid))
{
dann was passieren soll.
} -
Genau...
Poste mal deinen LoadAccount stock.
-
Hööö... Die hat der vorhin nicht geladen xD
Sorry. Warte eben. -
Ne dort wo es Abgespeichert und geladen wird. ;D
-
Poste mal nochmal die beiden Zeilen
-
Hattest du nicht erst letzens einen Thread aufgemacht?
Edit: Geld Speichert nicht! -.-
Edit2:
Wie wäre es, wenn du mal die entsprechenden Zeilen posten würdest, wo das Geld gespeichert wird.
Könnte dir jetzt 20Gründe nenne, warum das Geld nicht gespeichert wird, würde dir und mir aber nicht weiterhelfen. -
Eventuell was falsches aus der Map entfernt?
-
Ich hab
if(PRESSED(KEY_WALK))
{
blablabla
}und ganz nach oben an den Anfang des Scripts setzte das ein einfach :
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) -
public OnPlayerConnect(playerid)
{
new string[64];
if(isPlayerAnAdmin(playerid))
{
format(string,sizeof(string),"Administrator %s hat sich eingeloggt!",SpielerName(playerid));
SendClientMessageToAll(DEINEFARBE,string);
}
return 1;
}Muss nur an dein System angepasst werden
-
ocmd:goto(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist nicht authorisiert diesen Befehl zu nutzen!");
new pID,string[64],Float:x,Float:y,Float:z;
if(sscanf(params,"i",pID))return SendClientMessage(playerid,ROT,"/goto [ID]");
format(string,sizeof(string),"[DeinServerKürzel]%s hat sich zu dir geportet!",SpielerName(playerid));
GetPlayerPos(pID,Float:x,Float:y,Float:z);
SetPlayerPos(playerid,Float:x,Float:y,Float:z),
SendClientMessage(pID,GELB,string);
return 1;
} -
-
Kein Ding ;)))
Sag noch ob es mit dem Geld klappt. Müsste eigentlich
-
Habs ;DDD
Du hast folgendes:
format(Spielerdatei,sizeof(Spielerdatei,"/Accounts/%s.txt",name));Muss aber folgendes lauten:
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
Nach sizeof(spielerdatei die Klammer direkt wieder schließen, da dann die größe von der "Spielerdatei" halt... -
Wo hast du das denn stehen unter :
OnPlayerDisconnect????Edit:
Füg das einfach unter OnPlayerDisconnect ein.
Muss funktionieren...
SpielerSpeichern(playerid);Edit:
Hast ja garkein Loggedin ;D
Nur SpielerSpeichern mehr nicht! -
Oben stehts...
Aber wie schauts nun mit dem Geld aus? Klappts?
-
Selbst wenn man die "Funktionen" selbst definieren muss, einfach eben unten am ende des Scripts erstellen und das erleichtert die Arbeit ;D