Ja allerdings Weil dir wird dein Geld entzogen und dir wieder gegeben. Spiele einen Bot auf deinen Server und versuche es an ihm
Beiträge von D4rkCl3ric
-
-
So einen Fehler hatte ich auch mal, Bei mir lag es an "SetVehicleNumberPlate", als ich das weg genommen habe ging alles wieder
-
Perfekt.
Also zu erst schreibst du folgendes ganz oben hin:
new Maskiert[MAX_PLAYERS] = 0;nun zu dem Befehl welchen der Spieler benutzen muss um sich eine Maske aufzusetzen/abzunehmen (z.B /maske):
if(strcmp(cmdtext,"/maske",true) == 0)
{
if(Maskiert[playerid] == 0)
{
// Hier kannst du noch nen Text hinzufügen wie z.B SendClientMessage(playerid,COLOR,"Zieht die Maske an");
Maskiert[playerid] = 1;
return 1;
}
else if(Maskiert[playerid] == 1)
{
// Hier kannst du noch nen Text hinzufügen wie z.B SendClientMessage(playerid,COLOR,"Nimmt die Maske ab");
Maskiert[playerid] = 0;
return 1;
}
}Nun kommen wir zum letzten Punkt:
if (realchat)
{
if(gPlayerLogged[playerid] == 0)
{
return 0;
}
/*if(PlayerInfo[playerid][pTot] == 1)
{
return 0;
}*/
GetPlayerName(playerid, sendername, sizeof(sendername));
if(Maskiert[playerid] == 1)
{
format(string, sizeof(string), "Maskierter sagt: %s", text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
format(string, sizeof(string), "%s",text);
SetPlayerChatBubble(playerid,string,0xFF0000FF,15,10000);
return 0;
}
else
{
format(string, sizeof(string), "(%d)%s sagt: %s", playerid,sendername, text);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
format(string, sizeof(string), "%s",text);
SetPlayerChatBubble(playerid,string,0xFF0000FF,15,10000);
return 0;
}
}MfG.
D4rkCl3ric -
/*
Natürlich nicht, weil du selbst "playerid" bist und nicht pID
Der Spieler der den Befehl ausführt = playerid
Der Spieler der geheilt werden soll = pIDGivePlayerMoney(mID,pID);
Diese Zeile bedeutet so viel wie, dass wenn der Preis z.B 200$ beträgt, die 200$ die pID bekommen ( NO LOGIC )GivePlayerMoney(playerid,mID);
dann wirst du auch das Geld bekommen*/
H4rd_B4se war schnellerDu machst ganz einfach eine Abfrage:
if(mID > 900) return SendClientMessage(playerid,COLOR,"Du darfst nicht über 900$ verlangen"); -
Poste einfach die komplette schleife dort wo auch drinnen steht "%s sagt: %s", dannach kann ich dir weiterhelfen. Oder du versuchst es selbst und machst es wie Eric_HD es schon gesagt hat.
new Maskiert[MAX_PLAYERS];
if(Maskiert[playerid] == 1)
{
format(string, sizeof(string),"Maskierter sagt: %s", Text); // Text bleibt gleich, ist eine vordefinierte Variable von "OnPlayerText"
SendClientMessage(playerid,COLOR,string);
return 1;
}
else
{
format(string, sizeof(string),"%s sagt: %s", GetPlayerName(playerid),Text);
SendClientMessage(playerid,COLOR,string);
return 1;
} -
Versuch es hiermit, klappt bei mir einwandfrei:
AddStaticPickup(Model , Typ, X, Y, Z, -1);
-
Im Prinzip ist es nichts anderes als das was bei dir unter OnPlayerText steht "%s sagt: %s"
also das einzige was man brauchen könnte wäre OnPlayerText -
Ahm, nein das ist kein Blödsinn, ist getestet und funktioniert sogar Einwandfrei
An deine Methode habe ich am Anfang auch gedacht, trotzdem sollte man CP[playerid] auf 1 setzen BEVOR die Abfrage danach kommt, sonst kommt man ja niemals in die Schleife -
Oder du änderst etwas unter dem Befehl /carkey
Der Schlüssel wird ja normalerweise wenn er bei dem 3. Schlüssel angelangt ist auf 1 gesetzt. Wenn der Spieler nun aber Premium User ist dann gib ihm einfach 2 schlüssel mehr.
Das heißt:
if(PlayerInfo[playerid][pDonateRank] == 0 && Carkey == 3) // Carkey umändern auf den Schlüssel, ich weiß nicht wie du ihn definiert hast
{
Carkey = 1;
return 1;
}
else if(PlayerInfo[playerid][pDonateRank] > 0 && Carkey == 5)
{
Carkey = 1;
return 1;
}Zwar ungetestet aber rein vom Theoretischen Hintergrund sollte es einwandfrei klappen.
PS: Ich glaube ganz oben gibt es eine Definition für "MAX_PLAYER_VEHS" oder so// Edit return + Text
-
Ich empfehle die einfachste Methode:
unter OnDialogResponse:
if(dialogid == DIALOG_HILFE)
{
if(response)
{
switch(listitem)
{
case 0:
{
// Hier wird das 1. Element ausgesucht, in deinem Fall: "Teleport-Befehle"
}
case 1:
{
// Hier das 2. Element: "Normale-Befehle"
}
// usw.
}
}
}
Das Einrücken wirst du allerdings selbst machen müssenMfG.
D4rkCl3ric -
Versuch ganz einfach mal unter "OnPlayerEnterCheckpoint" eine Abfrage zu starten:
if(IsPlayerInRangeOfPoint(playerid,2.0,x,y,z))
{
// Hier kriegt er das Geld
} -
Sieht ziemlich richtig aus, auf den 1. Blick
Nur empfehle ich anstatt "break;" ein "return 1;" -
Tatsächlich! Ich danke dir für deine schnelle Antwort
-
public OnPlayerEnterVehicle(playerid, ispassenger)
{
if(GetVehicleModel(vehicleid) == 407)
{
SendClientMessage(playerid, COLOR_YELLOW, "___________________________________________________________________");
SendClientMessage(playerid, COLOR_GREEN, " Du kannst den Motor mit /motor ein und abschalten. ");
SendClientMessage(playerid, COLOR_YELLOW, "___________________________________________________________________");
}
return 1;
}
mfg.
D4rkCl3ric -
Hallo,
Ich habe schon auf einigen SAMP Servern gesehen wie z.B ein BSN Bot essen verkauft mit dem Menü und alles (wie im SinglePlayer). Nun zu meiner Frage: Ist das jetzt ein ganz gewöhnlicher Bot welcher dort steht und nur Recordet wurde oder gibt es für diesen Bot einen eigenen Befehl (wenn Ja, bitte um weitere Erklärung)?
Ich danke schonmal im Vorraus für jede Antwort und Hilfe -
1. du musst die Job Fahrzeuge anlegen z.B in einem Array:
new Jobfahrzeuge[19] // wenn es 20 Fahrzeuge sind
2. Die Jobfahrzeuge musst du definieren:
Jobfahrzeug[0] = AddStaticVehicleEx(modelid,x,y,z,Angle,color1,color2,-1);
Jobfahrzeug[1] = AddStaticVehicleEx(modelid,x,y,z,Angle,color1,color2,-1); // usw.3. Sie respawnen lassen
ocmd:jobrespawn(playerid, params[])
{
SendClientMessage(playerid, GRÜN, "Du hast alle Job-Fahrzeuge respawnt!");
for(new i; i <= sizeof(Jobfahrzeuge); i++)
{
SetVehicleToRespawn(Jobfahrzeuge[i]);
}
return 1;
}Das einrücken wirst du selbst machen müssen Aber das solltest du hoffentlich schon schaffen
mfg.
D4rkCl3ric -
Es gibt 2 Ordner. den Include ordner im Hauptordner (wo es auch Gamemodes, Filterscripts, usw. gibt) und den 2. welchen du benötigen wirst zum compilen: Pawno -> Include
-
Den Fehler hatte ich auch mal:
Bei mir war es bei LOH v0.4, da habe ich mal einen SAMP 0.3c Befehl eingefügt ( SetVehicleNumberPlate ) und schon stand bei mir Unknown Gamemode,
Was du aber versuchen kannst ist in deiner pawno datei folgendes unter "OnGameModeInit" einzufügen:
SetGameModeText("Dein Super Gamemode ;)"); -
Schick uns mal deine Zeile 43478
-
Klammer zu, es zieht
if(newstate == PLAYER_STATE_DRIVER )