if(strcmp(botname, "Bodyguard", true))
{
PutPlayerInVehicle(playerid,/*ID des Wagens*/,1);
}
Beiträge von LaT3St
-
-
-
Stell mal abfrage rein was passiert wenn man ins gelockte fahrzeug steigen will
-
ich hab mich mal an ein randomcode versucht was jz aber nich läuft
for(new i=0;i<15;i++)
{
new rand = random(sizeof(SecurityCodeRandom));
new string2[1];
format(string2,sizeof string2,"%s",SecurityCodeRandom[rand][0]);
format(string,sizeof string,"%s%s",string,string2);
}
SendClientMessage(playerid,COLOR_WHITERED,"Schreibe dir diesen Code sofort auf! Du brauchst ihn um im Notfall das Passwort zurückzusetzen!");
format(Spieler[playerid][SecurityCode], 32, "s", string);
SendClientMessage(playerid,COLOR_WHITERED,string);
Pawno gibt keine errs aber der Code wird nicht erstellt.
was ist falsch?
http://forum.sa-mp.de/wbb/san-…hand-nehmen-m%C3%B6glich/ -
klar
hier der Streamer:
http://forum.sa-mp.com/showthread.php?t=102865hier der dazupassende MapConvertor:
http://www.convertffs.com/ -
bei createobject am ende noch das streamradius einfügen (max. 250)
-
updatet mal auf 0.3b und holt euch einen Streamer für diese version
-
ok tatsache mit den abfragen hast du recht bei meiner dinittheroie bleib ich trotzdem
-
wenn nun bei der zweiten abfrage b_time auf 0 gesetzt wird und danach die ist b_time unter 60 abfrage läuft setzt die abfrage also doch b_time wieder auf eins
//edit: Dini hat aber bei mir trotz 4GB Ram nicht gespeichert aufgrund von zuvielen daten (waren auch nur 30zeilen) -
Also das hilft beim Problem warscheinlich nix aber nutz mal bloß nich Dini, das speichert sehr langsam, so geht das voll in die Hose
//edit: Die zweite if abfragen nutzt garnix, was heißt das Dini doch jede minute speichert und das überlasstet den Server
-
dcmd_nehmen(playerid,params[])
{
new name[512];
new zname[512];
new string[512];
new string1[512];
new ziel;
new aktion[50];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(ziel, zname, sizeof(zname));
new save[128];
format(save,sizeof(save),"/Acc/%s.ini",zname);if(gTeam[playerid] == 1 || gTeam[playerid] == 2 || gTeam[playerid] == 5)
{
if(sscanf(params, "s[512]u", aktion,ziel))
{
SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /nehmen [Aktion] [ID]");
SendClientMessage(playerid,COLOR_YELLOW,"Aktionen: Führerschein, Motorradschein, Bootsschein, Flugschein, Waffen");
return 1;
}
if(IsPlayerConnected(ziel))
{
new Float:px, Float:py, Float:pz;
GetPlayerPos(ziel, px, py, pz);
if(!strcmp(aktion,"Führerschein",true))
{
if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
{
Scheine[ziel][Auto]=0;
format(string1, sizeof(string1), "Du hast %s´s Führerschein abgenommen!", zname);
SendClientMessage(playerid, COLOR_WHITE, string1);
format(string, sizeof(string), "%s hat Führerschein abgenommen!", name);
SendClientMessage(ziel, COLOR_WHITE, string);
dini_IntSet(save, "AutoSchein", Scheine[ziel][Auto]);
return 1;
}
}
if(!strcmp(aktion,"Motorradschein",true))
{
if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
{
Scheine[ziel][Motorrad]=0;
format(string1, sizeof(string1), "Du hast %s´s Motorradschein abgenommen!", zname);
SendClientMessage(playerid, COLOR_WHITE, string1);
format(string, sizeof(string), "%s hat Motorradschein abgenommen!", name);
SendClientMessage(ziel, COLOR_WHITE, string);
dini_IntSet(save, "MRadSchein", Scheine[ziel][Motorrad]);
return 1;
}
}
if(!strcmp(aktion,"Bootsschein",true))
{
if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
{
Scheine[ziel][Boot]=0;
format(string1, sizeof(string1), "Du hast %s´s Bootsschein abgenommen!", zname);
SendClientMessage(playerid, COLOR_WHITE, string1);
format(string, sizeof(string), "%s hat Bootsschein abgenommen!", name);
SendClientMessage(ziel, COLOR_WHITE, string);
dini_IntSet(save, "BootSchein", Scheine[ziel][Boot]);
return 1;
}
}
if(!strcmp(aktion,"Flugschein",true))
{
if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
{
Scheine[ziel][Flugzeug]=0;
format(string1, sizeof(string1), "Du hast %s´s Flugschein abgenommen!", zname);
SendClientMessage(playerid, COLOR_WHITE, string1);
format(string, sizeof(string), "%s hat Flugschein abgenommen!", name);
SendClientMessage(ziel, COLOR_WHITE, string);
dini_IntSet(save, "FlugSchein", Scheine[ziel][Flugzeug]);
return 1;
}
}
if(!strcmp(aktion,"Waffen",true))
{
if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
{
ResetPlayerWeapons(ziel);
format(string1, sizeof(string1), "Du hast %s entwaffnet!", zname);
SendClientMessage(playerid, COLOR_WHITE, string1);
format(string, sizeof(string), "%s hat dich entwaffnet!", name);
SendClientMessage(ziel, COLOR_WHITE, string);
dini_IntSet(save, "AutoSchein", Scheine[ziel][Auto]);
return 1;
}
}
}
else{ return SendClientMessage(playerid, COLOR_WHITE, "Diese ID ist nicht online!");}
}
else{ return SendClientMessage(playerid, COLOR_WHITE, "Du kannst das nicht!");}
return 1;
}Returns falsch gesetzt, immer da returnen wo etwas zurückgegeben werden muss (bsp: SetPlayerPos(...);) und nich zwischen den Abfragen!
-
xivo: das is ebenfalls falsch
-
//edit: oben isses falsch
if(strcmp("/sanfierro", cmdtext, true, 10) == 0)
{
if(Spieler[playerid][adminlevel] >= 1)
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0)
{
new vehid = GetPlayerVehicleID(playerid);
SetPlayerPos(playerid,-1981.2587,137.4339,27.6875);
SetPlayerFacingAngle(playerid,92.3396);
SetVehicleZAngle(vehid,92.3396);
SetVehiclePos(vehid,-1981.2587,137.4339,27.6875);
PutPlayerInVehicle(playerid,vehid,0);
}
else
{
SetPlayerPos(playerid,-1981.2587,137.4339,27.6875);
SetPlayerFacingAngle(playerid,92.3396);
}
}
return 1;
}
//geupdatet -
Läuft, Danke.
@ Schnacke: Variable=Inhalt
-
entweder:
#define Message "Hier dein Text"
oder direkt:
ShowPlayerDialog(playerid,dialogid,style,"Überschrift","Hier dein Text","Weiter","Abbrechen");
ungetestet müsste aber fehler beheben
-
400 Objekte sind im neuen 0.3b maximum
-
RFT: Warum habe ich zwei Verwarnungen für einen Doppelpost bekommen?
Hier mal Registersys:
case DIALOG_LOGIN:
{
if(response == 1)
{
if (!strlen(inputtext))
{
new string[128];
format(string,sizeof string,"Hallo %s!\nDu musst dich erst einloggen bevor du spielen kannst.\nPasswort:",pname);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login",string,"Login","Vergessen");
SendClientMessage(playerid, COLOR_BLUE, "Du hast kein Passwort angegeben!");
return 1;
}
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
{
dini_Set(accFormat,"Passwort",Spieler[playerid][Passwort]);
dini_Set(accFormat,"SecurityCode",Spieler[playerid][SecurityCode]);
Spieler[playerid][Skin] = dini_Int(accFormat,"Skin");
Spieler[playerid][LastX] = dini_Float(accFormat,"LastX");
Spieler[playerid][LastY] = dini_Float(accFormat,"LastY");
Spieler[playerid][LastZ] = dini_Float(accFormat,"LastZ");
Spieler[playerid][Money] = dini_Int(accFormat,"Money");
Spieler[playerid][Admin] = dini_Int(accFormat,"Admin");
Spieler[playerid][Team] = dini_Int(accFormat,"Team");
Spieler[playerid][Logged] = true;
SendClientMessage(playerid,COLOR_BLUE,"Du wurdest erfolgreich eingeloggt!");
SpawnPlayer(playerid);
}
else
{
new string[128];
format(string,sizeof string,"Hallo %s!\nDu musst dich erst einloggen bevor du spielen kannst.\nPasswort:",pname);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login",string,"Login","Vergessen");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist nicht korrekt, klicke auf `Vergessen` wenn du es nichtmehr weißt!");
}
}
}
case DIALOG_REGISTER:
{
new string[128];
if(!strlen(inputtext))
{
format(string,sizeof string,"Hallo %s!\nDu musst dich erst einloggen bevor du spielen kannst.\nPasswort:",pname);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Registration",string,"Registration","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Für die Registration musst du erst ein Passwort angeben!");
}
sscanf(inputtext,"s",string);
Spieler[playerid][Passwort] = string;
Spieler[playerid][Logged] = true;
SendClientMessage(playerid,COLOR_BLUE,"Dein Account wurde nun angelegt, du wurdest außerdem automatisch eingeloggt!");
pFirstSpawn[playerid] = true;
SpawnPlayer(playerid);
} -
sry 4 doppelpost
Weiß niemand enine Lösung?
2 Frage ich möchte ein Koffer(wenn möglich der aus dem Intro im Singleplayer) in der Hand halten lassen geht das?
-
Mein enum:
enum spieler_enum
{
Passwort[128],
SecurityCode[128],
Money,
Admin,
Team,
Skin,
Float:LastX,
Float:LastY,
Float:LastZ,
Float:LastAngle,
bool:Logged,
}Das ganze Disconnect Callback:
public OnPlayerDisconnect(playerid, reason)
{
new accFormat[68], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof pname);
GetPlayerFacingAngle(playerid,Spieler[playerid][LastAngle]);
GetPlayerPos(playerid,Spieler[playerid][LastX],Spieler[playerid][LastY],Spieler[playerid][LastZ]);
format(accFormat,sizeof accFormat,"%s.ini",pname);
INI_Remove(accFormat);
dini_Create(accFormat);
INI_Open(accFormat);
INI_WriteInt("Money",Spieler[playerid][Money]);
INI_WriteInt("Admin",Spieler[playerid][Admin]);
INI_WriteInt("Skin",Spieler[playerid][Skin]);
INI_WriteInt("Team",Spieler[playerid][Team]);
INI_WriteFloat("LastX",Spieler[playerid][LastX]);
INI_WriteFloat("LastY",Spieler[playerid][LastY]);
INI_WriteFloat("LastZ",Spieler[playerid][LastZ]);
INI_WriteFloat("LastAngle",Spieler[playerid][LastAngle]);
INI_WriteString("Passwort",Spieler[playerid][Passwort]);
INI_WriteString("SecurityCode",Spieler[playerid][SecurityCode]);
INI_Save();
INI_Close();
return 1;
} -
Wie die überschrift bereits erklärt, speichert mein Login Register System die letzten Koordinaten und Passwörter nicht.
INI_Remove(accFormat);
dini_Create(accFormat);
INI_Open(accFormat);
INI_WriteInt("Money",Spieler[playerid][Money]);
INI_WriteInt("Admin",Spieler[playerid][Admin]);
INI_WriteInt("Skin",Spieler[playerid][Skin]);
INI_WriteInt("Team",Spieler[playerid][Team]);
INI_WriteFloat("LastX",Spieler[playerid][LastX]);
INI_WriteFloat("LastY",Spieler[playerid][LastY]);
INI_WriteFloat("LastZ",Spieler[playerid][LastZ]);
INI_WriteFloat("LastAngle",Spieler[playerid][LastAngle]);
INI_WriteString("Passwort",Spieler[playerid][Passwort]);
INI_WriteString("SecurityCode",Spieler[playerid][SecurityCode]);
INI_Save();
INI_Close();Was kann ich tun?