ok, danke für die antworten
Beiträge von Alexus
-
-
ok, hab nur eine kleine frage
ich möchte mit isplayerinrangeofpoint arbeiten. eine frage zu der längeneinheit. wird das in meter gerechnet oder "was ist das eigentlich für eine einheit"?
ich hoffe ihr wisst was ich meine. ihr könnt ja mal ein beispiel machen, zb 10 gta-meter sind die breite des BSNs oder iwie so. ich hoffe, ihr bersteht was ich meine^^ -
viel zu übertrieben. eine polizeistation ist kein hochsicherheitstrakt. das ist beim alka eher angebracht^^ und zaun als tor... naja
auch die bäume stehen nur im weg, und wieso sind da so viele hotdogbuden?!2/10
-
ich hab spielerspeichern jetzt ganz oben. geht immer noch nicht. wie meinst du das mit ausklammern?
-
public OnPlayerDisconnect(playerid, reason)
{
sSpieler[playerid][sLogin] = 0;
SpielerSpeichern(playerid);
SpielerReset(playerid);
DestroyObject(asirene[playerid]);
aDuty[playerid] = 0;
//////////////// EXIT NACHRICHT ////////////////////////////
new name[MAX_PLAYER_NAME], str[64]; //////
GetPlayerName(playerid, name, MAX_PLAYER_NAME); //////
format(str, 64, "%s hat den Server verlassen.", name); //////
SendClientMessageToAll(GRAU, str); //////
//////////////////////////////////////////////////////////////
return 1;
} -
beim speichern befehl wirds gesavt.
aber wieso nicht bei disconnect@Fly0in0the0Sky
die datei ist aber auch als txt gespeichert. -
hab ich ja schon. beim register wird die automatisch erstellt
-
hi leute,
und zwar habe ich das problem, das mein skin einfach nicht gespeichert wird . ich arbeite mit dini:
hier die codeschnipsel:
stock SpielerSpeichern(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(dini_Exists(Spieler))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
dini_IntSet(Spieler,"Level",sSpieler[playerid][Level]);
dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
dini_IntSet(Spieler,"Team",sSpieler[playerid][Team]);
dini_FloatSet(Spieler,"PosX",X);
dini_FloatSet(Spieler,"PosY",Y);
dini_FloatSet(Spieler,"PosZ",Z);
dini_IntSet(Spieler,"Rang",sSpieler[playerid][Rang]);
dini_IntSet(Spieler,"Cop",sSpieler[playerid][Cop]);
dini_IntSet(Spieler,"Beruf",sSpieler[playerid][Beruf]);
dini_IntSet(Spieler,"Leader",sSpieler[playerid][Leader]);
dini_IntSet(Spieler,"Skin",GetPlayerSkin(playerid));
}
return 1;
}das spielerspeichern wird unter onplayerdisconnect abgefragt.
wenn ich mich dann mit einem anderen skin auslogge und in der datei schaue steht da immer noch 0
was mach ich falsch? -
hi leute, ich möchte einen befehl erstellen, der /verkaufepizza [ID] [preis] heißt.
der befehl an sich ist auch schon erstellt. dem käufer soll sich ein dialog öffnen, in dem er ablehnen oder annehmen kann. dann muss das geld abgebucht werden und leben aufgefüllt, etc.
das ist mein jetziger befehl:
dcmd_verkaufepizza(playerid, params[])
{
new pid, preis;
if(sscanf(params,"ud",pid,preis))
{
return SendClientMessage(playerid,WHITE,"Verwendung: /verkaufepizza [ID] [Preis]");
}
if(sSpieler[playerid][Beruf] == 7)
{
new car;
car = GetPlayerVehicleID(playerid);
if(GetVehicleModel(car) == 448)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(pid,8.0, X, Y, Z))
{
new string[64], string2[64], name[MAX_PLAYER_NAME], kauf[MAX_PLAYER_NAME];
GetPlayerName(playerid,kauf,sizeof(kauf));
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Pizzaverkäufer %s möchte dir eine Pizza für %d€ verkaufen.",name,preis);
format(string2,sizeof(string2),"Du bietest %s eine Pizza für %d€ an.",kauf,preis);
SendClientMessage(playerid,TÜRKIS,string2);
ShowPlayerDialog(pid,VERKAUFEPIZZA,DIALOG_STYLE_MSGBOX,"The Well Stacked Pizza Company",string,"Abbrechen","Kaufen");
}}
else SendClientMessage(playerid,ROT,"Du musst in einem Pizzaroller sitzen!");}
else
{
return SendClientMessage(playerid,ROT,"Du bist kein Pizzaverkäufer!");
}
return 1;
}jetzt ist die frage wie es weitergeht...
der dialog ist auch schon erstellt, wie ihr seht. jetzt muss unter dialogresponse ja erkannt werden, welcher spieler die pizza verkauft, um ihm das geld zu geben.
wie stelle ich das an? -
xD
ja, nich richtig gelesen
sry nochmal, in 0.3c gehts nicht. -
ich hoffe das hilft dir. müsste eig klappen
[ SCRIPTING ] Standardobjekte von der Map entfernen -
was hat das mit löschen zu tun? meinst du das tor dort im bodem löschen um da reinzugehen oder wie? die frage ist ja ob das interior der base auch wirklich direkt unter der base ist oder nicht irgendwo im nix. was willst du denn genau machen?
-
hi leute. ich möchte einen befehl erstellen, mit dem man sich in ein auto porten kann. ist auch schon definiert /tpc [carid].
jetzt kommt das problem. ihc möchte abfragen, ob in diesem auto schon ein fahrer ist. wenn das auto von jemanden gefahren wird, möchte ich als beifahrer ins car geportet werden. sollte das fahrzeug leer sein, dann halt als fahrer.
leider gibt es keine abfrage, ob in einem bestimmten auto ein spieler sitzt. wie mach ich das ganze?
mein gedankengang war eine schleife, doch da kenne ich mich nciht aus.danke schonmal
-
wo drunter machen? schon bei on player request oder dann in den dialog wenn das pw richitg ist?
-
ich habs jetzt im stock spielerladen, klappt immer noch nciht -,-
ZitatLesen und lernen >.>
Sprich: Dort wo er sich einloggt.sry, is mir auch danach aufgefallen^^
ich hatte es am anfang ja schon an allen möglichen responses, doch es klappt nicht.
muss um zu spawnen etwas bei request class definiert sein? vielleicht liegts daran -
auch als ich es unter die beiden dialoga hatte hat es nciht geklappt. ich krieg langsam die krise! hat wer kurz zeit für teamviewer?
-
spawnplayer war ja schon drin. ich hatte es eben so gemacht:
stock Login(playerid,key[])
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
{
SendClientMessage(playerid,BLAU,"Du hast dich erfolgreich angemeldet.");
SpielerLaden(playerid);
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Dein Passwort ist falsch. Du wurdest vom Server gekickt!");
Kick(playerid);
}
SpawnPlayer(playerid);
return 1;
}doch es geht immer noch nicht!
-
ich würde es gerne einrichten, das der spieler nach dem login sofort spawnt. das geht ja mit SpawnPlayer(palyerid). doch egal wo ich diesen befehl einfüge (ich habe bisher wirklich alles probiert), es klappt nicht! immer kommt das fenster wo man noch auf spawn klicken muss. benötige dringend hilfe!
hier das login:
stock Login(playerid,key[])
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
{
SpawnPlayer(playerid);
SendClientMessage(playerid,BLAU,"Du hast dich erfolgreich angemeldet.");
SpielerLaden(playerid);
return 1;
}
else
{
SendClientMessage(playerid,ROT,"Dein Passwort ist falsch. Du wurdest vom Server gekickt!");
Kick(playerid);
}
return 1;
}wieso klappt es nicht? es zeigt keine errors an.
-
es kann sein das der server sozusagen von sich selbst keine rechte hat.
beim registervorgang muss der server ja eine datei ERSTELLEN, in der die daten des spielers gespeichert sind. diese rechte musst du dem server erst geben.
ich habe das ganze mit filezilla gemacht. hierzu drückst du rechtsklick auf den ordner, in dem der server liegt und gehst auf dateiberechtigungen. nun überall einen hacken machen, auch bei "unterverzeichnisse einbeziehen". schließlich noch die zahl 777 in das textfeld schreiben und ok drücken.
einen moment warten, bis er die akiton durchgeführt hat und dann den server starten. müsste eig klappen. -
kann ich auch in einem stock nach folgendem prinzip vorgehen?
stock busLS
{
SetPlayerCheckpoint( blablabal^^);
if(IsPlayerInRangeOfPoint( blabla)
{
DisablePlayerCheckpoint(playerid);
return 1;
}
SetPlayerCheckpoint( blablabal^^);
if(IsPlayerInRangeOfPoint( blabla)
{
DisablePlayerCheckpoint(playerid);
return 1;
}
}//EDIT omg, is ja totaler denkfehler xD woher soll der wissen, wann der nächste kommt
na ja, das oben versteh ich nicht ganz...
gibts noch andere möglichkeiten?