ForceClassSelection(playerid);
TogglePlayerSpectating(playerid, true);
TogglePlayerSpectating(playerid, false);
Beiträge von Key
-
-
Du kannst doch unter OnPlayerSpawn ( passiert, wenn man auf 'Spawn' drückt ) prüfen ob GetPlayerSkin z.B. der CopSkin ist & man NICHT in der Fraktion ist, wenn ja, wird man wieder zur Skinauswahl geschickt.
-
Die Frage ist mir zwar irgendwie peinlich, weil das eigentlich eine total einfache Sache ist, aber ich bin voll am verzweifeln. :O Ich bin halt gerade dabei ein Fahrzeugsys zu schreiben, und möchte wenn man in ein definiertes Fahrzeug steigt, ein Dialog angezeigt wird, ist ja kein Ding, hab ich auch schon oft gemacht, geht aber irgendwie heute nicht...
new WangCars[6]; // <- Oben
// OnGameModeInit ->
WangCars[0] = AddStaticVehicle(551,-1950.2410,261.1150,35.2693,57.4005,0,0); // WangCarsMerit1 3600
WangCars[1] = AddStaticVehicle(587,-1957.0510,301.2330,35.1959,126.2591,0,0); // WangCarsEuros2 12000
WangCars[2] = AddStaticVehicle(405,-1953.3810,271.6151,35.3462,296.7669,0,0); // WangCarsSentinel3 4500
WangCars[3] = AddStaticVehicle(426,-1948.2458,258.8360,40.7939,64.3357,0,0); // WangCarsPremier4 8000
WangCars[4] = AddStaticVehicle(527,-1947.7010,269.9408,40.7687,121.3537,0,0); // WangCarsCadrona5 1300
WangCars[5] = AddStaticVehicle(540,-1956.3584,281.8741,40.9079,179.8739,0,0); // WangCarsVincent6 6000public OnPlayerStateChange(playerid, newstate, oldstate)
{
new string[128];
new vID;
vID = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
for(new i=0;i<sizeof(WangCars);i++)
{
if(vID == WangCars[i])
{
format(string,sizeof string,"Willkommen bei WangCars!\nMöchtest du dieses Fahrzeug erwerben?\nFahrzeugname: %s\nPreis: %d€",CarName[vID-400],kaufpreis[vID]);
ShowPlayerDialog(playerid,DIALOG_WANGCARS,DIALOG_STYLE_MSGBOX,"WangCars",string,"Kaufen","Abbrechen");
TogglePlayerControllable(playerid,0);
preisid[playerid] = kaufpreis[vID];
idpreis[playerid] = GetVehicleModel(vID);
}
else return SendClientMessage(playerid,ROT,"Ist es nicht!");
}
}
return 1;
}Unter OnVehicleSpawn hab ich noch das, ist aber eig. unwichtig:
public OnVehicleSpawn(vehicleid)
{
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[vehicleid] = false;
if(vehicleid == WangCars[0])
{
kaufpreis[vehicleid] = 3600;
}
else if(vehicleid == WangCars[1])
{
kaufpreis[vehicleid] = 12000;
}
else if(vehicleid == WangCars[2])
{
kaufpreis[vehicleid] = 4500;
}
else if(vehicleid == WangCars[3])
{
kaufpreis[vehicleid] = 8000;
}
else if(vehicleid == WangCars[4])
{
kaufpreis[vehicleid] = 1300;
}
else if(vehicleid == WangCars[5])
{
kaufpreis[vehicleid] = 6000;
}
return 1;
}Das oben mit dem "Ist es nicht" hab ich nur zum Test gemacht, und es wird immer ist es nicht returnt außer bei WangCars[2], versteh ich nicht, da passiert einfach gar nichts!
Danke im Voraus.

Es wahrscheinlich eh nur'n kleiner dummer Fehler von mir.. <.< -
Sorry, bin dumm.

