new Lohn = random(500) + 500;
Minimal 0+500=500
Maximal 500+500=1000
new Lohn = random(500) + 500;
Minimal 0+500=500
Maximal 500+500=1000
Perfekt, Danke!
Dann solltest du vielleicht mal Stunden und Minuten deklarieren.
Nicht 100%-ig
Alles anzeigen
new Stunden, Minuten;
if(pickupid == InteriorEnters[7])
{
SetPlayerPos(playerid,1400.4557,18.6532,1000.6924);
SetPlayerTime(playerid,22,0);
GetPlayerTime(playerid, Stunden, Minuten);
}
if(pickupid == InteriorExits[7])
{
SetPlayerPos(playerid,1392.4982,-44.6509,1000.9224);
SetPlayerTime(playerid,Stunden,Minuten);
}
Werde mich demnächst besser ausdrücken. Danke euch
Und schon folgt die nächste Frage:
Habe 2 Filterscripts erstellt, Paketbote und Zeitungsjunge.
Beide nach gleichem System mit dem Abfahren von Checkpoints und bei Erreichen der Parkposition wird der Spieler aus dem Fahrzeug entfernt.
Mein Problem liegt jetzt darin, dass ich den Job als Zeitungsjunge einwandfrei abfahren kann, aber bei dem Paketboten schmeißt er mich, bei Erreichen des ersten Checkpoints, sofort aus dem Auto und zeigt die Nachricht an, die am Ende vom Zeitungsjungenjob eintritt.
Gibts da irgendein globales Problem, dass er die Checkpoints der beiden Fliterscripts verwechselt oder braucht ihr unbedingt die beiden, fehlerfreien Scripts ums euch anzusehen?
Bleibt das Fahrzeug dann am letzten Checkpoint stehen und du wirst rausgeschmissen oder verschwindet das Fahrzeug?
Der Script wäre schon gut, am besten beim letzten Checkpoint des Paketboten.
new waffe = GetPlayerWeapon(playerid);
if(waffe == 1 || waffe == 2 || waffe == 3 || waffe == 4 || waffe == 5| waffe == 6 || waffe == 7 || waffe == 8 || waffe == 9 || waffe == 10
|| waffe == 11 || waffe == 12 || waffe == 13 || waffe == 14 || waffe == 15 || waffe == 16 || waffe == 17 || waffe == 18 || waffe == 19 || waffe == 20
|| waffe == 21 || waffe == 22 || waffe == 23 || waffe == 24 || waffe == 25 || waffe == 26 || waffe == 27 || waffe == 28 || waffe == 29 || waffe == 30
|| waffe == 31 || waffe == 32 || waffe == 33 || waffe == 34 || waffe == 35 || waffe == 36 || waffe == 37 || waffe == 38 || waffe == 39 || waffe == 40
|| waffe == 41 || waffe == 42 || waffe == 43 || waffe == 43 || waffe == 46)
{
errors:
Zeile (2) : warning 212: possibly unintended bitwise operation
Zeile (2) : Variable wurde falsch definiert (Float,Integer[...])
Ich fahre auf den CP zu, werd rausgeschmissen und das Auto rollt weiter, nach gewisser Zeit respawnt es dann wieder an der angedachten Position.
Hier der letzte Checkpoint vom Paketboten:
public OnPlayerEnterCheckpoint(playerid)
{
new Lohn = random(500)+500;
new string[256];
(... hier sind die vorigen Checkpoints! )
else if(Checkpointp[playerid] == 10)
{
DisablePlayerCheckpoint(playerid); //FCP10
SendClientMessage(playerid,gruen,"|--Du hast den Job als Paketbote erfolgreich beendet!");
GivePlayerMoney(playerid,Lohn);
format(string, sizeof(string), "|--Dir wurden %d$ gutgeschrieben.",Lohn);
SendClientMessage(playerid,geldgruen,string);
Pmission[playerid] = 0;
RemovePlayerFromVehicle(playerid);
}
return 1;
}
Tommyx3 warum so umständlich?
if(waffe <= 1 && waffe <= 43 || waffe == 46)
ZitatIch fahre auf den CP zu, werd rausgeschmissen und das Auto rollt weiter, nach gewisser Zeit respawnt es dann wieder an der angedachten Position.
Du müsstest schon dazu sagen was daran nicht richtig ist^^
//E: arr danfai war schneller
i-wie klappt das nicht.. habe oben:
#define GivePlayerWeapon GivePlayerWeaponEx
aber bekomme keine waffe :s
stock GivePlayerWeaponEx(playerid, weapon, ammo)
{
Weapon[playerid]++;
return GivePlayerWeapon(playerid, weapon, ammo);
}
Der endet in einer Endlosschleife, da du immer wieder die selbe Funktion aufrufst!
Du hast GivePlayerWeapon nicht mehr, da du es umdefinierst hast.
achso fail :o
danfai:
Ich weiß, das ist auch so gedacht, dass der Spieler bei Erreichen der Parkposition das Auto automatisch verlässt... Mein Problem ist aber, dass der Server mir erlaubt den Paketbotenjob anzunehmen, mir den ERSTEN CP anzeigt, ich hinfahre und der Server dann quasi das gesamte Ende vom Zeitungsjungenjob anwendet, also mich aus dem Auto rausschmeißen, mir Gehalt überweisen und die Nachricht des erfolgreichen Beendens, schickt.
maddin: Ein paar Posts weiter oben(bzw auch hier in diesem) findest du eine detaillierte Beschreibung.
Kann es vielleicht sein, dass der CheckPoint mit der ID 10 der erste CheckPoint ist, der dem Paketenjob angehört?
Eine Empfehlung um meiner Vermutung vorzubeugen:
Benutze anstatt von genauen Werten (zB 10) eine Variable oder ein Array (zB CP10 oder CP[10])
Ansonsten benötige ich mehr Code, vor allem die Erstellung der CheckPoints.
/EDIT: Rechtschreibung
stock BanPlayer(playerid, Reason[], AdminID)
{
//Anfang
format(MySQL_Query,sizeof(MySQL_Query),"INSERT INTO `bans` (Banname, Banreason, Admin) VALUES ('%s','%s','%s')",BanName,Reason,AdminName);
mysql_query(MySQL_Query);
//Rest
return 1;
}
Kann mir jmd sagen, warum das nicht funktioniert?
//Edit: also wenn ich dann aus der tabelle etwas auslesen möchte, wird angezeigt, dass die leer ist
Dir fehlt Ban(playerid);
Es geht um den mysql teil, den rest hab ich ja rausgenommen
Hier die wichtigen Ausschnitte aus dem Script:
new CheckpointZj[MAX_PLAYERS];
new Zjmission[MAX_PLAYERS];
forward Zjmissionfail(playerid);
forward RemovePlayerZj(playerid);
AddStaticVehicle(481,2148.2803,-1761.2505,13.0660,315.7883,46,46); // Zjbike 1
public OnPlayerCommandText(playerid, cmdtext[])
{
new vehicleid = GetPlayerVehicleID(playerid);
new model = GetVehicleModel(vehicleid);
if (strcmp("/Zeitungsjunge", cmdtext, true, 10) == 0)
if(IsPlayerInRangeOfPoint(playerid,10.0,2146.4231,-1759.4010,13.5488))
{
if(model == 481)
{
SendClientMessage(playerid, gruen, "|--Du bist nun Zeitungsjunge in Ganton.");
SendClientMessage(playerid, gruen, "|--Fahr entlang der angezeigten Route");
SendClientMessage(playerid, gruen, "|--und liefer dort deine Zeitungen ab.");
SetPlayerCheckpoint(playerid,2154.3518,-1789.3604,13.0862,5.0);
CheckpointZj[playerid] = 11;
Zjmission[playerid] = 1;
return 1;
}
else
{
SendClientMessage(playerid, 0xCC7733FF, "**Du sitzt auf keinem Fahrrad für Zeitungsjungen!");
}
}
else if(model == 481)
{
SendClientMessage(playerid, 0xCC7733FF, "**Du befindest dich nicht an der Startposition.");
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
new randomtrinkgeld = random(2)-1;
new Trinkgeld = random(15);
new string[256];
if(CheckpointZj[playerid] == 11)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,2153.5623,-1807.8582,13.1118,5.0); //CP1
CheckpointZj[playerid] = 12;
if(randomtrinkgeld != 0)
{
}
else if(randomtrinkgeld != 1)
{
GivePlayerMoney(playerid,Trinkgeld);
format(string, sizeof(string), "|--Du hast %d$ Trinkgeld erhalten.",Trinkgeld);
SendClientMessage(playerid,geldgruen,string);
}
}
else if(CheckpointZj[playerid] == 12)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,2142.9766,-1761.1207,13.5508,5.0); //CP1
CheckpointZj[playerid] = 13;
if(randomtrinkgeld != 0)
{
}
else if(randomtrinkgeld != 1)
{
GivePlayerMoney(playerid,Trinkgeld);
format(string, sizeof(string), "|--Du hast %d$ Trinkgeld erhalten.",Trinkgeld);
SendClientMessage(playerid,geldgruen,string);
}
SendClientMessage(playerid, gruen, "Fahr´ zurück und stell dein Fahrrad in der Markierung ab.");
}
else if(CheckpointZj[playerid] == 13)
{
DisablePlayerCheckpoint(playerid); //CP10
SendClientMessage(playerid,gruen,"|--Du hast deine Arbeit als Zeitungsjunge erfolgreich beendet!");
GivePlayerMoney(playerid,500);
SendClientMessage(playerid,geldgruen, "|--Dir wurden 500$ Gehalt gutgeschrieben.");
Zjmission[playerid] = 0;
RemovePlayerFromVehicle(playerid);
}
return 1;
}
public Zjmissionfail(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new model = GetVehicleModel(vehicleid);
if(model == 481)
{
}
else
{
SendClientMessage(playerid,rot,"**Job als Zeitungsjunge gescheitert!");
DisablePlayerCheckpoint(playerid);
Zjmission[playerid] = 0;
}
return 1;
}
public RemovePlayerZj(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new model = GetVehicleModel(vehicleid);
if(model == 481)
if(Zjmission[playerid] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,rot,"**Du hast keinen Job als Zeitungsjungen gestartet!");
}
return 1;
}
EDIT: Der Paketboten-Script ist genau so aufgebaut wie dieser hier, nur ohne die Trinkgeldfunktion.
danfai:
Die beiden Scripts an sich sind auch fehlerfrei und machen keine Probleme beim compilen. Mein Problem besteht weiterhin dadrin, dass der Server die 2 Filterscripts verwechselt. Der Zeitungsjungenjob geht einwandfrei, aber starte ich den Paketbotenjob, geht erst alles richtig, also Nachrichten,etc. und wenn ich den 1.CP erreiche dann kommt quasi das Ende vom Paketbotenjob, sprich er schmeißt mich aus dem Fahrzeug, gibt mir Geld und sagt, ich hätte den Job des Zeitungsjungen erfolgreich beendet.