Die Nachricht gibt es in dem Befehl gar nicht. ![]()
Hast du das mit den Prints gemacht? Wenn ja, was kommt da raus und wie sieht der Befehl dann mit den ganzen prints aus?
Die Nachricht gibt es in dem Befehl gar nicht. ![]()
Hast du das mit den Prints gemacht? Wenn ja, was kommt da raus und wie sieht der Befehl dann mit den ganzen prints aus?
Wird es denn angezeigt, wenn Beifahrer und Fahrer wechseln? Sieht der Fahrer (der es zuvor nicht gesehen hat) dann den Text der an der Stelle ist?
Kommt denn das Unknown Command auch, wenn du nicht in Fraktion 2 bist und den Befehl verwendest?
Setze mal zwischen jede Zeile einen print mit einer Zahl.
Also so:
//Code
print("1");
//Code
print("2");
//Code
...
Welches ist die höchste Zahl die noch angezeigt wird?
Poste dann bitte den Befehl mit den ganzen prints wie du ihn hast.
Funktioniert es, wenn du es so schreibst?
stock IsAFightfacID(facID){
if((facID == 5 || facID == 6) || (facID >= 12 && facID <= 17) || facID == 23)
return 1;
return 0;
}
stock GetZoneColorOffacID(facID){
if(facID == 5) return 0x1400FFBB; // S.C.U
else if(facID == 6) return 0x282828BB; // Yakuza
else if(facID == 13) return 0x008000BB; // G.S.F
else if(facID == 14) return 0xB400FFBB; // Ballas
else if(facID == 12) return 0xB9FF00BB; // Wild Siders
else if(facID == 17) return 0x00C3FFBB; // S.F Rifa
else if(facID == 23) return 0xC8C8C8BB; // Russen Mafia
else return 0x550000BB; // NoN-Gang
}
stock GetfacIDNameOffacID(facID){
new facIDName[64];
if(facID == 5) format(facIDName,sizeof(facIDName),"S.C.U");
else if(facID == 6) format(facIDName,sizeof(facIDName),"Yakuza");
else if(facID == 13) format(facIDName,sizeof(facIDName),"Grove Street");
else if(facID == 14) format(facIDName,sizeof(facIDName),"Ballas");
else if(facID == 12) format(facIDName,sizeof(facIDName),"Wild Siders");
else if(facID == 17) format(facIDName,sizeof(facIDName),"S.F Rifa");
else if(facID == 23) format(facIDName,sizeof(facIDName),"Russen Mafia");
else format(facIDName,sizeof(facIDName),"NoN-Gang");
return facIDName;
}
Dr.House:
if(strcmp(cmd, "/roller", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,1241.1827,-1728.8977,13.5768))
{
if(UnrentRoller[playerid] == 0)
{
if(RentRoller[playerid] == 0)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new vehiclefid = CreateVehicle(462,1235.7366,-1728.6998,13.1698,359.5901,3,3,-1);
PutPlayerInVehicle(playerid, vehiclefid, 0);
SetVehicleNumberPlate(vehiclefid, name);
GivePlayerMoney(playerid,-100);
SendClientMessage(playerid, 0x4BFF00FF, "Du hast dir einen Roller für 100$ gemietet.");
SendClientMessage(playerid, 0x4BFF00FF, "Dein Roller wurde auf der Straße Gespawnt");
SendClientMessage(playerid, 0x4BFF00FF, "Viel Spaß mit dem Roller um ihn abzugeben");
SendClientMessage(playerid, 0x4BFF00FF, "Gebe /Rollerabgeben ein");
RentRoller[playerid] = vehiclefid;
}
else
{
SendClientMessage(playerid, RED, "Du hast schon einen Roller gemietet.");
}
}
}
return 1;
}
Ah, so sieht das aus.
Na dann mach das pragma wieder weg, lösche das szResult aus den Deklarationen und schreibe diese Zeile so:
cache_get_field_content(row, "Name", szPlayerName, MySqlConnection, sizeof(szPlayerName));
@Voxa:
Wie hast du szResult denn deklariert?
Und warum verwendest du es nirgends außer dort?
Wenn du es so lassen willst, dann nutze
#pragma unused szResult
Sizeof wird nicht als Verwendung gesehen, da es eine Konstante ist. Der Wert wird ja nicht verwendet, sondern dir Größe des Arrays.
Dann so:
Dann zeigt es die Textdraws an, sobald der Spieler /fahren gemacht hat und ein Beifahrer dabei ist.
Teste es so:
fcarcreate(sInfo[playerid][fraktion],ahCars[id][model],ahInfo[id][s_x],ahInfo[id][s_y],ahInfo[id][s_z],ahInfo[id][s_r],-1,-1);
Bekommst du die Glückwunsch Nachricht im Chat ausgegeben?
Cheevy.Shakur:
Sorry für die späte Antwort, habe den Thread in der Liste übersehen. Du darfst mich nächstes mal gerne via PN anschreiben. Ich versuche zwar immer auf alle Threads wieder zu antworten, aber manchmal kommt es leider auch vor, dass ich einen übersehe.
Kannst du mal den Code posten?
Dann würde ich es so machen:
public check_taxi(playerid,fahrerid)
{
new say[128],say1[128],say2[128],say3[128], kosten, Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
new Float:dist = floatsqroot(((player_pos[playerid][0]-x)*(player_pos[playerid][0]-x))+((player_pos[playerid][1]-y)*(player_pos[playerid][1]-y))+((player_pos[playerid][2]-z)*(player_pos[playerid][2]-z)));
player_distance[playerid]+=dist;
player_pos[playerid][0] = x;
player_pos[playerid][1] = y;
player_pos[playerid][2] = z;
payed[playerid] = floatround(player_distance[playerid]/500.0) * player_preis[fahrerid] + player_preis[fahrerid];
new geld = GetPlayerMoney(playerid);
if(geld < kosten) return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, warn, "Du hast nicht genug Geld!"),SendClientMessage(fahrerid, info, "Spieler hat nicht genug Geld!");
if(payed[playerid] > oldpayed[playerid])
{
kosten = payed[playerid] - oldpayed[playerid];
oldpayed[playerid] = payed[playerid];
fkm[playerid] += 1;
GivePlayerMoney(playerid,-kosten);
GivePlayerMoney(fahrerid,kosten);
}
//_______________Fahrer______________//
PlayerTextDrawShow(fahrerid, Textwarn[fahrerid]);
PlayerTextDrawShow(fahrerid, Textstatus[fahrerid]);
PlayerTextDrawShow(fahrerid, Textzustand[fahrerid]);
PlayerTextDrawShow(fahrerid, Job[fahrerid]);
PlayerTextDrawShow(fahrerid, Job1[fahrerid]);
PlayerTextDrawShow(fahrerid, StatusJob[fahrerid]);
format(say,sizeof say,"~w~Gast: ~y~%s",SpielerName(playerid));
format(say1,sizeof say1,"~w~Gehalt: ~g~%d$",payed[playerid]);
format(say2,sizeof say2,"~w~Status: ~y~Taxi-System");
format(say3,sizeof say3,"~w~Kilometer: ~y~%d",fkm[playerid]);
PlayerTextDrawSetString(fahrerid,Textwarn[fahrerid],say);
PlayerTextDrawSetString(fahrerid, Textzustand[fahrerid],say1);
PlayerTextDrawSetString(fahrerid,StatusJob[fahrerid],say2);
PlayerTextDrawSetString(fahrerid,Textstatus[fahrerid],say3);
//________________Passagier____________//
PlayerTextDrawShow(playerid, Textwarn[playerid]);
PlayerTextDrawShow(playerid, Textstatus[playerid]);
PlayerTextDrawShow(playerid, Textzustand[playerid]);
PlayerTextDrawShow(playerid, Job[playerid]);
PlayerTextDrawShow(playerid, Job1[playerid]);
PlayerTextDrawShow(playerid, StatusJob[playerid]);
format(say,sizeof say,"~w~Fahrer: ~y~%s ",SpielerName(fahrerid));
format(say1,sizeof say1,"~w~Kosten: ~r~%d$",payed[playerid]);
format(say2,sizeof say2,"~w~Status: ~y~Taxi-System");
format(say3,sizeof say3,"~w~Kilometer: ~y~%d",fkm[playerid]);
PlayerTextDrawSetString(playerid,Textwarn[playerid],say);
printf("say: %s ||| ID: %d", say, _:Textwarn[playerid]);
PlayerTextDrawSetString(playerid,Textzustand[playerid],say1);
PlayerTextDrawSetString(playerid,StatusJob[playerid],say2);
PlayerTextDrawSetString(playerid,Textstatus[playerid],say3);
if(!IsPlayerInAnyVehicle(fahrerid) || !IsPlayerInAnyVehicle(playerid))
{
if(pay_taxi[playerid] != -1) KillTimer(pay_taxi[playerid]);
pay_taxi[playerid] = -1;
player_taxi[playerid]=0;
payed[playerid]=0;
oldpayed[playerid]=0;
player_distance[playerid] = 0.0;
fkm[playerid] = 0;
PlayerTextDrawHide(playerid, Textwarn[playerid]);
PlayerTextDrawHide(playerid, Textstatus[playerid]);
PlayerTextDrawHide(playerid, Textzustand[playerid]);
PlayerTextDrawHide(playerid, Job[playerid]);
PlayerTextDrawHide(playerid, Job1[playerid]);
PlayerTextDrawHide(playerid, StatusJob[playerid]);
PlayerTextDrawHide(fahrerid, Textwarn[fahrerid]);
PlayerTextDrawHide(fahrerid, Textstatus[fahrerid]);
PlayerTextDrawHide(fahrerid, Textzustand[fahrerid]);
PlayerTextDrawHide(fahrerid, Job[fahrerid]);
PlayerTextDrawHide(fahrerid, Job1[fahrerid]);
PlayerTextDrawHide(fahrerid, StatusJob[fahrerid]);
}
return 1;
}
Den Teil bei OnPlayerStateChange machst du einfach weg.
Zwecks dem Textdraw das nicht angezeigt wird:
Poste nochmal den jetzigen Log.
Zwecks den 0$:
Steigt der Spieler denn erst ein, und gibt es dann ein, oder wie rum ist das? Und ab wann soll es die Textdraws anzeigen?
So sollte es passen:
CMD:help(playerid, params[])
{
new cmdstring[2000];
format(cmdstring,sizeof(cmdstring), "/Help - Um ins Hilfe Menu zu gelangen.\n /Teleports - Sieh dir die Liste aller Teleports an.\n /Regeln - Um die Server Regeln zu sehen.\n /Report - Um Regelverstösse zu Melden.\n");
format(cmdstring,sizeof(cmdstring), "%s/Credits - Guck dir die Mitwirkenden des Servers an.\n /DM1-7 - Betrete eines der 7 Deathmatches.\n /Duell - Miss dich mit anderen Spielern im 1vs1 Duell.\n ", cmdstring);
format(cmdstring,sizeof(cmdstring), "%s/Fallout - Pass auf das du nicht fällst.\n /Bank - Geh in eine Bank zu einem Bankautomaten, Starte ihn mit /ATM\n /Hauscmds - Kauf dir ein eigenes Haus.\n", cmdstring);
ShowPlayerDialog(playerid,Commandsdialog,DIALOG_STYLE_MSGBOX,"{FFFFFF}Commands",cmdstring,"Ok","Schließen");
return 1;
}
Und lese dir bitte diesen Thread durch:
Tipps: Scripting-Probleme richtig erklären
Schön erklärt weiter so
Danke. ![]()
Information:
Das Tutorial wurde aktualisiert. Die Fahrzeug-Erstellung erfolgt nun dynamisch.
Viel Spaß damit! ![]()
Ganz einfach:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new vID=GetPlayerVehicleID(playerid);
new vModel=GetVehicleModel(vID);
for(new i=0; i<sizeof(fahrzeugohneengine);i++) if(fahrzeugohneengine[i]==vModel) return 1;
TextDrawShowForPlayer(playerid,Text:Textdraw[28]);
TextDrawShowForPlayer(playerid,Text:Textdraw[29]);
TextDrawShowForPlayer(playerid,Text:Textdraw[30]);
TextDrawShowForPlayer(playerid,Text:Textdraw[31]);
TextDrawShowForPlayer(playerid,Text:Textdraw[32]);
TextDrawShowForPlayer(playerid,Text:Textdraw[33]);
TextDrawShowForPlayer(playerid,Text:Textdraw[34]);
TextDrawShowForPlayer(playerid,Text:Textdraw[35]);
TextDrawShowForPlayer(playerid,Text:Textdraw[36]);
TextDrawShowForPlayer(playerid,Text:Textdraw[37]);
TextDrawShowForPlayer(playerid,Text:Textdraw[38]);
return 1;
}
Auf Anfrage in PN:
Mach beim /enter Befehl mal das hier weg:
if(GetPlayerVirtualWorld(playerid)!=i)continue;