So:
new Float:health;
GetPlayerHealth(playerid,health);
if(health >= 100) return SetPlayerHealth(playerid,100); -
if(GetPlayerHealth(playerid) >= 100) return SetPlayerHealth(playerid,100);
Bei OnPlayerUpdate oder mit'm Timer abfragen.
-
Die Frage ist mir zwar irgendwie peinlich, weil das eigentlich eine total einfache Sache ist, aber ich bin voll am verzweifeln. :O Ich bin halt gerade dabei ein Fahrzeugsys zu schreiben, und möchte wenn man in ein definiertes Fahrzeug steigt, ein Dialog angezeigt wird, ist ja kein Ding, hab ich auch schon oft gemacht, geht aber irgendwie heute nicht...
new WangCars[6]; // <- Oben
// OnGameModeInit ->
WangCars[0] = AddStaticVehicle(551,-1950.2410,261.1150,35.2693,57.4005,0,0); // WangCarsMerit1 3600
WangCars[1] = AddStaticVehicle(587,-1957.0510,301.2330,35.1959,126.2591,0,0); // WangCarsEuros2 12000
WangCars[2] = AddStaticVehicle(405,-1953.3810,271.6151,35.3462,296.7669,0,0); // WangCarsSentinel3 4500
WangCars[3] = AddStaticVehicle(426,-1948.2458,258.8360,40.7939,64.3357,0,0); // WangCarsPremier4 8000
WangCars[4] = AddStaticVehicle(527,-1947.7010,269.9408,40.7687,121.3537,0,0); // WangCarsCadrona5 1300
WangCars[5] = AddStaticVehicle(540,-1956.3584,281.8741,40.9079,179.8739,0,0); // WangCarsVincent6 6000public OnPlayerStateChange(playerid, newstate, oldstate)
{
new string[128];
new vID;
vID = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
for(new i=0;i<sizeof(WangCars);i++)
{
if(vID == WangCars[i])
{
format(string,sizeof string,"Willkommen bei WangCars!\nMöchtest du dieses Fahrzeug erwerben?\nFahrzeugname: %s\nPreis: %d€",CarName[vID-400],kaufpreis[vID]);
ShowPlayerDialog(playerid,DIALOG_WANGCARS,DIALOG_STYLE_MSGBOX,"WangCars",string,"Kaufen","Abbrechen");
TogglePlayerControllable(playerid,0);
preisid[playerid] = kaufpreis[vID];
idpreis[playerid] = GetVehicleModel(vID);
}
else return SendClientMessage(playerid,ROT,"Ist es nicht!");
}
}
return 1;
}Unter OnVehicleSpawn hab ich noch das, ist aber eig. unwichtig:
public OnVehicleSpawn(vehicleid)
{
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[vehicleid] = false;
if(vehicleid == WangCars[0])
{
kaufpreis[vehicleid] = 3600;
}
else if(vehicleid == WangCars[1])
{
kaufpreis[vehicleid] = 12000;
}
else if(vehicleid == WangCars[2])
{
kaufpreis[vehicleid] = 4500;
}
else if(vehicleid == WangCars[3])
{
kaufpreis[vehicleid] = 8000;
}
else if(vehicleid == WangCars[4])
{
kaufpreis[vehicleid] = 1300;
}
else if(vehicleid == WangCars[5])
{
kaufpreis[vehicleid] = 6000;
}
return 1;
}Das oben mit dem "Ist es nicht" hab ich nur zum Test gemacht, und es wird immer ist es nicht returnt außer bei WangCars[2], versteh ich nicht, da passiert einfach gar nichts!
Danke im Voraus.

Es wahrscheinlich eh nur'n kleiner dummer Fehler von mir.. <.< -
Ich bin momentan auch dabei ein Selfmade zu scripten.
In diesem wird es auch keine Fraktionen geben, sondern ein Gewerbeamt, bei welchem man Gewerbe anmelden kann, dafür Steuer zahlt, und sein eigener Boss wird. So kann man seinen Ideen freien Lauf geben, dass System muss ich aber noch genauer durchplanen, damit es Erfolg hat. So etwas ähnliches könntest du ja auch machen! -
TextDrawShowForPlayer(playerid, GeldText[playerid]);So, hatte gleich 2 Fehler in einer Zeile. Fail. Bin zu müde, sry.

-
Unter dem ganzen Zeugs musst du noch TextDrawShowForPlayer(playerid,"GeldTex[playerid]"); machen.

-
Hast 'ne PN.

-
Hehe :D.
So mein ichs:
public GeldTimer(playerid)
{
new string[124];
new vgeld[MAX_PLAYERS];
vgeld[playerid] = GetPVarInt(playerid,"Geld");
format(string,sizeof string,vgeld[playerid]);
TextDrawSetString(GeldText[playerid],string);
}Mit SetPVarInt(playerid,"Geld",5000); o.ä. kannst du dann dem Spieler Geld hinzufügen/abziehen.
-
@BlackAce: Stimmt, danke.

HellFire: Ahh! Jetzt versteh ich.
Du musst eine neue Variable im Spielerenum / PVar erstellen mit dem Namen "Geld", beim GeldTimer die Variable abfragen ( GetPVarInt / SpielerInfo[playerid][Geld] etc. ) und die Geldvariable in ein String umwandeln ( Danke an Black!
) mit format. Wenn du's nicht hinbekommst mach ich das gleich mal. -
Versuchs mal so:
forward GeldTimer(playerid);
public GeldTimer(playerid)
{
TextDrawSetString(GeldText[playerid],GetPlayerMoney(playerid));
} -
http://lmgtfy.com/?q=ocmd.inc
Erstes Ergebnis. -
Vermutlich Klammerfehler, wenn du mir deine Teamviewer Daten per PN gibst, kann ich mal drüber schauen.
-
Ich glaube, du musst entweder: new Text:GeldText[MAX_PLAYERS]; oder PlayerTextDraw verwenden, da sonst jeder die selbe Menge an Geld hat, denk ich. Dann:
forward GeldTimer(playerid);
public GeldTimer(playerid)
{
new geld = GetPlayerMoney(playerid);
TextDrawSetString(GeldText[playerid],geld);
}edit: Oben dann natürlich anstatt GeldText immer GeldText[playerid] erstellen und das dann anstatt bei OnGameModeInit bei OnPlayerConnect createn.
-
Wenn du mir das per PN bisschen genauer erklärt ( welche Befehle etc. ) dann kann ich dir morgen was machen!
-
Kann man es irgendwie einbinden, wenn ein User connectet und ID 0 hat, das ihm automatisch ID 1 o.ä zugewiesen wird ?
Ich möchte aus bestimmten Gründen keinen mit ID 0 auf dem Server haben außer 1338 Admins
//OnPlayerConnect
if(playerid == 0)
{
playerid = 1;
}Oder geht das nicht?

-
Geil!

Meins: Verrückt nach Deine Mudda.
-
Wie finde ich die Pos heraus um Objekte an den Spieler zu "kleben"?
Mit dem Filterscript "attachements" von SAMP komm ich irgendwie nicht weit .