Dann fehlen euch wohl auch noch die Microsoft Visual C++ Installationen. Schaut da mal bei Microsoft nach und installiert die 2013'er Versionen.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Fehler behoben musste alle für 32 bit installieren, OBWOHL es ein 64bit System ist :o - Dafür 3,5h geqäult windoof
-
OBWOHL es ein 64bit System ist
Was hat das damit zu tun ?
SA:MP ist nunmal eine 32 Bit und keine 64 Bit Anwendung. -
Möchte jetzt ein Befehl erstellen womit sich ein Dialog öffnet mit dem Typ DIALOG_STYLE_LIST, und dann wenn man eine Sache angeklickt hat, sich halt ein Fenster öffnet wo eine Beschreibung von mir ist.
Kann mir das mal einer vor machen?Meiner sieht zZ so aus:
if(strcmp("/items",cmdtext, true,10) == 0)
{
ShowPlayerDialog(playerid, DIALOG_ITEMS, DIALOG_STYLE_LIST, "Items Help", "Bloodbag\nMedkit\nBandage", "Explain", "Back"); -
if(strcmp("/items",cmdtext, true) == 0)
{
ShowPlayerDialog(playerid, DIALOG_ITEMS, DIALOG_STYLE_LIST, "Items Help", "Bloodbag\nMedkit\nBandage", "Explain", "Back");
return 1;
}OnDialogResponse:
if(dialogid == DIALOG_ITEMS)
{
if(response)
{
switch(listitem)
{
case 0: ShowPlayerDialog(playerid, DIALOG_EXPLANATION, DIALOG_STYLE_MSGBOX, "Explanation", "Das ist ein ...", "Ok", "");
case 1: ShowPlayerDialog(playerid, DIALOG_EXPLANATION, DIALOG_STYLE_MSGBOX, "Explanation", "Das ist ein ...", "Ok", "");
case 2: ShowPlayerDialog(playerid, DIALOG_EXPLANATION, DIALOG_STYLE_MSGBOX, "Explanation", "Das ist ein ...", "Ok", "");
}
}
return 1;
} -
Wie kann ich Zahlen Regenerieren für z.B einen Gutschein Code?!
-
Wie kann ich Zahlen Regenerieren für z.B einen Gutschein Code?!
new code = random(999998)+1; -
-
Das bedeutet, dass dir eine Zahl zwischen 1 und 999999 generiert wird.
-
-
-
Dass du nicht die 0 als Code bekommst.
new code[7];
format(code, 7, "%06d", random(999998)+1); -
-
new code[20];
format(code, 20, "%04d-%04d-%04d-%04d", random(10000), random(10000), random(10000), random(10000)); -
ocmd:createcode(playerid)
{
new code[20];
format(code, 20, "%04d-%04d-%04d-%04d", random(10000), random(10000), random(10000), random(10000));
SendClientMessage(playerid,ROT,"Gutscheincode : %s",code);}
Wie kann ich das im Dini Speichern und dann auch was zuweisen also z.B Geld.
-
ocmd:createcode(playerid, params[])
{
new code[40], str[145];
format(code, sizeof(code), "%04d-%04d-%04d-%04d", random(10000), random(10000), random(10000), random(10000));
format(str, sizeof(str), "Gutscheincode : %s",code);
SendClientMessage(playerid,ROT,str);
format(code, sizeof(code), "/codes/%s.txt", code);
dini_Create(code);
dini_IntSet(code, "Geld", 1000);
return 1;
}Nicht vergessen den Ordner "codes" in den scriptfiles zu erstellen.
-
Jeffry: mein Freund, ich hätte da noch eine Frage zu meinem Item Befehl, wo sich ein Dialog öffnet.
Zurzeit habe ich folgenden Befehl:
/items, Dialog öffnet sich, Sachen sind aufgelistet und wenn ich drauf klicke öffnet sich eine Beschreibung.
Nur, ich möchte das so haben: /items, "Oberbegriffe" öffnen sich "also z.B Medizin, Tools etc" und danach kommen die einzelnen Sachen, und wenn ich dadrauf klicke kommen die Beschreibungen.
Was muss ich noch umändern bzw hinzufügen?
Danke
-
Nach gleichem Prinzip:
if(dialogid == DIALOG_ITEMS)
{
if(response)
{
switch(listitem)
{
case 0: ShowPlayerDialog(playerid, DIALOG_ITEMS_UNTER1, DIALOG_STYLE_LIST, "Obst", "Apfel\nBirne", "Ok", "Ende");
case 1: ShowPlayerDialog(playerid, DIALOG_ITEMS_UNTER2, DIALOG_STYLE_LIST, "Gemüse", "Tomate\nGurke", "Ok", "Ende");
case 2: ShowPlayerDialog(playerid, DIALOG_ITEMS_UNTER3, DIALOG_STYLE_LIST, "Baum", "Fichte\nBuche", "Ok", "Ende");
}
}
return 1;
}if(dialogid == DIALOG_ITEMS_UNTER1)
{
if(response)
{
switch(listitem)
{
case 0: ShowPlayerDialog(playerid, DIALOG_EXPLANATION, DIALOG_STYLE_MSGBOX, "Explanation", "Das ist ein ...", "Ok", "");
case 1: ShowPlayerDialog(playerid, DIALOG_EXPLANATION, DIALOG_STYLE_MSGBOX, "Explanation", "Das ist ein ...", "Ok", "");
case 2: ShowPlayerDialog(playerid, DIALOG_EXPLANATION, DIALOG_STYLE_MSGBOX, "Explanation", "Das ist ein ...", "Ok", "");
}
}
return 1;
}if(dialogid === DIALOG_ITEMS_UNTER2)
{
//...
} -
So mein liebster Jeffry, ich habe da auch nochmal eine kleine Frage an dich. Jemand anderen scheint es hier ja nicht zu geben.
Ich will über ein Dialog die eindeutige Teamspeak-ID abspeichern. Die Dialogfunktion läuft wunderbar. Leider habe ich nun ein Problem mit der Variable, worin er die ID speichern soll. So sieht es momentan aus:
enum SpielerDaten
{
pTID[128],
}
new SpielerInfo[MAX_PLAYERS][SpielerDaten];public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
if(dialogid == DIALOG_TID){
if(response){
if(strlen(inputtext) == 28){
SetPVarString(playerid, inputtext, SpielerInfo[playerid][pTID]);
//SpielerInfo[playerid][pTID] = inputtext; // Habs auch schon so versucht, da schmeißt er mir aber einen do-not-match error aus.
new string[128];
format(string, 128, "[Info] Deine Teamspeak-ID wurde erfolgreich in '%s' geändert.", SpielerInfo[playerid][pTID]); // Hier gibt er mir nur eine "-1" aus.
//format(string, 128, "[Info] Deine Teamspeak-ID wurde erfolgreich in '%s' geändert.", inputtext); // So wird die ID wunderbar ausgegeben
SendClientMessage(playerid, COLOR_GREY, string);
}else{
SendClientMessage(playerid, COLOR_GREY, "[Info] Die Teamspeak-ID ist ungültig. Bitte versuche es erneut oder wende dich an den Support.");
}
}
}
}
Das Problem liegt bestimmt am SetPVarString, der die Variable nicht abspeichert. Hast Du eine Idee? Ich danke dir für deine tolle Hilfe! Finde ich echt klasse wie aktiv Du dich hier kümmerst. -
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
if(dialogid == DIALOG_TID){
if(response){
if(strlen(inputtext) == 28){
format(SpielerInfo[playerid][pTID], 128, inputtext);
new string[145];
format(string, 145, "[Info] Deine Teamspeak-ID wurde erfolgreich in '%s' geändert.", SpielerInfo[playerid][pTID]);
SendClientMessage(playerid, COLOR_GREY, string);
}else{
SendClientMessage(playerid, COLOR_GREY, "[Info] Die Teamspeak-ID ist ungültig. Bitte versuche es erneut oder wende dich an den Support.");
}
}
}
}format ist das Zauberwort.
-
format ist das Zauberwort.
Hätte ich mir schon fast gedacht... Hatte zuerst gegoogled und so ein ähnliches Problem gefunden aber es dann doch nicht direkt probiert. Dankeschön, funktioniert wunderbar!