Moin,
also ich habe mir jetzt einen /ticket Befehl erstellt
Macht man /ticket [ID] [Preis] [Grund] dann kommt wird ID den Preis abgezogen es sieht dann so aus:
Sampi gibt dir ein Ticket - Preis: $100 - Grund: .
Bei Grund ist ein . obwohl ich einen Grund angegeben habe
Und wie mache ich das der der ein Ticket bekommt erst /accept ticket machen muss und dann Geld abgezogen wird?
Das ist mein Code;
if(!strcmp(strget(cmdtext,0),"/ticket"))
{
{
if(!strlen(strget(cmdtext,1)))
return
SendClientMessage(playerid,COLOR_GREY,"Benutze: /ticket [ID] [Preis] [Grund]");
new string5[100];
new officer[MAX_PLAYER_NAME];
GetPlayerName(playerid, officer, sizeof(officer));
new giveticket = strval(strget(cmdtext,1));
new preis = strval(strget(cmdtext,2));
GivePlayerMoney(giveticket, -preis);
new grund = strval(strget(cmdtext,3));
format(string5, sizeof(string5), "*%s gibt dir ein Ticket.Kosten: $%d - Grund: %s.",officer,preis,grund);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string5);
}
return 1;
}
-
-
Wieso haste am anfang 2 { ?
-
Weil Pawno sonst abkackt^^
-
Dann hast du irgendwo anders ein Klammerfehler,aber so dürfte das eigtl gar nicht gehen.
Mach die andere mal hinter if(!strlen....
-
Also Funkionieren tuts schon Bloss bei Grund wird der Grund nicht angezeigt.
Gebe ich z.B /ticket 0 100 Verbrechen (0 ist die ID 100 das Geld und Verbrechen der Grund) dann sieht es so aus:Sampi gibt dir ein Ticket - Kosten $100 - Grund: .
Der Grund wird nur nicht angezeigt der Rest funkioniert^^
-
ahhhhhh,
glaub hab den fehler gefunden
Du hast ja grund = bla bla bla
da der Grund aber n String sein soll, brauch er auch einen parameter.
D.h. new grund[64];
grund = xxxx -
Danke,
und wie muss der Code dann aussehen? -
if(!strcmp(strget(cmdtext,0),"/ticket"))
{
{
if(!strlen(strget(cmdtext,1)))
return
SendClientMessage(playerid,COLOR_GREY,"Benutze: /ticket [ID] [Preis] [Grund]");
new string5[100];
new officer[MAX_PLAYER_NAME];
GetPlayerName(playerid, officer, sizeof(officer));
new giveticket = strval(strget(cmdtext,1));
new preis = strval(strget(cmdtext,2));
GivePlayerMoney(giveticket, -preis);
new grund[64] = strval(strget(cmdtext,3));
format(string5, sizeof(string5), "*%s gibt dir ein Ticket.Kosten: $%d - Grund: %s.",officer,preis,grund);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string5);
}
return 1;
}SO müsste er dann eigentlich aussehn
-
danke,bekomme aber einer error:
C:\DOKUME~1\Besitzer\EIGENE~1\EIGENE~3\79fgz6o9\dm\GAMEMO~1\BOOM-GM.pwn(595) : error 008: must be a constant expression; assumed zeronew grund[64] = strval(strget(cmdtext,3));
-
Der Thread ist zwar schon älter aber ich hab genau das gleich problem das bei Grund nur ein . kommt aber nicht das was geschrieben wurde könnte also bitte einer die Lösung posten?
-
probier ma
if(!strcmp(strget(cmdtext,0),"/ticket"))
{
if(!strlen(strget(cmdtext,1)))
{
SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /ticket [ID] [Preis] [Grund]"); return 1;
}
if(!strlen(strget(cmdtext,2)))
{
SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /ticket [ID] [Preis] [Grund]"); return 1;
}
if(!strlen(strget(cmdtext,3)))
{
SendClientMessage(playerid,COLOR_YELLOW,"Benutze: /ticket [ID] [Preis] [Grund]"); return 1;
}
new grund[128];
new ziel = strval(strget(cmdtext,1));
new preis = strval(strget(cmdtext,2));
grund = strget(cmdtext,3);
new officer[MAX_PLAYER_NAME];
new string[48];
GetPlayerName(playerid, officer, sizeof(officer));
format(string5, sizeof(string5), "*%s gibt dir ein Ticket.Kosten: $%d - Grund: %s.",officer,preis,grund);
SendClientMessage(ziel, COLOR_LIGHTBLUE, string5);
return 1;
}weiß aber nicht obs geht musst mal ausprobieren wenn fehler kommen sag bescheid^^
-
also wenn ich den text von samp ganz untern in meinen quelltext einfüge stürzt das ganze programm beim compilen ab was soll ich tun ?
-
breadfish.de
Hat das Thema geschlossen.