pessoal queria um comando para ganhar dinheiro por matar player, mais nгo sу isso, ex: um player que nasceu agora a morte dele vale 300, mais se ele mata 1 quem matar ele passa a ganhar 1300 e se ele matar outro antes de morrer ele vai passar a valer 2300 e assim sucessivamente, atй ele morrer e voltar a valer 300, tem como? pode me dar o code?
|
new valor_da_cabesa_do_champs_HAEUAEH[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
valor_da_cabesa_do_champs_HAEUAEH[playerid] = 300;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if (killerid != INVALID_PLAYER_ID)
{
GivePlayerMoney(playerid, +valor_da_cabesa_do_champs_HAEUAEH[playerid]);
valor_da_cabesa_do_champs_HAEUAEH[killerid] += 1000;
}
return 1;
}
if(strcmp(cmdtext,"/dormir",true) == 0)
{
GameTextForPlayer(playerid,"~r~ZzzZzZzZzZzZzZzZZ",2000,3);
ApplyAnimation(playerid,"CRACK","crckdeth4",4.0,0,0,0,1,0);
return 1;
}
CMD:dormir(playerid)
{
GameTextForPlayer(playerid,"~r~ZzzZzZzZzZzZzZzZZ",2000,3);
ApplyAnimation(playerid,"CRACK","crckdeth4",4.0,0,0,0,1,0);
return 1;
}
Eu postei lб no seu tуpico...
pawn Code:
|
S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1886) : warning 200: symbol "valor_da_cabesa_do_champs_HAEUA" is truncated to 31 characters
S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1954) : warning 200: symbol "valor_da_cabesa_do_champs_HAEUA" is truncated to 31 characters S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : error 029: invalid expression, assumed zero S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : warning 215: expression has no effect S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : error 001: expected token: ";", but found ")" S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : error 029: invalid expression, assumed zero S:\SkyDrive\Samp\gamemodes\Recomeзo2.pwn(1963) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors. |
new gHeadValue[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
gHeadValue[playerid] = 300;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if (killerid != INVALID_PLAYER_ID)
{
GivePlayerMoney(playerid, gHeadValue[playerid]);
gHeadValue[killerid] += 1000;
}
return 1;
}
Deve ser essa mesmo, obrigado !
![]() Basta diminuir o nome da var, eu fiz zoando. pawn Code:
|
Como seria para fazer o seguinte:
o player atinge 1400 Score assim atingindo o cargo mбximo, mas qd alguйm atingir 14001 o cargo mбximo serб setado a pessoa que estб com maior score e a outra perde um cargo se tornando cargo 2 por exemplo com 1400 scores e assim sucessivamente.... |
Uma maneira de retirar o player do carro mais eficiente, existem muitas formas de bugar o "RemovePlayerFromVehicle" exemplo: pilotar uma moto devagar, enfim, seu alguйm conhecer um jeito mais eficiente de retirб-lo eu ficaria grato ! Abrз.
|
Uma maneira de retirar o player do carro mais eficiente, existem muitas formas de bugar o "RemovePlayerFromVehicle" exemplo: pilotar uma moto devagar, enfim, seu alguйm conhecer um jeito mais eficiente de retirб-lo eu ficaria grato ! Abrз.
|
// Topo do GM
#define RemovePlayerFromVehicle RemovePlayerFromVehicleEx
stock RemovePlayerFromVehicleEx(playerid)
{
RemovePlayerFromVehicle(playerid);
SetTimerEx("SaiuVeiculo",1000,0,"id",playerid,GetPlayerVehicleID(playerid));
return 1;
}
forward SaiuVeiculo(playerid,vehicleid);
public SaiuVeiculo(playerid,vehicleid)
{
if(vehicleid >= 1)
{
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]+1.0);
}
return 1;
}
eu queria um sistema de recado que fica no canto mais presciso do lado do mapa com tamanho que с seja tгo grande ou nem tгo pequeno sistema tem que ser so pra admins e eles podem colocar IN-Game grato
![]() |
eu queria um sistema de recado que fica no canto mais presciso do lado do mapa com tamanho que с seja tгo grande ou nem tгo pequeno sistema tem que ser so pra admins e eles podem colocar IN-Game grato
![]() |
#include <a_samp>
#include <DOF2>
#define DIALOG_RECADO 2000
new Text:Recado;
new Fala[128];
new TextoRecado[128];
forward AtualizarRecado();
public AtualizarRecado()
{
format(Fala,sizeof(Fala),"%s",TextoRecado);
TextDrawSetString(Recado,Fala);
TextDrawShowForAll(Recado);
DOF2_SetString("Recado.ini","TextoRecado",TextoRecado);
DOF2_SaveFile();
return 1;
}
public OnGameModeInit()
{
Recado = TextDrawCreate(32.0, 317.0, "%s");
TextDrawSetOutline(Recado,1);
TextDrawFont(Recado,1);
TextDrawSetProportional(Recado,2);
TextDrawLetterSize(Recado,0.40,2.0);
TextDrawSetShadow(Recado,1);
TextDrawBackgroundColor(Recado,0);
TextDrawAlignment(Recado,0);
SetTimer("AtualizarRecado",5000,1);
strmid(TextoRecado,DOF2_GetString("Recado.ini","TextoRecado"),0,strlen(DOF2_GetString("Recado.ini","TextoRecado")),999);
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/recado",true) == 0)
{
if(IsPlayerAdmin(playerid))
{
ShowPlayerDialog(playerid,DIALOG_RECADO,DIALOG_STYLE_INPUT,"Recado","Digite no campo abaixo o novo texto do recado.","Trocar","Cancelar");
}
return 1;
}
return 1;
}
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid == DIALOG_RECADO)
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_RECADO,DIALOG_STYLE_INPUT,"Recado","Digite no campo abaixo o novo texto do recado.","Trocar","Cancelar");
return 1;
}
GameTextForPlayer(playerid,"~r~Texto trocado com sucesso!",5000,3);
strmid(TextoRecado,inputtext,0,strlen(inputtext),999);
}
return 1;
}
return 1;
}
{ if(classid == 0) { Gang[playerid] = 0; GameTextForPlayer(playerid,"~g~Groove Street",5000,5); } else if(classid == 1) { Gang[playerid] = 0; GameTextForPlayer(playerid,"~g~Groove Street",5000,5); } else if(classid == 2) { Gang[playerid] = 1; GameTextForPlayer(playerid,"~b~Gang Dos Ballas",5000,5); } else if(classid == 3) { Gang[playerid] = 1; GameTextForPlayer(playerid,"~b~Gang dos Ballas",5000,5); } else if(classid == 4) { Gang[playerid] = 2; GameTextForPlayer(playerid,"~y~Gang dos Vagos",5000,5); } else if(classid == 5) { Gang[playerid] = 2; GameTextForPlayer(playerid,"~y~Gang dos Vagos",5000,5); } else if(classid == 6) { Gang[playerid] = 3; GameTextForPlayer(playerid,"~b~Gang dos Aztecas",5000,5); } else if(classid == 7) { Gang[playerid] = 3; GameTextForPlayer(playerid,"~b~Gang dos Aztecas",5000,5); } SetPlayerPos(playerid,220.3261,1822.9734,7.5368); SetPlayerCameraLookAt(playerid,220.3261,1822.9734,7.5368); SetPlayerCameraPos(playerid,226.7491,1823.0441,7.4141); SetPlayerFacingAngle(playerid, 270 ); ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1); //smooth dancing CreateExplosion(212.9525,1822.9084,6.4141, 11, 10.0); return 1; }
if(DOF2_FileExists(Contas(playerid))) ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й registrado digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar"); else ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й registrado digite uma senha para se registrar!", "Confirma", "Cancelar"); TextDrawShowForPlayer(playerid, Textdraw0); TextDrawShowForPlayer(playerid, Textdrawa); TextDrawShowForPlayer(playerid, Textdraw1); OnPlayerCommandText(playerid,"/top5"); new pname[MAX_PLAYER_NAME]; new string[256]; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); format(string, sizeof(string), "[SERVER]: %s Entrou no Servidor!", pname); SendClientMessageToAll(0xFFED00FF, string);
{ switch(Gang[playerid]) { case 0: // Classid 0 { SetPlayerTeam(playerid, 0); SetPlayerPos(playerid,2529.2434,-1667.5001,15.1688); SetPlayerColor(playerid,COR_Verde); GivePlayerMoney(playerid, 1000); } case 1: // Classid 1 { SetPlayerTeam(playerid, 1); GivePlayerMoney(playerid, 1000); } case 2: // Classid 1 { SetPlayerTeam(playerid, 2); GivePlayerMoney(playerid, 1000); } case 3: // Classid 1 { SetPlayerTeam(playerid, 3); SetPlayerPos(playerid, 2232.2813,-1158.4985,29.7969); GivePlayerMoney(playerid, 1000); } } GangZoneShowForPlayer(playerid, Groove, gzcolor[0]); GangZoneShowForPlayer(playerid, Ballas, gzcolor[1]); GangZoneShowForPlayer(playerid, Vagos, gzcolor[2]); GangZoneShowForPlayer(playerid, Aztecas, gzcolor[3]); return 1; }
{ if(dialogid == DIALOG_REGISTRO) { if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar"); if(!response) return Kick(playerid); else { Player[playerid][Senha] = strval(inputtext); SalvarContas(playerid); ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar"); } } if(dialogid == DIALOG_LOGAR) { if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar"); if(!response) return Kick(playerid); else { Player[playerid][Senha] = DOF2_GetInt(Contas(playerid), "Senha"); if(strval(inputtext) == Player[playerid][Senha]) { Player[playerid][Matou] = DOF2_GetInt(Contas(playerid), "Matou"); Player[playerid][Morreu] = DOF2_GetInt(Contas(playerid), "Morreu"); Player[playerid][Dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro"); GivePlayerMoney(playerid, Player[playerid][Dinheiro]); Player[playerid][Gangue] = DOF2_GetInt(Contas(playerid), "Gangue"); SetPlayerTeam(playerid, Player[playerid][Gangue]); Player[playerid][Cor] = DOF2_GetInt(Contas(playerid), "Cor"); SetPlayerColor(playerid, Player[playerid][Cor]); Player[playerid][Cor] = DOF2_GetInt(Contas(playerid), "Skin"); SetPlayerSkin(playerid, Player[playerid][Skin]); StopAudioStreamForPlayer(playerid); SpawnPlayer(playerid); } else { ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar"); Erro[playerid]++; if(Erro[playerid] == 5) { scm(playerid, Neutra, "Sua conta estб banida por errar 5 vezes a sua senha."); Ban(playerid); } } } }
stock PlayerName(playerid) { new Name[MAX_PLAYERS]; GetPlayerName(playerid, Name, sizeof(Name)); return Name; } stock Contas(playerid) { new arquivo[40], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, 32); format(arquivo, 40, "Contas/%s.ini", name); return arquivo; } stock SalvarContas(playerid) { if(!DOF2_FileExists(Contas(playerid))) DOF2_CreateFile(Contas(playerid)); { Player[playerid][Dinheiro] = GetPlayerMoney(playerid); Player[playerid][Skin] = GetPlayerSkin(playerid); Player[playerid][Gangue] = GetPlayerTeam(playerid); Player[playerid][Cor] = GetPlayerColor(playerid); DOF2_SetInt(Contas(playerid), "Senha", Player[playerid][Senha]); DOF2_SetInt(Contas(playerid), "Matou", Player[playerid][Matou]); DOF2_SetInt(Contas(playerid), "Morreu", Player[playerid][Morreu]); DOF2_SetInt(Contas(playerid), "Dinheiro", Player[playerid][Dinheiro]); DOF2_SetInt(Contas(playerid), "Skin", Player[playerid][Skin]); DOF2_SetInt(Contas(playerid), "Gangue", Player[playerid][Gangue]); DOF2_SetInt(Contas(playerid), "Cor", Player[playerid][Cor]); DOF2_SaveFile(); } return 1; }
// Topo do GM
new Fala[128];
new Nome[24];
new Cadeia[MAX_PLAYERS];
new TempoCadeia[MAX_PLAYERS];
stock PlayerName(playerid)
{
GetPlayerName(playerid,Nome,sizeof(Nome));
return Nome;
}
forward AtualizarCadeia(playerid);
public AtualizarCadeia(playerid)
{
if(Cadeia[playerid] == 1 && TempoCadeia[playerid] >= 1)
{
TempoCadeia[playerid]--;
format(Fala,sizeof(Fala),"~r~Tempo Preso: ~w~%d",TempoCadeia[playerid]);
GameTextForPlayer(playerid,Fala,2000,3);
if(TempoCadeia[playerid] == 0)
{
Cadeia[playerid] = 0;
GameTextForPlayer(playerid,"~g~Livre!",5000,3);
SpawnPlayer(playerid);
}
}
return 1;
}
// OnGameModeInit
for(new i=0; i<MAX_PLAYERS; i++)
{
SetTimerEx("AtualizarCadeia",1000,1,"i",i);
}
// Topo do OnPlayerSpawn
if(Cadeia[playerid] == 1)
{
// Funзхes caso ele esteja preso
return 1;
}
// Comando
CMD:prender(playerid,params[])
{
new ID, Tempo, Causa[51];
if(sscanf(params,"uds[50]",ID,Tempo,Causa))
{
SendClientMessage(playerid,0xBFBFBFAA,"Use /prender [ID] [Tempo] [Causa]");
return 1;
}
if(!IsPlayerConnected(ID))
{
SendClientMessage(playerid,0xBFBFBFAA,"Player nгo online.");
return 1;
}
format(Fala,sizeof(Fala),"%s Foi preso pelo Admin %s, motivo: %s.",PlayerName(ID),PlayerName(playerid),Causa);
SendClientMessageToAll(0xFF8080AA,Fala);
Cadeia[ID] = 1;
TempoCadeia[ID] = Tempo;
SpawnPlayer(ID);
return 1;
}
Queria ajuda com esse sistema.
http://pastebin.com/WBC19U3k Queria que eu pudesse colocar letras e salvar ou bloquear o registro com letras (Sistema de login com include DINI) |
#include <a_samp>
#include <dini>
new Logado[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
new log[35];
new regstring[130];
format(log,sizeof log,"CONTAS/%s.ini",Nome(playerid));
if(!dini_Exists(log))
{
SendClientMessage(playerid,0x00FF00FF,"Seja bem vindo pela primeira vez. Por favor digite uma senha para se registrar.");
format(regstring,sizeof(regstring),"{FFE4E1}%s, vocк ainda nгo possui uma conta em nosso banco de dados.\nPor favor digite uma senha para se registrar.",Nome(playerid));
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{87CEEB}Registrar",regstring,"Registrar","Sair");
return 1;
}
SendClientMessage(playerid,0x00FFFFFF,"Digite sua senha no diбlogo abaixo para poder logar.");
format(regstring,sizeof(regstring),"{FAF0E6}%s, vocк jб possui uma conta no banco de dados.\nDigite sua senha abaixo para poder logar.",Nome(playerid));
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{F5F5F5}Logar",regstring,"Logar","Sair");
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
if(Logado[playerid] == 0)
{
SendClientMessage(playerid,0xFFFF45,"Antes de Spawnar logue-se.");
return 0;
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arq[30];
format(arq,sizeof arq,"CONTAS/%s.ini",Nome(playerid));
if(dialogid == 1)
{
if(response == 1)
{
new regstring[130];
dini_Create(arq);
SendClientMessage(playerid,0xFFFF47,"Sua conta foi registrada com sucesso! Logue-se no diбlogo abaixo.");
format(regstring,sizeof(regstring),"{FAF0E6}Parabйns %s, vocк registrou sua conta.\nDigite sua senha abaixo para poder logar.",Nome(playerid));
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{F5F5F5}Logar",regstring,"Logar","Sair");
dini_Set(arq,"Senha",inputtext);
return 1;
}
SendClientMessage(playerid,0xFFFF00,"Vocк usou a opзгo 'Sair' e foi kickado pelo servidor!");
Kick(playerid);
}
else if(dialogid == 2)
{
if(response == 1)
{
if(strcmp(dini_Get(arq,"Senha"), inputtext, true) == 0)
{
//Aqui coloca-se as variбveis do texto, como Level, dinheiro,etc.
SendClientMessage(playerid,0xFFFF43,"Vocк logou no servidor com sucesso!");
Logado[playerid] = 1;
return 1;
}
SendClientMessage(playerid,0xFFFF88,"Vocк digitou a senha incorretamente. Digite-a novamente.");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{F5F5F5}Logar","Digite a senha corretamente.","Logar","Sair");
return 1;
}
SendClientMessage(playerid,0xFFFF00,"Vocк usou a opзгo 'Sair' e foi kickado pelo servidor!");
Kick(playerid);
}
return 1;
}
stock Nome(playerid)
{
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
return nome;
}