Was gibt es für Dialog-Format-Optionen?
\n Neue Zeile
\t Neuer Tab
\r Rechtsbündig (???)
Gibt es noch mehr?
Hier:
[ SCRIPTING ] SA:MP Escape Sequenzen (\n, \r...)
Was gibt es für Dialog-Format-Optionen?
\n Neue Zeile
\t Neuer Tab
\r Rechtsbündig (???)
Gibt es noch mehr?
Hier:
[ SCRIPTING ] SA:MP Escape Sequenzen (\n, \r...)
DIe Fehler?
VIel zu viele...
dialogid vergessen:
http://www.wiki.s-amp.com/wiki/ShowPlayerDialog
Dann hast du zu viele Klammern gehabt -> OnDIalogResponse
und wie gesagt falsche Angaben unter ShowPLayerDialog
Da waren ja mal ganz schön viele Fehelr drinne.
Habe es mal ausgebessert und getestet = Ergebnis: 0 Errors
#include <a_samp>
#include <dini>
#define blau 0x2800FFFF
#define DIALOG_REGISTER 2
#define DIALOG_LOGIN 1
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Enter your password below:","Login","Cancel");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Dann Gib Dein gewuenschtes Passwort ein","Register","Abbrechen");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_LOGIN)
{
if(response==0)
{
SendClientMessage(playerid , blau ,"Du Hast Den Vorgang abgebrochen");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Das password War Zu kurz");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde in unseren System Gefunden. bitte Gib das Passwort ein","Login","Abbrechen");
return 1;
}
Login(playerid, inputtext);
}
}
if(dialogid==DIALOG_REGISTER)
{
if(response==0)
{
SendClientMessage(playerid , blau ,"du Musst dich Registrieren");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,blau,"Das password War Zu kurz");
ShowPlayerDialog(playerid, DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Dann Gib Dein gewuenschtes Passwort ein","Register","Abbrechen");
return 1;
}
Register(playerid, inputtext);
}
}
return 0;
}
stock Register(playerid, key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,blau,"Registrierung war erfolgreich");
dini_IntSet(Spielerdatei,"Level",0);
return 1;
}
stock Login(playerid, key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
SendClientMessage(playerid , blau, "Erfolgreich Eingeloggt");
}
else
{
SendClientMessage(playerid,blau,"Falsches Passwort");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde in unseren System Gefunden. bitte Gib das Passwort ein","Login","Abbrechen");
}
return 1;
}
Bitteschön!
Alles anzeigenIch wünsche mir (da ich noch nicht so gut scripten kann) ein adminsystem wie HIER beschrieben wenn wer eins hat bitte link senden...
Oder das alte NovaEsports adminsystem das hatten die ja auch nur heruntergeladen
SUch doch mal im englischen Forum oder hier im Showroom (Gibt genügend)
Wer suchet der findet!
Dankeschön!
Aber ich habe bei manchen for(new Schleifen auch ein return 1; drinne und es
funktioniert Wie ist es denn wenn man eine Nachricht Mittels
for(new i; i<MAX_PLAYERS; i++)
abschicken möchte?
Da mache ich immer ein return 1; rein damit die Nachricht nicht
100x angezeigt wird. Ich glaube ihr soltle mir noch ein bischen etwas über die Schleifen erklären
new string[32]; for(new i=0;i<7;i++) { format(string,32,"Owner%d",i); dini_IntSet(zfile,string,Gebiete[i][gOwner]); }
Dankeschön
Habe aber gleich das nächste ProbleM:
Unswar wird nach dem Timer hier nur playerid 0 unfreezt:
rtimer = SetTimerEx("RaceCount",1000,1,"i",playerid);
else
{
for(new i; i < MAX_PLAYERS; i++)
{
if(vRacer[i] == 1)
{
KillTimer(rtimer);
GameTextForAll("~r~GOOOOOOOOOOOOOOO!!!",1050,4);
TogglePlayerControllable(i,1);
ClientLanguageText(i,COLOR_RED,"Du hast 5 Minuten Zeit bis das Rennen automatisch beendet wird.","You have 5 minutes until the race will automatically end!");
retimer = SetTimerEx("Rends",300000,false,"i",playerid);
}
return 1;
}
return 1;
}
Hallo,
ICh habe ein /carrespawn-Befehl für LEader eingerichtet,
jedoch wird immer nur das erste Vehicle respawned:
CMD:carrespawn(playerid,params[])
{
for(new i = 0; i <13; i++)
{
SetVehicleToRespawn(SASRVehs[i]);
ClientLanguageText(playerid,COLOR_GREEN,"Du hast alle Fraktionsautos respawned!","You respawned all faction cars!");
return 1;
}
return 1;
}
lg
@Bloody-Eric
Ok DAnke
@all
Gleich noch ne Frage hinterher:
WIe kann ich diesen PawnCode kürzen?
dini_IntSet(zfile,"Owner",Gebiete[0][gOwner]);
dini_IntSet(zfile,"Owner2",Gebiete[1][gOwner]);
dini_IntSet(zfile,"Owner3",Gebiete[2][gOwner]);
dini_IntSet(zfile,"Owner4",Gebiete[3][gOwner]);
dini_IntSet(zfile,"Owner5",Gebiete[4][gOwner]);
dini_IntSet(zfile,"Owner6",Gebiete[5][gOwner]);
dini_IntSet(zfile,"Owner7",Gebiete[6][gOwner]);
lg
Versuch's so:
if (strcmp("/carheal on", cmdtext, true, 10) == 0)
{
SetTimer("godmode", 1000,true);
}
forward godmode(vehicleid);
public godmode (vehicleid)
{
SetVehicleHealth(vehicleid, 1000.0);
return 1;
}
edit: Danke, hat sich erledigt
Hallo,
Ich habe vor ; GetPlayerPos,GetPlayerVirtualWorld,GetPlayerInterior; in einer Varibale zu speichern
und wenn man einen Befehl eingibt wird man mittels der Angaben dort hin befördert. Jedoch weiß ich nicht
wie ich es anstellen könnte.
DIe Funktion heißt ja GetPlayerInterior(playerid) aber ich kann es so ja nich in einer VAribale speichern ???
lg
Pawn ist singlethreaded, wenn dazwischen irgendwelcher anderer Code ausgeführt wird "verschiebt sich" der Timer nach hinten. Also kann man da nur noch nach Gefühl die Zeit etwas geringer setzen, damit es zum gewünschten Zeitpunkt ausgeführt wird.
Achso ok... Aber es heißt jetzt nicht, dass ich "blöd" gescriptet habe oder?
lg
Ich habe ein Problem mit einem Timer.
Unswar gebe ich bei SetTimer ein: 19000,
die FUnktion wird aber erst nach 25 Sekunden ausgeführt
Mein COuntdown hört komischerweise bei 2 auf ???
forward kcountTimer(playerid);
public kcountTimer(playerid)
{
new textformat[32];
format(textformat,sizeof textformat,"Respawn : %d",kcdown);
TextDrawShowForPlayer(playerid,htextdraw);
TextDrawSetString(htextdraw,textformat);
kcdown --;
if(kcdown == 0){
KillTimer(kcounttimer);
TextDrawDestroy(htextdraw);
kcdown = 0;
}
return 1;
}
edit:// erledigt!
Ganz komische Frage mal
Also normal wenn man einen Text schreibt kann man den ja mit TAB einrücken etc.
Jedoch funktioniert das nicht mit SendClientMessage...
lg
Wenn du dir einen zusammenstellst, kriegste dieselbe Leistung blöoß billiger
Hab ich auch gemacht 500€ statt 700€ bezahlt
forceplayertospawn oder so
einfahc mal in der wiki suchen
mfg
Das geht ja mit SPawnPlayer(playerid);
jedoch bleibt die Auswahl ja noch
Ok ich muss mir mal echt angewöhnen simpler zu denken
Bei mir sieht'S jetzt so auis:
if(Krankenhaus[playerid] == 1)
{
for (new MSGC=0; MSGC<=1; MSGC++)
SendClientMessage(playerid, COLOR_LIGHTBLUE ," ");
ResetPlayerWeapons(playerid);
ClientLanguageText(playerid, COLOR_RED," * Du bist im Krankenhaus!"," * You are at the hospital!");
KillTimer(KHtimer);
SpawnPlayer(playerid);
KHtimer = SetTimerEx("KrankenhausTimer",KRANKENHAUS_ZEIT*1000,0,"i",playerid);
TogglePlayerControllable(playerid, 0);
SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
SetPlayerInterior(playerid, 0);
Krankenhaus[playerid] = 1;
return 1;
}
Jedoch wird die Auswahl immernoch angezeigt. Ich bin zwar am Krankenhaus, aber es wird der linke,rechte und spawn-button angezeigt.
Wenn ich dann etwas auswähle lande ich irgendwo im grauen ???